vim-NERDTree:订购书签?

时间:2011-07-04 09:48:06

标签: vim nerdtree

有没有办法订购我在NERDTree vim插件中看到的书签?

我觉得这应该很简单,但我不知道该怎么做。我vim'ed ~/.NERDTreeBookmarks并且看到在那个文件中,书签的顺序是正确的,但似乎根据我使用的顺序不断重新组织书签 - 这不是我想要的。我也做了:ReadBookmarks命令,但似乎没有改变顺序。

3 个答案:

答案 0 :(得分:10)

我遇到了同样的问题,并设法关闭了NERDTree古怪的书签排序。打开NERD_tree.vim插件文件(通常为~/.vim/plugin/NERD_tree.vim)。搜索此行:

call s:Bookmark.Sort()

该行应该有两个实例(在NERDTree版本4.2.0中,它们位于209和286行)。通过在他们面前添加"来注释掉这两行:

"call s:Bookmark.Sort()

现在您可以修改~/.NERDTreeBookmarks,您的书签将以与文件中相同的顺序显示在NERDTree中。编辑文件后,您可以使用:ReadBookmarks刷新书签列表。

答案 1 :(得分:5)

作为上述alxm优秀答案的更新,这些行已被移至新文件中。在我的硬盘上~/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim(我使用vundle)。在vanilla vim安装中,它很可能位于~/.vim/plugin/nerdtree/lib/nerdtree/bookmark.vim

1。编辑bookmark.vim文件

我注释了以call sort...开头的第24行(第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

2。退出vim

退出vim是因为你想重新加载你的插件,特别是NERDTree。

3。编辑〜/ .NERDTreeBookmarks文件。

按照您希望的顺序排列.NERDTree现在尊重您的意愿。你庄严,衷心的书签排序愿望。

4。再次启动vim

当然每个人都已经知道这一点,但我认为这个答案需要第四步。

答案 2 :(得分:3)

不确定从什么时候起,您现在可以设置NERDTreeBookmarksSort

let g:NERDTreeBookmarksSort=0

然后根据需要修改~/.NERDTreeBookmarks

查看:help NERDTreeBookmarksSort了解更多详情。