命令字符串启动的vim键映射,例如9:s/pat/sub/ge<;cr>;:
如果我想在9行文本上运行:s命令,我键入9:s,vim将命令行设置为命令字符串启动的vim键映射,例如9:s/pat/sub/ge<;cr>;:,vim,mapping,Vim,Mapping,如果我想在9行文本上运行:s命令,我键入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' nm
:.,+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'
nmap\u p:s/etc
nmap:^Us/等
国家地图:s/etc
nmap\u p:^Ulet@l=v:count1:exe@l.'s/etc'
nmap\u p:^Ulet@l=v:count1:exe@l.:s/etc'
nmap\u p:^Ulet@l=v:count1:exe',+'。@l-1.s/etc'
前3个将9_p视为_p,后2个将9_p视为_p,但将其应用于文本的第10行,而最后一次尝试的行为与前3个类似使用
:normal
进行映射计数:
nmap _p :normal :s/etc/
您可以使用以下地图:
nnoremap _p :<c-u>exe".,+".v:count." s/etc"<cr>
nnoremap\u p:exe“,+”.v:count.“s/etc”
它将执行命令
,+N s/etc
,其中N
是正常模式计数。我不确定是否理解您试图创建的映射。是否需要在光标下的8行(加上光标所在的行)上执行替换的映射?