2012-04-24 86 views

回答

19

使用蒂姆教皇的vim-surround,你可以使用:ysw'附上一個字與「`」,ysw(包圍與「(」字。如果你想圍繞一個實際的標籤的話,如HTML標籤<code>。 ,您可以使用yswt,然後在提示中鍵入您的標籤,如果您想要更改現有的環繞聲元素,請使用csw,輸入您要替換的環繞聲元素,然後按<CR> (enter),然後鍵入新的環繞元素。

請注意,對於上述命令的工作,您必須將光標放在要包圍的單詞的開頭。

從它的官方網頁:

cs"'(這是C,S,雙引號,單引號)內

將其更改爲

「 」世界,你好!「你好世界!'

現在按cs'<q>將其更改爲

Hello world!

爲了走了一圈,按cat"得到

「世界,你好!」

要完全刪除分隔符,按ds"

Hello world!

現在隨着光標移動到「你好」,按ysiw]iw是一個文本對象)。

[你好]世界!

讓我們大括號,並添加一些空間(用「}」而不是「{」爲無空格):cs]{

{}你好世界!

現在包裹在括號中的整條生產線與yssbyes)

({}你好世界!)

恢復到原來的文字:ds{ds)

世界,你好!

強調你好:ysiw<em>

你好世界!

最後,讓我們嘗試視覺模式。按下大寫字母V(對於linewise可視模式) ,然後按S<p class="important">

你好世界!

有關更詳細的使用信息,安裝vim-surround,然後用:help surround調用文檔。

+0

作爲一個側面說明,非資本V會讓你選擇任意數量的字符(像1.10的數字有用其中「iw」將選擇1或10)。 – htatche 2016-12-14 00:19:30

4

<c-r>是這些非常方便,讓你插入一個寄存器,剪貼板,字的內容光標下(<c-r><c-a>),等等。例如:

nmap <space>' ciw'<c-r>"'<esc> 
vmap <space>' c'<c-r>"'<esc> 
nmap <space>(ciw(<c-r>")<esc> 
vmap <space>(c(<c-r>")<esc> 

哪款地圖space+'包住當前單詞或視覺選擇用單引號或space+(將當前單詞或視覺選擇用雙引號括起來。

映射的內容是指「更改內部字|選擇文本,插入引號,插入字符,插入引號,退出插入模式」。

2

我用這個片段給宏記錄到字母M的第一次: qmcw」 <CR>「'<ESC> q 然後用@m

解釋重做,在第一個10個打擊是必要的:

  • QM開始錄製宏在字母m
  • CW變化只有一個詞,把你帶入插入模式
  • 「寫的第一次報價
  • <CR>「粘貼,我們在體育場2擦除,同時保持到 插入模式
  • 字」是周圍的其他報價
  • <ESC>回到編輯字
  • q結束宏。

與@m回憶起來:現在我們只用了兩個好球包圍......