Vim: переход к предыдущему и следующему буферам в истории изменений - PullRequest
16 голосов
/ 14 сентября 2010

Когда я редактирую несколько файлов, мне часто хочется переходить назад и вперед между последними отредактированными файлами.Я знаю о : bn (ext) и : bp (revious) для переключения между буферами, но они не сохраняют историю последних использованных файлов.Вместо этого они используют порядок, в котором файлы были открыты.Например, если я открою файлы в этом порядке

A, B, C

, моя история навигации будет

A, B, C, B

, тогда : bprevious в последнем буфере (B)послал бы меня к A. Есть команда или плагин, который послал бы меня к C?Я знаю о Ctrl-6, но это только переключает между двумя последними буферами.Я хотел бы идти вперед и назад несколько буферов.

Ответы [ 2 ]

16 голосов
/ 17 сентября 2010

Я уже давно хотел такой же функциональности.Ваш вопрос вдохновил меня наконец-то что-то с этим сделать.Взгляните на bufsurf , небольшой плагин, который обеспечивает необходимую функциональность.Он предоставляет пользователю две команды:

:BufSurfBack 

для перехода назад в истории и аналогично:

:BufSurfForward

для перехода вперед в истории.Для каждого окна или вкладки в памяти хранится отдельная история навигации.Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы, у меня еще не было возможности тщательно это проверить.

5 голосов
/ 14 сентября 2010

Проверьте плагин буфера lustyjuggler. Это потрясающе для этого. Он сохраняет буферы в последнем использованном порядке и сопоставляет их с ключами домашней строки, чтобы вы могли очень быстро переключаться между ними.

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

Вы можете увидеть его в конце моей последней заставки vim, где я перебираю буферы: http://lococast.net/archives/185

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...