日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】Emacs -- 自动补齐

發布時間:2025/3/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Emacs -- 自动补齐 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. Emacs 自帶的hippie-expand (參考的是王垠的)
hippie-expand是 Emacs 自帶的功能,
把M-/ 綁定到 hippie-expand,在.emacs文件中加入
;;綁定按鍵
(global-set-key [(meta ?/)] 'hippie-expand)

hippie-expand 的補全方式。它是一個優先列表, hippie-expand 會優先使用表最前面的函數來補全。通常的設置是:

(setq hippie-expand-try-functions-list
'(try-expand-dabbrev
try-expand-dabbrev-visible
try-expand-dabbrev-all-buffers
try-expand-dabbrev-from-kill
try-complete-file-name-partially
try-complete-file-name
try-expand-all-abbrevs
try-expand-list
try-expand-line
try-complete-lisp-symbol-partially
try-complete-lisp-symbol))
首先使用當前的buffer補全,如果找不到,就到別的可見的窗口里尋找,
如果還找不到,那么到所有打開的buffer去找,如果還……那么到kill-ring里,
到文件名,到簡稱列表里,到list,…… 當前使用的匹配方式會在 echo 區域
顯示.
確實是非常好用,基本上我M-/就能到達我想要的了.

2 采用etags
etags能像cscope那樣,在代碼里跳來跳去,比如查找函數,變量等,它還能夠自動補齊代碼.
1),先生成etags文件
find . /usr/include/ -name "*.c" -or -name "*.cpp" -or -name "*.hpp" -or -name "*.h" |xargs etags --members --language=c++
2).配置.emacs
(setq tags-file-name "~/TAGS")
3),使用
在emacs中,M-tab 就可以自動補齊了,不過有時候還是不是很好用.
M-. 查找一個tag,比如函數定義類型定義等。
C-u M-. 查找下一個tag的位置
M-* 回到上一次運行M-.前的光標位置。 M-TAB 自動補齊函數名。

3 采用cedet包
1)下載cedet
網址是 http://cedet.sourceforge.net/
2)編譯
tar -zxf cedet-1.0pre3.tar.gz
cd cedet-1.0pre3
make
如果make不成功的話,就看看那個說明吧
3)配置
查看emacs的配置文件在哪里
whereis emacs
拷貝編譯好了的cedet
cp -r cedet-1.0pre3 /usr/share/emacs/
查看是否有我們需要的那個文件
ls /usr/share/emacs/cedet-1.0pre3/common/cedet.el

配置.emacs文件,在.emacs文件中加入
;;;;;;;;;;cedet
(load-file "/usr/share/emacs/cedet-1.0pre3/common/cedet.el")

;;設置檢索范圍
(setq semanticdb-project-roots
(list
(expand-file-name "/")));;可以設置為項目的頂級目錄

;;綁定按鍵,ctr+tab,以下三種,任意選擇一個,我喜歡第二個
;;(global-set-key [(control tab)] 'senator-complete-symbol);
(global-set-key [(control tab)] ' senator-completion-menu-popup)
;; (global-set-key [(control tab)] 'semantic-ia-complete-symbol-menu)

4)使用
在一個未輸入完成的函數上嘗試下ctr+tab鍵

轉載于:https://www.cnblogs.com/napoleon_liu/archive/2010/01/28/1658615.html

總結

以上是生活随笔為你收集整理的【转】Emacs -- 自动补齐的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。