Посмотреть список последних документов в Vim

Есть ли способ просмотреть список последних документов, которые вы открыли в Vim? Я понимаю, что могу просмотреть список переходов курсора, :ju, а затем перейдите к позиции курсора в списке, но это не идеально, поскольку в списке будет несколько списков одного и того же документа. Есть ли другая команда, которая будет делать то, что я ищу?

10 ответов

Решение

Не используйте плагин, если вы не хотите хорошее меню. Из документации Vim: запуск (или :help old):

:ol[dfiles]

Затем, чтобы открыть один из перечисленных файлов, используйте: '0, '1, '2... '9


Список файлов с пометками, хранящимися в viminfo файл.

:bro[wse] ol[dfiles][!]

Перечислите имена файлов как с :oldfiles, а затем запросите номер. Когда номер действителен, этот файл из списка редактируется. использование ! отказаться от модифицированного буфера.

Плагин "Последние использованные" (MRU) обеспечивает легкий доступ к списку недавно открытых / отредактированных файлов в Vim. Этот плагин автоматически сохраняет имена файлов при их открытии / редактировании в Vim.

http://www.vim.org/scripts/script.php?script_id=521

Кроме того :oldfiles, fzf.vim имеет :History,

Запустите Vim и нажмите Ctrl-oo, чтобы открыть ранее отредактированный файл. Продолжайте нажимать o (продолжая нажимать клавишу Ctrl), чтобы вернуться к предыдущим файлам. Смотрите https://dev.to/jovica/3-little-known-but-useful-vim-tips-1pbg

Плагин Vim: MiniBufexpl может помочь вам. список открытых файлов отображается в верхней или нижней части экрана:

в нормальном режиме vim введите :b${bufid}, чтобы перейти к буферу ${bufid}_th, например: введите :b13, чтобы перейти к 13-му буферу, т.е. ngx_mail_ssl_module.c.

Кроме того, вы можете отобразить некоторые удобные привязки в вашем vimrc, такие как:

" ------------------------------- minibufexpl mappings -----------------------------------
"let g:miniBufExplSplitBelow=1
nnoremap <silent> <leader>bn :bn<cr>
nnoremap <silent> <leader>bp :bp<cr>
nnoremap <silent> <leader>bf :bf<cr>
nnoremap <silent> <leader>bl :bl<cr>
nnoremap <silent> <leader>bt :TMiniBufExplorer<cr>

Получить плагин можно здесь: https://github.com/fholgado/minibufexpl.vim

В дополнение к oldfiles есть хорошая вещь, которая называется tinyMRU.

Единственная цель Vim-tinyMRU - предоставить интуитивно понятную альтернативу встроенной команде:oldfile. Ни больше ни меньше.

Это очень просто:

https://github.com/romainl/vim-tinyMRU/blob/master/plugin/tinymru.vim

Хороший плагин https://github.com/Shougo/denite.nvim

Ты можешь позвонить :Denite file_old чтобы нечеткий поиск по списку старых файлов. В частности, просто ударяя Enter откроет последний открытый файл Назначение ярлыка для этого полезно:

nnoremap <leader>o :Denite<space>file_old<CR>

Это экономит несколько нажатий клавиш по сравнению с :browse oldfiles, q, 1, Enter

:olработает, но почему бы не использовать нечеткий поиск, чтобы быстро найти точное совпадение из длинного списка файлов?

Есть очень удобный плагин ctrlp, который позволяет использовать :CtrlPMRU, и вы можете быстро получить то, что вы ищете.

На протяжении многих лет ctrlp был одной из первых вещей, которую я устанавливал для vim!

https://github.com/ctrlpvim/ctrlp.vim

Нет прямого ответа, но связанный.

вы можете определить aliases чтобы открыть последний открытый файл (ы) с помощью vim:

      alias vil='vim -c "normal! '\''0"' # open the last file
alias vil1='vim -c "normal! '\''1"'  # open the second last file ...
alias vil2='vim -c "normal! '\''2"'

Для меня проще всего получить доступ к последним файлам, добавив в свой файл.gvimrc следующее:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

Эти строки заставляют netrw сортировать файлы по тем, которые были недавно изменены. Тогда просто зовут:e. и выбирает нужный файл.

Это решение предполагает, что файлы сохраняются в одном главном каталоге, указанном в.gvimrc. Например

cd ~/vim
Другие вопросы по тегам