国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

Vimscript 更多的Mappings

2020-09-04 15:54 更新

迄今為止我們已經(jīng)說(shuō)了很多mappings的內(nèi)容,但現(xiàn)在我們要再次實(shí)踐一下。mappings是 使得Vim編輯更為高效的方便快捷途徑之一,有必要多加用心。

有個(gè)概念在多個(gè)例子中出現(xiàn)過(guò),但是我們都沒(méi)有明確解釋,那就是多字符mappings的連續(xù)性。

運(yùn)行如下命令:

:nnoremap jk dd

確保你出于normal模式,快速輸入jk。Vim會(huì)刪除當(dāng)前行。

現(xiàn)在試試先輸入j,停頓一下。如果你輸入j后沒(méi)有快速輸入k,Vim就會(huì)判定你不想 生效那個(gè)映射,而是將j按默認(rèn)操作運(yùn)行(下移一行)。

這個(gè)映射會(huì)給光標(biāo)移動(dòng)操作帶來(lái)麻煩,我們先刪除它。運(yùn)行下面的命令:

:nunmap jk

現(xiàn)在normal模式下快速輸入jk會(huì)像往常一樣下移一行然后又上移一行。

一個(gè)更為復(fù)雜的Mapping

你已經(jīng)見(jiàn)過(guò)很多簡(jiǎn)單的mappings了,是時(shí)候看看一些復(fù)雜的了。運(yùn)行下面的命令:

:nnoremap <leader>" viw<esc>a"<esc>hbi"<esc>lel

那是一個(gè)有趣的mappings!你自己可以先試試。進(jìn)入normal模式,移動(dòng)光標(biāo)至一個(gè)單詞, 輸入<leader>"。Vim將那個(gè)單詞用雙引號(hào)包圍!

它是如何工作的呢?我們拆分這個(gè)映射并逐個(gè)解釋:

viw<esc>a"<esc>hbi"<esc>lel
  • viw: 高亮選中單詞
  • <esc>: 退出visual模式,此時(shí)光標(biāo)會(huì)在單詞的最后一個(gè)字符上
  • a: 移動(dòng)光標(biāo)至當(dāng)前位置之  并進(jìn)入insert模式
  • ": 插入一個(gè)"
  • <esc>: 返回到normal模式
  • h: 左移一個(gè)字符
  • b: 移動(dòng)光標(biāo)至單詞頭部
  • i: 移動(dòng)光標(biāo)至當(dāng)前位置之  并進(jìn)入insert模式
  • ": 插入一個(gè)"
  • <esc>: 返回到normal模式
  • l: 右移一個(gè)字符,光標(biāo)置于單詞的頭部
  • e: 移動(dòng)光標(biāo)至單詞尾部
  • l: 右移一個(gè)字符,置光標(biāo)位置在第一個(gè)添加的引號(hào)上

記?。阂?yàn)槲覀兪褂玫氖?code>nnoremap而不是nmap,所以盡管你映射了字符序列中的字符 也不會(huì)有影響。Vim會(huì)將其中的字符按默認(rèn)功能執(zhí)行。

希望你能看出Vim mappings的潛能及隨之引發(fā)的閱讀困難。

Exercises

像剛才一樣創(chuàng)建一個(gè)mapping,用單引號(hào)而不是雙引號(hào)。

試試用vnoremap添加一個(gè)mapping,使其能夠用引號(hào)將你 高亮選中 的文本包裹。 你可能會(huì)需要???<?``? ??和????>??命令,所以先執(zhí)行??:help `<``?看看幫助文檔。

將normal模式下的H映射為移動(dòng)到當(dāng)前行的首部。h是左移,所以你可以認(rèn)為H是 “加強(qiáng)版”的h、

將normal模式下的L映射為移動(dòng)到當(dāng)前行的尾部。l是右移,所以你可以認(rèn)為L是 “加強(qiáng)版”的l、

讀取幫助文檔:help H:help L看看你覆蓋了哪些命令??紤]考慮這會(huì)不會(huì)影響你。

將這些mappings添加到你的~/.vimrc文件中,確保用你的“編輯~/.vimrc”和“重讀~/.vimrc” 映射操作~


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)