vim/NERDtree/folding - 它能记住折叠的状态吗?

标签 vim folding nerdtree

有没有办法让 NERDtree 在从一个缓冲区切换到另一个缓冲区时记住折叠的状态?

这是我完整的 .vimrc:

set ignorecase
set scs
let perl_fold=1
hi Folded cterm=bold ctermfg=yellow ctermbg=lightblue
set modeline

cabbr N NERDTree

这是我观察到的:

  • 启动 NERDTree
  • 选择一个文件并使用空格键在新缓冲区中打开它(所有折叠都关闭)
  • 在缓冲区中打开一些折叠
  • C-w 返回 NERDTree
  • 选择不同的文件,使用空格键打开它
  • C-w 返回 NERDTree
  • 选择第一个文件,按空格键

我最初打开的折叠现在已经关闭。 我正在编辑 perl 文件,因此 perl_fold=1 有效。 我希望当我从一个文件跳到另一个文件时能够记住折叠的状态。

最佳答案

您确定 <Space> 吗?映射?我没有在 NERDTree 的帮助中看到它。

无论如何,NERDTree 与您的缓冲区内容或状态无关,它只是一个文件浏览器。

如果没有某种机制来保持缓冲区的状态,当您打开新文件时,您的折叠就会丢失。幸运的是,您可以添加 set hidden到你的 .vimrc。

有了它,缓冲区会一直保留,直到您使用 :bd 显式删除它们为止。 。这意味着当您返回到以前的文件时,无论是使用 NERDTree 还是使用 :b <Tab> ,您仍然保留折叠。 .

Vim wiki 有 nice pages关于缓冲区。

关于vim/NERDtree/folding - 它能记住折叠的状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221318/

相关文章:

VIM折叠所有东西,除了其他东西

vim - 为什么我的 Nerd 树有这些奇怪的字符

vim - 如何在 ViM 中撤消 C-s C-x?

git - 尝试执行基本 git 操作时获取 "Vim: Caught deadly signal ILL"

vim - 单击时从 Nerd 树复制路径

vim - 如何更改 VIM 中的 Tab 键顺序?

vim - 在 VIM (ubuntu) 中,Nerdtree 未被识别为命令

vim - 使 vim ' % ' 命令在 verilog 类型代码中更有用

vim - 创建新折叠时阻止 Vim 打开所有后续关闭的折叠

c# - 语义#region 用法