解決vi/vim中粘貼 格式錯亂

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' 的使用方式就像它爲空一樣
         下面這些選項保持原來的值,但沒有實際的效果:
                 - 'lisp'
                 - 'indentexpr'
                 - 'cindent'
         注意: 打開 'paste' 選項時如果你開始編輯別的文件,模式行或者自動命令可
         能會再次改變這些設置,從而在粘貼文本時造成麻煩。這時,你可能需要再次置
         位 'paste' 選項。
         'paste' 選項復位時,上面提到的選項被複原爲上次 'paste' 從關到開時的設
         置。置位 'paste' 之前復位 'paste' 沒有任何效果。因爲 'paste' 激活時不
         能用映射,'pastetoggle' 選項可以用來指定切換 'paste' 選項的熱鍵。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章