Посмотреть список последних документов в Vim
Есть ли способ просмотреть список последних документов, которые вы открыли в Vim? Я понимаю, что могу просмотреть список переходов курсора, :ju
, а затем перейдите к позиции курсора в списке, но это не идеально, поскольку в списке будет несколько списков одного и того же документа. Есть ли другая команда, которая будет делать то, что я ищу?
10 ответов
Не используйте плагин, если вы не хотите хорошее меню. Из документации Vim: запуск (или :help old
):
:ol[dfiles]
Затем, чтобы открыть один из перечисленных файлов, используйте: '0
, '1
, '2
... '9
Список файлов с пометками, хранящимися в viminfo
файл.
:bro[wse] ol[dfiles][!]
Перечислите имена файлов как с :oldfiles
, а затем запросите номер. Когда номер действителен, этот файл из списка редактируется. использование !
отказаться от модифицированного буфера.
Плагин "Последние использованные" (MRU) обеспечивает легкий доступ к списку недавно открытых / отредактированных файлов в Vim. Этот плагин автоматически сохраняет имена файлов при их открытии / редактировании в Vim.
Запустите 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!
Нет прямого ответа, но связанный.
вы можете определить
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