【问题标题】:delay when opening a new tab in NERDTree在 NERDTree 中打开新选项卡时出现延迟
【发布时间】:2018-07-28 17:23:51
【问题描述】:

从大约 2 周前开始,当我在 NerdTree 的新选项卡中打开文件时,速度非常慢,打开文件大约需要几秒钟。

文件大小无关紧要,即使我打开一个包含 1 行的文件,它仍然需要相同的时间。如果我在当前选项卡中打开文件,它是即时的。如果我使用内置的 vims 探索和标签打开它是即时的。

我的 .vimrc 中有以下 NERDTREE 配置:

" Find
map <Leader>v :NERDTreeFind<CR>
" Toggle
map <Leader>f :NERDTreeToggle<Enter>

" Close Automatically
let NERDTreeQuitOnOpen = 1

" Automatically delete the buffer of the file you just deleted with NerdTree:
let NERDTreeAutoDeleteBuffer = 1

let NERDTreeShowHidden=1  " show hidden files in nerdtree
let NERDTreeShowBookmarks=1 " Display NERDTree Bookmarks

"NERDTree filter out file extentions
let NERDTreeIgnore = ['\.swo$', '\.swp$']

Vim 版本:

VIM - Vi IMproved 8.1(2018 年 5 月 17 日,2018 年 5 月 25 日 00:50:25 编译)

我已经卸载并安装了 NERDTree。我正在努力解决这个问题。有什么建议吗?

【问题讨论】:

  • 打开一个文件然后调用:messages查看是否有错误信息?我曾经有过这个,但它只是我最近安装的一个插件。通过消除过程,尝试禁用一些插件以查看它何时停止。最喜欢与语法高亮有关。
  • 如果你从终端打开文件时也有延迟(例如vim file.txt),那么它可能与NERDTree无关。

标签: vim nerdtree


【解决方案1】:

在我的 vimrc 中手动注释所有内容之后。(我在 git 上做了备份)。我逐块调试了我的 .vimrc 块,发现我的标签快捷方式是罪魁祸首:

" Tab cycle
nnoremap th  :tabfirst<CR>
nnoremap tk  :tabnext<CR>
nnoremap tj  :tabprev<CR>
nnoremap tl  :tablast<CR>
nnoremap tt  :tabedit<Space>
nnoremap tn :tabnew<CR>
nnoremap tm  :tabm<Space>
nnoremap td  :tabclose<CR>

我怀疑是因为我使用“t”打开一个新标签,并且标签循环快捷方式相似,也许这导致了延迟?

【讨论】:

  • t 是一个非常有用的命令(参见:h t)。你确定你真的要覆盖它吗?
  • 有趣。谢谢。我现在使用空格 + j/k 或空格 +1/2/3 来切换标签
  • 我觉得您可能正在做一个以标签为中心的工作流程。这没什么错,但您可能想多看一些缓冲区。一些阅读材料:Using Vim's tabs like buffersWhy do Vim experts prefer buffers over tabs?Use buffers effectivelyIntresting comment on r/vim
  • 有趣的是我刚刚发现了缓冲区。我发现它与标签非常相似。我正在努力适应。谢谢:)
  • 啊,我刚刚有一个轻松的构建时刻。我并没有真正看到使用缓冲区的好处,但它现在才打动了我。在多个窗口中处理多个文件时,缓冲区优于选项卡。因为您可以安排任何缓冲区(文件)在任何窗口中打开,并且所有缓冲区都共享以被安排和使用。使用选项卡时,您只能在选项卡中处理一定数量的文件。
猜你喜欢
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 2022-01-15
相关资源
最近更新 更多