2011-08-16 80 views
1

我看到有一個set paste選項,允許在終端vim中從系統剪貼板粘貼時進行正確的縮進,但是我想念如何從vim的緩衝區粘貼「內部剪貼板「與pP命令並將=應用於粘貼的文本。到現在爲止我手動做到這一點。在正常模式下使用常規粘貼(p)可以縮進縮進 - vim

set paste或其反轉不能修復粘貼文本的縮進。

您可以幫助製作一個.vimrc映射嗎?還是有一個內置的選項呢?

謝謝。

回答

4

嘗試]p]P

:help p

["x]]p    or         ]p ]<MiddleMouse> 
["x]]<MiddleMouse>  Like "p", but adjust the indent to the current line. 
         Using the mouse only works when 'mouse' contains 'n' 
         or 'a'. {not in Vi} 

["x][P    or         [P 
["x]]P    or         ]P 
["x][p    or         [p [<MiddleMouse> 
["x][<MiddleMouse>  Like "P", but adjust the indent to the current line. 
         Using the mouse only works when 'mouse' contains 'n' 
         or 'a'. {not in Vi} 
+0

謝謝,我也看看'幫助p',但沒有足夠的滾動! – Niloct

6

]p]P命令將粘貼並把內容物在當前行的縮進,而不是使用複製的行的原始縮進。例如:

line 1 
line 2 
    line 3 
    line 4 

複製線2 & 3,移動到第3行,然後按]p會導致

line 1 
line 2 
    line 3 
    line 2 
     line 3 
    line 4 
+0

你可以嘗試[vim-pasta](https://github.com/sickill/vim-pasta)。 – sickill