Я переключаюсь из Блокнота ++ к VIM как редактор основного текста.
Блокнот ++ может иметь несколько курсоров удержанием ctrl и нажимающий где угодно в тексте, поэтому если Вы вводите, текст появляется в нескольких местоположениях.
Действительно ли это возможно в энергии? Чему-то нравится, вставляют после выбора нескольких строк в визуальном режиме, но с возможностью иметь курсоры где угодно в тексте.
Это - функция, которую я редко использую, также это довольно легко преодолимо, мне просто любопытно, так как это - единственное я, could't находят замену для в энергии все же.
Нет такой встроенной функции.
Позвольте мне предложить функцию, которая повторяет команду (например, .
повторяет последнюю команду изменения
) в положениях заданных меток. И метки, и команда
указываются как строковые аргументы. Метки, указанные в способе определения диапазонов в регулярных выражениях
или в спецификаторе формата scanf
. Например, za-dx
означает метки z
, a
, b
, c
, d
, x
.
function! MarksRepeat(marks, command)
let pos = 0
let len = strlen(a:marks)
let alpha = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
let beta = '1234567899bcdefghijklmnopqrstuvwxyzzBCDEFGHIJKLMNOPQRSTUVWXYZZ'
while pos < len
if a:marks[pos + 1] != '-'
exe 'norm `' . a:marks[pos] . a:command
let pos += 1
elseif a:marks[pos] <= a:marks[pos+2]
let mark = a:marks[pos]
let stop = a:marks[pos+2]
if mark =~ '[0-9a-zA-Z]' && stop =~ '[0-9a-zA-Z]'
while 1
exe 'norm `' . mark . a:command
if mark == stop
break
endif
let mark = tr(mark, alpha, beta)
endwhile
endif
let pos += 3
endif
endwhile
endfunction
В вашем случае функцию можно использовать следующим образом.
m
). Запустите функцию:
: call MarksRepeat (‹marks›, '.')
Вы можете вставить текст в одном месте, в одну операцию, затем используйте .
, чтобы повторять эту вставку в каждом другом месте, где вы хотите текст.
Это обратное тому, что вы просили, потому что вы хотели отметить места перед вводом текста, но дает тот же результат за такое же количество нажатий клавиш :).
Проверить плагин множественного выбора vim: http://www.vim.org/scripts/script.php?script_id=953