部分非原創(chuàng),但求有益大眾
align-regexp
代碼對(duì)齊
C-M-\
一般都能滿足需要,可是有時(shí)候需要按一行中的某些字符對(duì)齊,比如一些變態(tài)的語言或者編程規(guī)范規(guī)定賦值語句需要按 “=” 對(duì)齊,那怎么辦?
align-regexp 使用起來只需要選中需要對(duì)齊的 region,然后執(zhí)行,輸入需要匹配的正則表達(dá)式即可。
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
需要按 = 對(duì)齊,選中執(zhí)行 M-x align-regexp
, 然后 regexp 填 =,結(jié)果如下:
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
ractangle如下矩陣:
假如我們需要剪切左上 2x2 矩陣,從1排1列,C-space
選中,挪動(dòng)光標(biāo)到2排2列,C-x r k
, 然后 C-x r y
復(fù)制,結(jié)果如下:
1 2 3 4 5 6 7 8 | // After cut 34 45 3456 // Copy 12 23
|
C-x r o
插入空格到選中矩陣,C-x r c
用空格替換所選中矩陣,C-x r d
刪除所選矩陣,如下三操作區(qū)別 (左上2x2矩陣):
1 2 3 4 5 6 7 8 9 10 11 12 | // C-x r o 1234 2345 3456 // C-x r c 34 45 3456 // C-x r d 34 45 3456
|
C-x r t
用輸入字符串替換所選矩陣每行, 下圖結(jié)果用 xy 替換左上 2x2 矩陣。
auto-rever-tail-mode我們多少次在 terminal 中 tail -f sys.log 來關(guān)注 log 的最新輸出, 使用這個(gè)命令 Emacs 便自動(dòng)完成該工作。這樣避免手動(dòng)去獲取最新的輸出。
hexl-mode:可以查看文件的16進(jìn)制數(shù)據(jù)C-u C-spacebaraproposEmacs 記錄了所有光標(biāo)移動(dòng)的歷史,使用這個(gè)命令,可以依次回到前一個(gè)位置,在閱讀代碼時(shí)非常有用。
搜索包含某關(guān)鍵字或者匹配某正則表達(dá)式的 Emacs 命令,利用這個(gè)可以發(fā)現(xiàn)更多給力的 feature。
follow-mode
現(xiàn)在流行的是寬屏,寬度不是問題,因此 Emacs C-x 3
用的很多,但很多長(zhǎng)的文檔,要翻好多頁,小拇指真疼。
豎分屏后執(zhí)行 follow-mode 后,所有 buffer 顯示同一文件的不同部分,可視范圍翻倍,甚至數(shù)倍,這要看你的屏幕有多寬了。
插件:org-mode (org2blog), cscope, ido-mode, auto-complete, cedet, magit, yasnippet, ecb …
代碼瀏覽工具:ecb:http://fhf25.blog.sohu.com/74454393.html, http://www.233.com/linux/fudao/20080401/102211623.htmlAwindows上的插件配置:http://blog.tianya.cn/blogger/post_show.asp?BlogID=1000080&PostID=10515084代碼模板工具:yasnippet: http://apps.hi.baidu.com/share/detail/31765667
如果你的EMACS被高手做了大型配置,那么你可以在命令行啟動(dòng)EMACS -q打開默認(rèn)的操作,然后
c-h k
, c-h f
, c-h v
然后可以查看快捷鍵對(duì)應(yīng)的命令,并且可以自己去.emacs中定制快捷鍵,比如(global-set-key [control \`] 'align-regexp) ;;綁定control+`為正則表達(dá)式對(duì)齊的快捷鍵
UML繪制:cedet中的cogre,可以用命令M-x cogre執(zhí)行,然后輸入對(duì)應(yīng)的class名字。需要系統(tǒng)安裝graphviz
speedbar:M-x執(zhí)行,可以在沒有插件的情況下進(jìn)行文件目錄操作,我綁定成了M-s快捷鍵