[英]Using variable in vim key mappings
在vim中映射鍵時如何使用變量? 我想解決的具體問題如下。 我需要這些鍵映射:
nnoremap <C-1> 1gt
nnoremap <C-2> 2gt
nnoremap <C-3> 3gt
... and so on.
我可以指定一個映射; 就像是
nnoremap <C-x> xgt
其中x取壓鍵的值(可以是1..9)
謝謝。
編輯1:由於Peter Rincker,解決方案(尚未完成)
我可以使用這個功能
function gotoTab(num)
execute "normal" a:num."gt"
endfunction
如果我:call goToTab(3)
,它將轉到選項卡3。
如何將Command-x(Dx)映射到goToTab(x),其中x介於1..9之間。 如何從Command-x印刷機讀取數字?
我得到了壞消息。 你不能映射<c-1>
等。你只能綁定我不會做的<c-6>
,因為它非常方便。
您似乎正在進行以標簽為中心的工作流程。 我知道這可能聽起來很奇怪,但可能會使用較少的選項卡窗格和更多緩沖區。 這里有一些關於它的好帖子:
...好吧,但我真的想做這個變量映射的事情。 你有選擇:
:execute
來創建映射 7gt
。 7
是計數。 使用示例:for
和:execute
:
for i in range(1, 9)
execute "nnoremap \<d-" . i . "> " . i . "gt"
endfor
注意:這使用Command的<d-...>
語法,該語法僅在MacVim上可用且沒有終端支持(參見:h <D-
)。 您可以使用<a-...>
Alt。 但是我必須警告你在終端上使用Alt可能會很棘手。
有關更多幫助請參閱:
:h keycodes
:h map-which-keys
:h :for
:h :exe
:h count
:h v:count
:h range(
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.