2016-08-11 32 views
1

私はemacsで新しくなっています。私はemacsのチュートリアルをc/C++のideとして使っていますが、完全には機能しないいくつかのステップがあります:auto c-headersのための完全な - 。emacs auto-complete-c-headersクローズフック

C/C++ヘッダー用にyasnippetとauto-completeをインストールしました。

私は#include <ctype.h>コールだけisdigないisdigitとして 、クロージングフックは私がh

その他、#include <floatにタブを入力した場合でも、.h>で完了していない追加されていない#include <stdio.hため、通常のオートコンプリートの動作を取得しますが、>私は欲しいです

; start package.el with emacs 
(require 'package) 
;add MELPA to repository list 
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) 
;initialize package.el 
(package-initialize) 
;start auto-complete with emacs 
(require 'auto-complete) 
;do default config for auto-complete 
(require 'auto-complete-config) 
(ac-config-default) 
;start yasineppet with emacs 
(require 'yasnippet) 
(yas-global-mode 1) 
;let's define a function which initializes auto-complete-c-headers and gets called for c/c++ headers hooks 
(defun my:ac-c-header-init() 
    (require 'auto-complete-c-headers) 
    (add-to-list 'ac-sources 'ac-source-c-headers) 
    (add-to-list 'achead:include-directories '"/usr/include/c++/5 
/usr/include/x86_64-linux-gnu/c++/5 
/usr/include/c++/5/backward 
/usr/lib/gcc/x86_64-linux-gnu/5/include 
/usr/local/include 
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed 
/usr/include/x86_64-linux-gnu 
/usr/include") 
) 
;now let's call this function from c/c++ hooks 
(add-hook 'c++-mode-hook 'my:ac-c-header-init) 
(add-hook 'c-mode-hook 'my:ac-c-header-init) 

何かが欠けていますか?
ヘッダのパスがgcc -xc++ -E -v -

ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5" 
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" 
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" 
#include "..." search starts here: 
#include <...> search starts here: 
/usr/include/c++/5 
/usr/include/x86_64-linux-gnu/c++/5 
/usr/include/c++/5/backward 
/usr/lib/gcc/x86_64-linux-gnu/5/include 
/usr/local/include 
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed 
/usr/include/x86_64-linux-gnu 
/usr/include 

から来て、私はCの設定についてはよく分からないおかげ

答えて

0

はしかし、私はあなたの初期化ファイルにauto-completeモードを使用することがわかりました。代わりにcompany-modeをお試しください。私の意見では、方法はauto-completeモードよりも効率的です