Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Slow buffer updates with Undotree plugin

未關閉
#1,420 2 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
macos, vim

研究方向

使用 MacVim 搭配 mvim -u vimrc、packadd undotree 以及 :UndotreeToggle 重現延遲,然後按照描述將其與 mvim -v -u vimrc 進行比較。追蹤復原、重做或連接行時涉及的 GUI 路徑;當 Undotree 檢視開啟時這些操作不再明顯變慢後,該 issue 就完成了。

由索引模型根據 Issue 內容生成。

描述

Undotree is a plugin that adds a visual representation of Vim's undo tree. When this tree view is open, certain operations (undo, redo, joining lines) are slow in the GUI, but not in the terminal.

To reproduce:

  1. Add the Undotree plugin to ~/.vim/pack/mbbill/opt/undotree so that it will be found by packadd:
mkdir -p ~/.vim/pack/mbbill/opt
git clone https://github.com/mbbill/undotree ~/.vim/pack/mbbill/opt
  1. Start MacVim with mvim -u vimrc where vimrc is
set nocompatible
set undofile
packadd undotree
  1. Open the undo tree visualiser added by Undotree: :UndotreeToggle
  2. Insert 100 lines: 100ii<CR><Esc>
  3. Go the first line: gg
  4. Join all the lines: Hold J

There should be noticeable lag. Now repeat steps 1-6 except with mvim -v -u vimrc in step 2. Joining the lines should be quite snappy.

I've attached two videos below showing the behaviour in each case, and I've included my system details.

GUI:

https://github.com/macvim-dev/macvim/assets/123784102/4e1828c4-4e40-4f29-9171-6c77a1b15f9e

Terminal.app:

https://github.com/macvim-dev/macvim/assets/123784102/26cc3bda-fd04-4165-9bd1-712da0132d45

System details:
OS: macOS Ventura 13.4 arm64
Shell: zsh 5.9
Terminal: Terminal.app
$TERM: xterm-256color
Vim: Downloaded from GitHub Releases

主要語言
Vim Script
星號
7.9k
分支
691
PR 合併指標
30 天內沒有已合併 PR

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

macvim-dev/macvim 的其他 Issue

查看 macvim-dev/macvim 的全部 Issue

相似的 Issue

更多 Desktop Dev Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。