Если я хочу запустить команду: s в 9 строках текста, я набираю 9: s, и vim устанавливает командную строку как
:.,+8s
, что очень полезно. Но как я могу заставить это поведение применяться в сопоставлении клавиш?
Я пробовал следующие сопоставления:
nmap _p :s/etc
nmap _p :^Us/etc
nmap _p ^U:s/etc
nmap _p :^Ulet @l=v:count1<cr>:exe @l.'s/etc'
nmap _p :^Ulet @l=v:count1<cr>:exe @l.':s/etc'
nmap _p :^Ulet @l=v:count1<cr>:exe '.,+'.@l-1.'s/etc'
Первые 3 все обрабатывали 9_p, как если бы это было _p, следующие 2 обрабатывали его как _p, но применяли его к строке 10 текста, в то время как последнее усилие велось как первые 3