解決vi/vim中粘貼時行首出現很多縮進和空格的問題 http://www.jbxue.com/LINUXjishu/12232.html
由於在secureCRT中會將原來的文本原封不動的按照字符串的樣式發送給服務器。
所以服務器上的vim設置為autoindent的話,在i模式下,那么它會將secureCRT傳輸而來的這些字符串再進行一下縮進。
若拷貝的文本中已有表示縮進的空格或者制表符的話,它們也會被當成字符串,而被縮進。
解決辦法:
1,在拷貝前輸入:set paste (這樣的話,vim就不會啟動自動縮進,而只是純拷貝粘貼)
2,拷貝完成之后,輸入:set nopaste (關閉paste)
附,paste相關知識。
'paste' 布爾型 (缺省關閉)
全局
{Vi 無此功能}
將 Vim 切換到粘貼模式。可用於從一個窗口剪切或復制文本並粘貼到 Vim。它的使用會避免一些意想不到的效果。
設置此選項可用於終端上運行的 Vim,因為那里 Vim 沒法區別輸入和粘貼的文本。在 GUI 里,Vim 知道何者來自粘貼,即使不打開 'paste' 也基本上不會做錯。
對 Vim 能自己處理鼠標點擊的終端也是如此。
啟動 GUI 時復位本選項。所以如果你在 .vimrc 里置位它,可以使它在終端里工作,但不是在 GUI 里。
在 GUI 里置位 'paste' 有副作用: 例如,Paste 工具欄按鈕在插入模式下不能工作,因為它使用了映射。
打開 'paste' 選項時 (包括它本來就是打開的也會如此):
- 屏蔽縮寫
- 'textwidth' 設為 0
- 'wrapmargin' 設為 0
- 'autoindent' 被復位
- 'smartindent' 被復位
- 'softtabstop' 設為 0
- 'revins' 被復位
- 'ruler' 被復位
- 'showmatch' 被復位
- 'formatoptions' 的使用方式就像它為空一樣
以下這些選項保持原來的值,但沒有實際的效果:
- 'indentexpr'
- 'cindent'
注意: 打開 'paste' 選項時如果開始編輯別的文件,模式行或自動命令可能會再次改變這些設置,從而在粘貼文本時造成麻煩。
此時可能需要再次置位 'paste' 選項。
'paste' 選項復位時,上面提到的選項被復原為上次 'paste' 從關到開時的設置。
置位 'paste' 之前復位 'paste' 沒有任何效果。
因為 'paste' 激活時不能用映射,'pastetoggle' 選項可以用來指定切換 'paste' 選項的熱鍵。