Существует ли эквивалент в Vim к идее "столбца цели" в Emacs?
Я хотел бы установить столбец цели, поэтому каждый раз, когда я перешел к новой строке в Режиме вставки, курсор автоматически расположен в тот данный столбец.
например, у меня есть текст:
foo bar
foo bar
foo bar
Я ввожу 123<space>
промежуточный foo bar
на первой строке и затем имеют (шоу символа вертикальной черты, где мой курсор):
foo 123 |bar
foo bar
foo bar
Я нажимаю стрелку вниз..., и я заканчиваю здесь:
foo 123 bar
foo bar|
foo bar
Но я хочу закончить здесь:
foo 123 bar
foo |bar
foo bar
Так как вариант использования - это, я ввожу список чисел для вставки в некоторый существующий текст, и я хочу только к свисту через путем ввода числа, затем придавливания, затем следующее число, вниз, число, вниз, число, вниз, и т.д., не имея необходимость менять местоположение моего курсора каждый раз.
Вы могли использовать макрос - положение к столбцу и затем:
:map ,1 i123 <Esc>bj
... и продолжайте вводить, 1; или Вы могли использовать макро-функцию записи Vim (:help recording
):
qai123 ^[bjq
(который хранит макрос в регистре, финал q запись концов).
Затем можно использовать повторный счет (из соответствующего столбца) и вызвать зарегистрированный макрос с @a:
100@a
Если Вы хотите ввести другой текст каждый раз и просто иметь более умную функцию следующей строки, можно создать макрос для этого:
:imap ,, <Esc>j5^V|i
Это ^V является элементом-управления-литерал-V, вводимым путем ввода ControlV дважды; следующий символ является каналом, который переместит курсор в столбец 5.
Вы использовали бы этот макрос в режиме ввода, вводя цифры, затем пространство, затем, который переместит Вас в следующую строку в столбце 5, все еще в режиме ввода. Затем, когда Вы сделаны: :iunmap ,,