簡體   English   中英

用於開始的命令字符串的vim鍵映射,例如9:s / pat / sub / ge <cr> :

[英]vim key mapping for command string starting e.g. 9:s/pat/sub/ge<cr>:

如果我想在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'  
nmap _p :^Ulet @l=v:count1<cr>:exe '.,+'.@l-1.'s/etc'  

前3個都將9_p視為_p,后2個將其視為_p,但將其應用於文本的第10行,而最后一個努力的行為類似於前3個

使用:normal來獲取映射的計數:

nmap _p :normal :s/etc/

您可以使用以下地圖:

nnoremap _p :<c-u>exe".,+".v:count." s/etc"<cr>

它將執行命令.,+N s/etc ,其中N是正常模式計數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM