Я пытаюсь установить emacs для программирования на C++. В основном следовали инструкциям здесь .. http://truongtx.me/2013/03/10/emacs-setting-up-perfect-environment-for-cc-programming/ Все прекрасно работает, кроме автозаполнения, для которой я следовал инструкциям здесь http://truongtx.me/2013/03/06/emacs-ccpp-autocomplete-with-clang/emacs autocomplete для C++
согласно инструкции, [C-] должно быть, но когда связанного приложения I нажмите [Ctrl + «-»] Я не вижу никаких предложений .. Вот подам .emacs
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-refresh-contents)
(require 'cc-mode)
(setq-default c-basic-offset 4 c-default-style "linux")
(setq-default tab-width 4 indent-tabs-mode t)
(define-key c-mode-base-map (kbd "RET") 'newline-and-indent)
(add-to-list 'load-path "/home/mohit/Documents/scratch/autopair")
(require 'autopair)
(autopair-global-mode 1)
(setq autopair-autowrap t)
(add-to-list 'load-path "/home/mohit/Documents/scratch/ecb")
(require 'ecb)
(setq ecb-layout-name "left8")
(setq ecb-show-sources-in-directories-buffer 'always)
(setq ecb-compile-window-height 12)
;;; activate and deactivate ecb
(global-set-key (kbd "C-x C-;") 'ecb-activate)
(global-set-key (kbd "C-x C-'") 'ecb-deactivate)
;;; show/hide ecb window
(global-set-key (kbd "C-;") 'ecb-show-ecb-windows)
(global-set-key (kbd "C-'") 'ecb-hide-ecb-windows)
;;; quick navigation between ecb windows
(global-set-key (kbd "C-)") 'ecb-goto-window-edit1)
(global-set-key (kbd "C-!") 'ecb-goto-window-directories)
(global-set-key (kbd "[email protected]") 'ecb-goto-window-sources)
(global-set-key (kbd "C-#") 'ecb-goto-window-methods)
(global-set-key (kbd "C-$") 'ecb-goto-window-compilation)
;;; replacement for built-in ecb-deactive, ecb-hide-ecb-windows and
;;; ecb-show-ecb-windows functions
;;; since they hide/deactive ecb but not restore the old windows for me
(defun tmtxt/ecb-deactivate()
"deactive ecb and then split emacs into 2 windows that contain 2 most recent buffers"
(interactive)
(ecb-deactivate)
(split-window-right)
(switch-to-next-buffer)
(other-window 1))
(defun tmtxt/ecb-hide-ecb-windows()
"hide ecb and then split emacs into 2 windows that contain 2 most recent buffers"
(interactive)
(ecb-hide-ecb-windows)
(split-window-right)
(switch-to-next-buffer)
(other-window 1))
(defun tmtxt/ecb-show-ecb-windows()
"show ecb windows and then delete all other windows except the current one"
(interactive)
(ecb-show-ecb-windows)
(delete-other-windows))
(global-set-key (kbd "C-x C-'") 'tmtxt/ecb-deactivate)
(global-set-key (kbd "C-;") 'tmtxt/ecb-show-ecb-windows)
(global-set-key (kbd "C-'") 'tmtxt/ecb-hide-ecb-windows)
(add-to-list 'load-path "~/.emacs.d/elpa/yasnippet-0.8.0/")
(require 'yasnippet)
(yas-global-mode 1)
(setq package-user-dir "~/.emacs.d/elpa/")
(package-initialize)
;;; (add-to-list 'load-path "~/.emacs.d/elpa/auto-complete-1.4/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
;;; set the trigger key so that it can work together with yasnippet on tab key,
;;; if the word exists in yasnippet, pressing tab will cause yasnippet to
;;; activate, otherwise, auto-complete will
(ac-set-trigger-key "TAB")
(ac-set-trigger-key "<tab>")
(add-to-list 'load-path "~/.emacs.d/elpa/auto-complete-clang/")
(require 'auto-complete-clang)
(global-set-key (kbd "C-`") 'ac-complete-clang)
Похоже, вы связали 'C- \' ', а не' C - ', с' ac-complete-clang'. Правильно ли эта комбинация запускает завершение? – Chris
@ Крис: Да, вы правы. Кроме того, это, похоже, делает завершение кода для моих библиотек, но есть ли способ сделать завершение кода для стандартных библиотек C++ (скажем, string, iostream и для сторонних библиотек (скажем, boost)) ?? – Fraz