Недавняя история файлов в 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 затем нажмите номер, соответствующий файлу, который вы хотите открыть.

Ответ 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'})