2014-10-19 19 views
0

我喜歡Markdown樣式的下劃線,但我希望它與上面的行保持一致。在Vim中插入字符到上一行的結尾

因此,舉例來說,如果我有這樣的:

heading one 
_ 
^ cursor here 

我可以(正常模式),只需鍵入(something)i=<ESC><ESC>,其結果將是:

heading one 
=========== 
     ^cursor here 

有誰知道我可以用什麼爲(something)

對我來說,我的光標在哪裏並不重要,例如我可以在heading one行的最後一個位置,並執行一些操作來獲得相同的結果。我很挑剔,但不是挑剔。

回答

3

如果您使用視覺選擇,則可以使用r替換所述視覺選擇中的每個字符。

所以,如果你從「標題一」行類型的光標開始。

yypVr= 

會複製行,然後用等號代替每個字符。

+0

總是有更簡單的方法在vim :)。我打算用類似kyypjV的回覆:s /./=/ g $,這只是你解決方案的不必要的複雜版本 – adekcz 2014-10-19 16:01:43

+0

史詩。你會得到我所有的檢查標記! – hoosierEE 2014-10-19 16:47:52

2
kyypv$r=j 
  • 上去一行
  • 猛拉它
  • 粘貼下面
  • 直觀地選擇行
  • =

把它變成一個映射替換每個字符如果你經常碰到它:

nnoremap <key> kyypv$r=j 

我建議你這樣做就行強調本身,而不是在下面的橫線,雖然:

nnoremap <key> yypv$r=