Есть ли в vim ярлык для :20
за которым следует i
, то есть одна команда для вставки в номер строки?
4 ответа
Вы можете использовать команду nmap
vim следующим образом:
:nmap ~! 20Gi
И тогда каждый раз, когда вы будете нажимать клавиши ~!
(или вы можете выбрать любую другую комбинацию клавиш) он переместит курсор на строку # 20 в режиме вставки.
Вы можете ввести :20i<enter>Text you want to insert including newlines...<esc>
Другой способ сделать то, что вы просите, это 20Gi
в обычном режиме. это может быть не быстрее, но это может быть легче запомнить. если вы хотите сделать это без смены, попробуйте 20ggi
думать об этом больше, и это не будет работать в очевидных случаях, но мне нравится делать следующее
:set mouse=a
:nmap <2-LeftMouse> i
который в обычном режиме (обратите внимание, на nmap
) выведет меня на эту строку, и когда я дважды щелкну по нему, он будет вставлен в указанную строку. Полезность может быть тривиальной, но если вы привыкли использовать мышь, эта карта поможет.
У viemu.com есть приличная шпаргалка, если хотите
Обычный режим i
доступен в командном режиме как startinsert
, но он не принимает номер строки. Таким образом, вам нужны две команды и строка для их разделения, которая дает вам :20 | startinsert
.