有没有办法订购我在NERDTree vim插件中看到的书签?
我觉得这应该很简单,但我不知道该怎么做.我vim'ed ~/.NERDTreeBookmarks
并看到在该文件中,书签的顺序是正确的,但似乎根据我使用它们的顺序不断重新组织书签 - 这不是我想要的.我也做了:ReadBookmarks
命令,但似乎没有改变顺序.
小智 10
我有同样的问题,并设法关闭NERDTree古怪的书签排序.打开NERD_tree.vim
插件文件(通常~/.vim/plugin/NERD_tree.vim
).搜索此行:
call s:Bookmark.Sort()
Run Code Online (Sandbox Code Playgroud)
该行应该有两个实例(在NERDTree版本4.2.0中,它们位于209和286行).通过"
在它们前面添加这两行注释掉:
"call s:Bookmark.Sort()
Run Code Online (Sandbox Code Playgroud)
现在您可以编辑~/.NERDTreeBookmarks
,您的书签将以与文件中相同的顺序显示在NERDTree中.:ReadBookmarks
编辑文件后,您可以使用刷新书签列表.
作为上述alxm优秀答案的更新,这些行已被移动到一个新文件中.在我的硬盘上它~/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim
(我使用vundle).在香草vim安装中,它很可能会在~/.vim/plugin/nerdtree/lib/nerdtree/bookmark.vim
.
我注释了以call sort...
(第246行)开头的行,如下所示:
" This is in ~/.vim/<PLUGINDIR>/nerdtree/lib/nerdtree/bookmark.vim
" FUNCTION: Bookmark.Sort() {{{1
" Class method that sorts all bookmarks
function! s:Bookmark.Sort()
let CompareFunc = function("nerdtree#compareBookmarks")
"call sort(s:Bookmark.Bookmarks(), CompareFunc)
endfunction
Run Code Online (Sandbox Code Playgroud)
退出vim是因为你想重新加载你的插件,特别是NERDTree.
按照你想要的顺序把它们放进去.NERDTree现在尊重你的意愿.您庄严,衷心的书签排序愿望.
当然每个人都已经知道这一点,但我认为这个答案需要第四步.