2016-10-17 6 views
3

В vim у меня обычно есть :set relativenumber, так что я могу видеть, с какой строкой перейти с помощью быстрого <n>k или <n>j. Это позволяет мне передвигаться довольно эффективно, но, как всегда, в vim, я хочу больше!Как отскочить от многострочного перемещения в Vim?

Есть ли способ, чтобы добавить происхождение долго (скажем, более 5 строк) <n>j или <n>k движение добавлен в откидном-лист, так что я могу использовать `` (кавычка-кавычка), чтобы перейти обратно Это? Пока мы на нем, добавление начала последовательности ctrl-f или ctrl-b было бы неплохо!

+0

код [repmo плагин] (http://www.vim.org/scripts/script.php?script_id=2174) может помочь вам – yolenoyer

ответ

2

Есть reljump plugin. Или вы можете просто поместить следующее в свой ~/.vimrc; адаптировать предел 1 к вашим потребностям (например, 4):

nnoremap <expr> k (v:count > 1 ? "m'" . v:count : '') . 'k' 
nnoremap <expr> j (v:count > 1 ? "m'" . v:count : '') . 'j' 
+0

этом было красиво и аккуратно! Благодаря! – 00prometheus

+0

О, а ваша> 1 линия была явно лучше, чем> 5, как я и предложил, так как каждый j k - это отдельный ход. * Дох! * Спасибо! – 00prometheus

1

Не автоматически, нет. Что вы можете сделать, это сохранить текущую позицию, используя m`, прежде чем прыгать. Если вы хотите его автоматизировать, вам придется переопределить поведение по умолчанию k и jctrl-f и ctrl-b).