vim travel to pathfile с помощью ярлыка, напрямую, всегда - PullRequest
6 голосов
/ 08 октября 2010

когда я перемещаюсь между файлами, используя ярлык для файла пути, то мне кажется, что я не просто перемещаюсь между файлами.

я иду к файлу, используя>, внутри этого файла я меняю местоположениекурсор и сделать что-то, затем я нажимаю <.но вместо того, чтобы перейти к предыдущему файлу, он сначала переходит в исходное местоположение, в котором я находился при вводе файла, а затем мне нужно нажать <еще раз, чтобы фактически перейти к предыдущему файлу. </p>

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

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

как мне заставить кнопку <переместить меня к предыдущему файлу, в котором я находился, всегда, напрямую? </p>

ps
- использовать следующееотображение в моем vimrc:
noremap> gf
noremap <<br>
Я попытался заменитьс, но почему-то это не работает.

Ответы [ 4 ]

3 голосов
/ 17 октября 2010

Мне кажется, что вы ищете способ перейти непосредственно к определенному буферу, а не к предыдущему. Использование <C-o> возвращает вас назад по списку переходов, поэтому вы теряете позицию в отредактированном файле.

У ваших файлов пути обычно есть определенное расширение? Если нет, вы можете дать им уникальное расширение и попробовать что-то вроде этого:

noremap < :b *.pf

.pf, какое бы расширение вы ни выбрали. Это переключается на буфер с таким именем.

К сожалению, если у вас есть более одного буфера с этим расширением, оно выйдет из строя, и в этом случае, вероятно, лучше всего сделать быстрый :b с именем.

Я использую это отображение, когда работаю с несколькими буферами:

nnoremap <Leader>ls :ls<CR>:b 

Используя это, я могу просто нажать ,ls, посмотреть список, ввести нужный мне буфер и нажать Enter, чтобы перейти в этот буфер.

3 голосов
/ 09 октября 2010

Отображение на <C-6> также не работает для меня, но <C-^> делает.

3 голосов
/ 08 октября 2010

Вы можете использовать :bp в вашем отображении (предыдущий буфер):

:noremap < :bp<CR>
0 голосов
/ 13 октября 2010

Вы можете попробовать плагин bufmru , он работает как Ctrl-^, используя клавишу space, но позволяет вам также пройти два последних буфера, используя f и * 1006.* ключи.Это, конечно, отображения по умолчанию.

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