Vim-NERDTree: заказывать закладки?

Есть ли способ заказать закладки, которые я вижу с помощью плагина NERDTree vim?

Я чувствую, что это должно быть просто, но я не знаю, как это сделать. Я vim'ed ~/.NERDTreeBookmarks и увидел, что в этом файле закладки находятся в правильном порядке, но, похоже, они постоянно реорганизуют закладки в соответствии с порядком, который я им использую, - это не то, что я хочу. Я также сделал команду :ReadBookmarks и, похоже, не изменил порядок.

Ответ 1

У меня была такая же проблема, и мне удалось отключить сортировку NERDTree wacky. Откройте файл плагина 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, чтобы обновить список закладок после редактирования файла.

Ответ 2

Как обновление для alxm превосходного ответа выше, строки (-ы) были перенесены в новый файл. На моем жестком диске это в ~/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim (я использую vundle). В установке vimon vim она, скорее всего, будет в ~/.vim/plugin/nerdtree/lib/nerdtree/bookmark.vim.

1. Измените файл 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

2. Выход из vim

Выход из vim, потому что вы хотите перезагрузить плагины, в частности NERDTree.

3. Измените файл ~/.NERDTreeBookmarks.

Поместите их в том порядке, в котором вы хотите. NERDTree теперь уважает ваши пожелания. Ваша торжественная, сердечная закладка, сортирующая пожелания.

4. Запустите vim снова

Конечно, все это уже знают, но я подумал, что для этого ответа нужен четвертый шаг.

Ответ 3

Не уверен, что, хотя вы теперь можете установить NERDTreeBookmarksSort.

let g:NERDTreeBookmarksSort=0

Затем отредактируйте ~/.NERDTreeBookmarks, как вы хотите заказать.

Проверьте :help NERDTreeBookmarksSort для более подробной информации.