Недавняя история файлов в Vim?
Я хотел бы получить доступ к недавним файлам, которые я открыл, а затем закрыл в GVim. Я часто открываю и закрываю GVim. Я хотел бы получить доступ к недавним файлам и с предыдущих сеансов.
Хранит ли GVim последние файлы где-то в виде Word и многих других настольных приложений? Как получить к ним доступ?
Ответы
Ответ 1
По крайней мере, терминал vim хранит предыдущие десять файлов в ~/.viminfo
в разделе файловых полей. Вы можете использовать '0
, '1
, '2
,... '9
для перехода между ними.
(Вероятно, полезно только для '0
, чтобы вернуться к последнему файлу, который вы редактировали, если ваша память больше, чем моя.)
Вы также можете использовать команду :browse oldfiles
для получения меню с номерами.
Ответ 2
Лучший способ, которым я пользуюсь, -
:browse oldfiles
Самый простой способ на vim.
Ответ 3
Существует mru.vim, который добавляет команду :MRU
.
Ответ 4
Очень поздний ответ здесь... излагая ответ @sarnolds - вы можете просмотреть историю файлов с помощью команды oldfiles @see: h oldfiles или: h viminfo
:oldfiles
Кроме того, вы можете иметь мелкомасштабное управление файлами с представлениями и сеансами... @see: h mkview и: h mksession для специфики...
Ответ 5
Есть швейцарский нож плагина переключения файлов CtrlP, который также является частью дистрибутива janus. Он имеет :CtrlPMRU
команду с умным поиском среди недавно использованных файлов.
Примечание: CtrlP
поддерживает свой собственный список самых последних использованных файлов в g:ctrlp_cache_dir."mru/cache.txt"
. Это не повторное использование viminfo (set viminfo?
), set viminfo?
содержит список меток файла. Это полезно, если вы хотите очистить этот список.
Ответ 6
Плагин CtrlP позволяет вам искать ваши недавно использованные файлы, а также файлы в текущем каталоге с помощью этой команды:
nnoremap <c-p> :CtrlPMixed<cr>
Это избавляет вас от необходимости иметь дело со встроенными командами Vim и плагином MRU, ни один из которых не позволяет выполнять нечеткий поиск файлов, что очень важно при работе над большими проектами.
Ответ 7
Используйте :bro ol
затем нажмите номер, соответствующий файлу, который вы хотите открыть.
Ответ 8
В MRU есть много функций, как описано здесь: http://www.thegeekstuff.com/2009/08/vim-editor-how-to-setup-most-recently-used-documents-features-using-mru-plugin/
Ответ 9
Как видно из комментариев здесь (http://stackoverflow.com/questions/571955/undo-close-tab-in-vim), ваш файл, вероятно, все еще открыт в буфере:
:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number
Например, вы можете повторно открыть третий буфер на новой вкладке (вместо этого используйте вместо e):
:tabnew +3buf
Ответ 10
Еще один плагин, который позволяет выбрать файл из списка последних измененных, staritfy. Он заменяет ваш начальный экран списком последних измененных файлов. Вы всегда можете открыть эту страницу позже, используя команду :Startify
.
Ответ 11
:ls
для отображения последних файлов с номером буфера в левом столбце.
Затем выполните :b{buffer-number}
чтобы перейти туда.
Пример:: :ls
показывает список файлов. Я хочу перейти к третьему последнему файлу, который я посетил. :b3
отвезет меня туда.
Для более быстрого поиска отобразите :ls
на что-нибудь, например, <Leader>.
в вашем .vimrc файле.
Ответ 12
Вы можете получить доступ к списку из командной строки с помощью:
grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'"$HOME"','
Объяснение:
grep '^>' ~/.viminfo #find the list of recent files
cut -c3- #remove the first 2 characters
sed 's,~,'"$HOME"',' #replace ~ with absolute path
Вы могли бы иметь псевдоним bash, если вы используете это регулярно
alias vim_mru="grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'\"$HOME\"','"
Ответ 13
Также вы можете вернуться с помощью ctrl + O.
Ответ 14
Добавляя мои 2 цента здесь, потому что fzf не был упомянут ранее, что является таким замечательным инструментом:
У fzf.vim есть команда :History
которая позволяет вам искать самые последние использованные файлы нечетким образом.
Я настраиваю это дальше, не позволяя fzf переупорядочивать список в лучшем соответствии: я хочу, чтобы порядок оставался тем же, в котором использовались эти файлы.
Я добавил следующее в мой .vimrc, чтобы переопределить команду History
по умолчанию, определенную плагином fzf.vim:
command! -bang -nargs=* History
\ call fzf#vim#history({'options': '--no-sort'})