部分非原創,但求有益大眾
align-regexp
代碼對齊
C-M-\
一般都能滿足需要,可是有時候需要按一行中的某些字符對齊,比如一些變態的語言或者編程規范規定賦值語句需要按 “=” 對齊,那怎么辦?
align-regexp 使用起來只需要選中需要對齊的 region,然后執行,輸入需要匹配的正則表達式即可。
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
需要按 = 對齊,選中執行 M-x align-regexp
, 然后 regexp 填 =,結果如下:
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
ractangle如下矩陣:
假如我們需要剪切左上 2x2 矩陣,從1排1列,C-space
選中,挪動光標到2排2列,C-x r k
, 然后 C-x r y
復制,結果如下:
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
刪除所選矩陣,如下三操作區別 (左上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
用輸入字符串替換所選矩陣每行, 下圖結果用 xy 替換左上 2x2 矩陣。
auto-rever-tail-mode我們多少次在 terminal 中 tail -f sys.log 來關注 log 的最新輸出, 使用這個命令 Emacs 便自動完成該工作。這樣避免手動去獲取最新的輸出。
hexl-mode:可以查看文件的16進制數據C-u C-spacebaraproposEmacs 記錄了所有光標移動的歷史,使用這個命令,可以依次回到前一個位置,在閱讀代碼時非常有用。
搜索包含某關鍵字或者匹配某正則表達式的 Emacs 命令,利用這個可以發現更多給力的 feature。
follow-mode
現在流行的是寬屏,寬度不是問題,因此 Emacs C-x 3
用的很多,但很多長的文檔,要翻好多頁,小拇指真疼。
豎分屏后執行 follow-mode 后,所有 buffer 顯示同一文件的不同部分,可視范圍翻倍,甚至數倍,這要看你的屏幕有多寬了。
插件: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被高手做了大型配置,那么你可以在命令行啟動EMACS -q打開默認的操作,然后
c-h k
, c-h f
, c-h v
然后可以查看快捷鍵對應的命令,并且可以自己去.emacs中定制快捷鍵,比如(global-set-key [control \`] 'align-regexp) ;;綁定control+`為正則表達式對齊的快捷鍵
UML繪制:cedet中的cogre,可以用命令M-x cogre執行,然后輸入對應的class名字。需要系統安裝graphviz
speedbar:M-x執行,可以在沒有插件的情況下進行文件目錄操作,我綁定成了M-s快捷鍵