2014-11-28 5 views
3

Мне интересно, как улучшить vim, что я могу вернуться назад, где я был в последний раз, когда я остановился, чтобы передвигаться примерно на 3 секунды. Затем я могу прокручивать и иметь ярлык, чтобы прыгать назад, где я был с тем же старым CTRL + o.VIM - Как я могу поставить свою текущую позицию в jumplist?

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

Другими словами, я пытаюсь сделать jumplist более разумным.

ps: Netbeans и VS имеют аналогичное поведение.

ответ

6

Чтобы текущая позиция автоматически добавляется в список прыжка, вы можете использовать CursorHold события:

:autocmd CursorHold * normal! m' 

Судоходства с по умолчанию <C-o>/<C-i>.

+0

он добавит или просто заменит последний? – MaikoID

+0

Они будут добавлены; вы не можете их заменить. –

5

Обычно используются команды m и ', чтобы прыгать. Например, вы можете ввести mx, уйти и сделать что-то, а затем сделать 'x, чтобы вернуться туда, где вы были, когда вы сделали mx. Это работает для каждой буквы алфавита (т. Е. ma, mb, ... mz). Верхние метки (mA, mB, ...) также будут запоминать имя файла, чтобы вы могли переходить между файлами. Есть a number of other special marks, который вы можете установить для различных целей.

«предыдущий контекстный знак» называется '. Он устанавливается автоматически, когда вы прыгаете, и его также можно установить вручную с помощью m'. Перейти к нему с ''. Команда m' также вручную добавляет прыжок в jumplist. '' примерно эквивалентен Ctrl + O, но не принимает счет.

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

+0

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

+0

@MaikoID: Почему бы вам не установить алфавитные метки вручную, когда они вам понадобятся? – Kevin

+0

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