RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [教學]解決vim貼上內容時縮排問題   字型大小:||| 
  本主題被作者加入到他/她的 Blog 中  
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9423
 . 精華: 28
 . 文章: 9950
 . 收花: 79350 支
 . 送花: 11004 支
 . 比例: 0.14
 . 在線: 2907 小時
 . 瀏覽: 187061 頁
 . 註冊: 8219
 . 失蹤: 32
 . 大熊國
#1 : 2011-4-17 01:54 AM     只看本作者 引言回覆

2013-03-05更新:

如果想vi默認為paste mode…請將下一行加到~/.vimrc…就不用每次用:set paste來開啟。

set paste
=======更新完畢==============

大家也許也遇過在vi貼上(paste)內容時,縮排(indent)格式出現錯誤。

例如要將下面內容貼上putty的vi

<project name="myapp" default="build" basedir=".">
  <property name="builddir" value="${basedir}/build" />
  <target name="prepare" depends="clean,init" />
  <target name="init">
      <mkdir dir="${builddir}" />
      <mkdir dir="${builddir}/api" />
      <mkdir dir="${builddir}/log" />
      <mkdir dir="${builddir}/coverage" />
      <mkdir dir="${builddir}/phpcb" />
  </target>
</project>
結果出現錯誤的縮排(indent),如下圖:


解決方法是在貼上前輸入
:set paste


貼上內容,注意下方的-- INSERT (paste) --


完成貼上後輸入
:set nopaste


這方面的確有效,不過如果每次都需要用:set paste/nopaste來切換paste mode太麻煩了。

更懶的方法是在用戶home下.vimrc新增一行

set pastetoggle=<F12>


那只需要按F12就可以切換paste mode!

簡單來說:

F12 (開啟paste mode) -> 貼上內容 -> F12 (關閉paste mode)


延伸閱讀:
vimrc檔案設定:http://greenisland.csie.nctu.edu.tw/wp/2005/09/21/341/
英文教學:http://mr-euro.com/vim-paste-indent-problems/


相關關鍵字: vim  vi  putty  貼上  paste  indent  縮排  pastetoggle  set paste  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
kkjkj
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13


今日心情

 . 積分: 611
 . 精華: 1
 . 文章: 1533
 . 收花: 4724 支
 . 送花: 3609 支
 . 比例: 0.76
 . 在線: 5447 小時
 . 瀏覽: 36859 頁
 . 註冊: 7412
 . 失蹤: 1394
 . TWed2k-DVD幫分流組
#2 : 2011-4-17 09:58 AM     只看本作者 引言回覆

現在看到熊小一堆LAMP教學
不過我也只會Window底下的~真是受教受教~學到蠻多的~
感謝



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
ianroo
鍛鐵驢友
等級: 7等級: 7等級: 7
傻蛋一枚

今日心情

 . 積分: 87
 . 文章: 196
 . 收花: 530 支
 . 送花: 1873 支
 . 比例: 3.53
 . 在線: 1592 小時
 . 瀏覽: 26524 頁
 . 註冊: 8184
 . 失蹤: 211
 . tw
#3 : 2011-4-17 01:05 PM     只看本作者 引言回覆

這招真是太實用了,我也常常為貼上這個問題所苦
我一直以為是用:set noai但總是沒有用
謝謝熊大提供解決之道



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9423
 . 精華: 28
 . 文章: 9950
 . 收花: 79350 支
 . 送花: 11004 支
 . 比例: 0.14
 . 在線: 2907 小時
 . 瀏覽: 187061 頁
 . 註冊: 8219
 . 失蹤: 32
 . 大熊國
#4 : 2011-4-17 02:57 PM     只看本作者 引言回覆

其實我是被這問題困擾了一會…才去找方法…當初只看到有英文的。

所以想如果弄個中文的教學也許對其他人有幫助~



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
x13
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13
瀧崗阡秣

十週年紀念徽章(六級)  

 . 積分: 593
 . 精華: 2
 . 文章: 684
 . 收花: 4193 支
 . 送花: 4742 支
 . 比例: 1.13
 . 在線: 1429 小時
 . 瀏覽: 9650 頁
 . 註冊: 7312
 . 失蹤: 352
 . TWed2k-DVD幫
#5 : 2013-3-5 11:53 AM     只看本作者 引言回覆

nmap <silent> <F4> :set invpaste<CR>:set paste?<CR>
imap <silent> <F4> <ESC>:set invpaste<CR>:set paste?<CR>

這樣子設定 不管在NORMAL MODE或INSERT MODE都可以按 F4 來開關



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9423
 . 精華: 28
 . 文章: 9950
 . 收花: 79350 支
 . 送花: 11004 支
 . 比例: 0.14
 . 在線: 2907 小時
 . 瀏覽: 187061 頁
 . 註冊: 8219
 . 失蹤: 32
 . 大熊國
#6 : 2013-3-5 01:30 PM     只看本作者 引言回覆

既然x13推了上來…熊也來更新一下

如果想vi默認為paste mode…請將下一行加到~/.vimrc…就不用每次用:set paste來開啟。

set paste



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-21 09:06 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.021531 second(s), 7 queries , Qzip disabled