Visual Studio 2010自動(dòng)化整理代碼PK Vim
自從開始在VS2010的IDE中開始用正則表達(dá)式修改
最近為了給Fortran找個(gè)好一點(diǎn)的編輯器,又開始使用Vim了。Vim是久負(fù)盛名的編輯器之神,可我們習(xí)慣了Visual Studio的智能提示等方便的操作,就總在琢磨要是VS
1. VS正則表達(dá)替換 PK Vim
這是善用佳軟中的一篇教程:《普通人的編輯利器——Vim》挺簡(jiǎn)單易懂的
http://blog.sina.com.cn/s/blog_46dac66f010005kw.html###
挺老的文章,例子是整理“八榮八恥”的文本,恩,06年的。
測(cè)試的文本在這 http://www.pconline.com.cn/pcedu/soft/gj/photo/0609/pic/test.txt
堅(jiān)持以熱愛祖國(guó)為榮、以危害祖國(guó)為恥,以服務(wù)人民為榮、以背離人民為恥,以崇尚科學(xué)為榮、以愚昧無知為恥,以辛勤勞動(dòng)為榮、以好逸惡勞為恥,以團(tuán)結(jié)互助為榮、以損人利己為恥,以誠實(shí)守信為榮、以見利忘義為恥,以遵紀(jì)守法為榮、以違法亂紀(jì)為恥,以艱苦奮斗為榮、以驕奢淫逸為恥。
一排字沒有分行,先給每句話分行。
Ctrl+F 到查找,快速替換--勾選:使用正則表達(dá)式
- 為..
- 換為:
- \0\n
1 |
好了,看到效果了,瞬間全部替換成豎排了
為.. 表示“為“后面跟著2個(gè)單個(gè)字符
\0 表示被替換的全部?jī)?nèi)容,也就是”為..”,\n 是換行不用說了。
其實(shí)單擊右面的小箭頭常用的替換格式就會(huì)列出來,最下面還有微軟完整的替換幫助
http://127.0.0.1:47873/help/1-7624/ms.help?product=VS&productVersion=100&method=f1&query=VS.RegularExpressionBuilder&locale=zh-CN
然后替換標(biāo)點(diǎn)什么的就不用說了。
列操作可以 Alt+鼠標(biāo)左鍵 ,也非常方便。
按下Ctrl+R,Ctrl+W 顯示空格和換行(再次按下關(guān)閉顯示),我們添加注釋符號(hào)再向后平移幾個(gè)空格
那條藍(lán)線就是同時(shí)為下面選中的一列同時(shí)添加。
為了在不同的編輯器中能夠良好的注釋對(duì)齊,可以在VS中自動(dòng)用空格表示Tab
工具--選項(xiàng)--文本編輯-- 選擇對(duì)應(yīng)的語言--制表符
這樣按Tab鍵就能縮進(jìn)指定的空格數(shù)。也可設(shè)置Tab等效的空格數(shù)了。
還有一個(gè)技巧:Shift+Tab 是反向縮進(jìn),可以一次減小一個(gè)Tab。按3下剛才的文本縮進(jìn)減小3個(gè)Tab:
有時(shí)候需要跳過整個(gè)單詞可以用快捷鍵 Ctrl+左右方向鍵
跳到行首是Home鍵
跳到行尾是End鍵
這些在下面利用宏改變格式會(huì)用到。
Vim的宏是非常強(qiáng)大,VS的有些緩慢但也方便。
我們這里盡量養(yǎng)成全部使用快捷鍵的習(xí)慣。
把偶數(shù)行添加一個(gè)縮進(jìn)。 在菜單 工具—宏 中有對(duì)應(yīng)功能的快捷鍵
- 把光標(biāo)定位到***行
- Ctrl+Shift+R 開始記錄宏
- Home到行首
- 向下 到第二行
- Tab縮進(jìn)第二行
- 再次向下
- Ctrl+Shift+R 結(jié)束錄制宏
好了按下 Ctrl+Shift+P 就可以運(yùn)行最近錄制的那個(gè)宏了。您也可以在宏編輯器中把宏代碼到其它位置長(zhǎng)期保存,否則下次錄制臨時(shí)宏就會(huì)替換掉這次的。
多按幾次Ctrl+Shift+P 看到效果了吧。
可惜不能像Vim中那樣 100@a 就執(zhí)行100次宏a ,不過一般文檔整理也足夠用了。
***和Vim的對(duì)比一下:
Vim的操作是
Esc跳回普通模式,gg到文首,qa記錄宏a,^到行首,j到下一行,i插入,按鍵Tab,j下一行,Esc跳回
然后7@a,執(zhí)行5次宏a就得到
至于從一行轉(zhuǎn)換成數(shù)列排列的形式,Vim和VS2010差不多,Vim中是 :%s/為../\r&/gc 具體含義可參見Vim的文章。
恩,Vim加上插件確實(shí)適合一些“稀有”的缺乏IDE的語言使用,VS2010也很不錯(cuò),作為文本整理、小說格式整理雖然殺雞用牛刀可也挺方便并且符合我們的習(xí)慣。
下一篇繼續(xù)嘗試?yán)肰S2010中的正則表達(dá)式一鍵替換全文代碼注釋的風(fēng)格,自動(dòng)對(duì)齊注釋,自動(dòng)刪除行尾多余空格等等。
原文鏈接:http://www.cnblogs.com/ytyt2002ytyt/archive/2011/11/16/2250569.html
【編輯推薦】