linux emacs

刚刚开始接触emacs,感觉不错。

linux系统为debian 7,

(1) 首先用apt-get 下载安装emacs

sudo apt-get install emacs

(2) emacs退出时,都会自动备份,生成   .filename~ (生成的隐藏备份文件),如想去掉此功能,可在其配置文档~/.emacs加入如下代码

;;turn off the backup
(setq make-backup-files nil)

(3) emacs非C/C++模式下,TAB有八个空格长度;在C/C++模式下有两个空格长度,如想修改此模式的TAB长度为四个空格长度,可在配置文档添加如下代码

;; tab and space 
;; when true, emacs use mixture of tab and space to achieve offset 
(setq-default indent-tabs-mode nil) 
;; control length used to offset. 
(setq-default c-basic-offset 4) 
;; control how emacs explain TAB. 
(setq-default tab-width 4) 

(4) 完成以上三项配置,就可以做一些基本的编程了,为了方便管理大型程序,可以配置cscope(C/C++浏览工具)

1、  首先下载安装cscope

sudo apt-get install cscope

2、 安装好后发现确少xcscope.el(用于连接emacs和cscope),在网上下载此文件放入/usr/share/emacs/site-lisp, 

然后打开.emacs,加入如下代码

;;LOAD_PATH use cscope     
(require 'xcscope)

(5) 安装yasnippet(单词补全插件),使用如下一条指令,即可安装并使用

sudo apt-get install yasnippet

(6.1) 下载安装auto-compete(自动补全插件,在emacs中可以yasnippet为source进行补全,使补全功能更强大)

1、 http://cx4a.org/software/auto-complete/     进入该网站下载软件包auto-complete-1.3.1.tar.bz2

2、 解压缩软件包,生成auto-complete-1.3.1,进入该文件打开终端输入make,生成一些必需文件

3、 新建安装目录 /usr/local/emacs_AC(也可以是其他安装目录),由于在此路径下要root权限才能操作,所以输入以下指令进行安装

sudo make install 

然后会有提示输入安装路径:/usr/local/emacs_AC

安装成功后会给出几条代码:(add-to-list 'load-path "/usr/local/emacs_AC")
        (require 'auto-complete-config)
         (add-to-list 'ac-dictionary-directories "/usr/local/emacs_AC/ac-dict")
         (ac-config-default)

将以上代码加入.emacs中,然后进入emacs,M-x auto-complete-mode 就可以使用了。

(!!注意第3步中的sudo make install,如果安装目录操作需要root权限,却直接make install,会安装到一半提示,权限不够,而且auto-complete-1.3.1里面的一些安装文件的属性会变化(比如有些文件图案会出现小锁,刚开始时候都没有),这样还是进入此解压文件auto-complete-1.3.1进行sudo make install 会提示安装成功,但emacs却不能调用auto-complete的情况)

(6.2) 1、 如果上述方法不成功,将上述方法产生的文件都删除,重新解压auto-complete-1.3.1.tar.bz2,生成auto-complete-1.3.1,进入该文件,打开终端,输入make

2、 新建安装目录/home/debian/emacs_AC(注意:此目录操作不需要root权限)

3、 确认解压文件auto-complete-1.3.1中的文件都是可读写的,即文件图案上没有小锁,在进入etc文件夹,打开emacs,输入指令M-x load-file,然后提示加载文件,      输入:install.el

4、 等待提示输入安装目录:/home/debian/emacs_AC

5、 安装成功后同样会给出代码:(add-to-list 'load-path "/home/debian/emacs_AC")
    (require 'auto-complete-config)
    (add-to-list 'ac-dictionary-directories "/home/debian/emacs_AC/ac-dict")
    (ac-config-default)

将以上代码加入.emacs中,然后进入emacs,M-x auto-complete-mode 就可以使用了。

(!!注意此方法的安装目录的操作权限必需是普通权限,因为在emacs安装此插件时,只能操作非root权限的文件夹)

(7) 接下来,将yasnippet和auto-complete结合起来使用,在.emacs添加如下代码,添加完成后会自动提示,橘红色的是yasnippet,剩下的是auto-complete本身的。

;;========================================================
;; Yasnippet and Auto-complete settings
;;========================================================


(require 'yasnippet)
(yas-global-mode 1)
(require 'auto-complete)
(require 'auto-complete-config)
;;使用增强列表
(require 'pos-tip)
(setq ac-quick-help-prefer-pos-tip)
;;启用默认ac设置
(ac-config-default)
(auto-complete-mode 1)
;;添加backspac触发列表
(setq ac-trigger-commands
      (cons 'backward-delete-char-untabify ac-trigger-commands))
;;使用帮助模式
(setq ac-use-quick-help t)
(setq ac-quick-help-delay 1.0)
;;开启ac-dwin
(setq ac-dwim t)
;;设置ac数据文件位置
;;(setq ac-comphist-file (expand-file-name "ac-comphist/ac-comphist.dat" prelude-savefile-dir))
;;(check-temp-dir (expand-file-name "ac-comphist/" prelude-savefile-dir))
;;添加ac补全源
(set-default 'ac-sources
             '(ac-source-semantic ;;ac使用semantic的分析结果
               ac-source-yasnippet
               ac-source-abbrev
               ac-source-words-in-buffer
               ac-source-words-in-all-buffer
               ac-source-imenu
               ac-source-files-in-current-dir
               ac-source-filename))


;;yasnippet补全源的界面显示设置,这里颜色是红色的,用来与ac本身的补全相区分
(defface ac-yasnippet-candidate-face
  '((t (:background "sandybrown" :foreground "black")))
  "Face for yasnippet candidate.")


(defface ac-yasnippet-selection-face
  '((t (:background "coral3" :foreground "white")))
  "Face for the yasnippet selected candidate.")


(defvar ac-source-yasnippet
  '((candidates . ac-yasnippet-candidate)
    (action . yas/expand)
    (candidate-face . ac-yasnippet-candidate-face)
    (selection-face . ac-yasnippet-selection-face))
  "Source for Yasnippet.")

(8) 最后一步,使用flymake自动提示错误,在源程序目录下编写Makefile, 最后打开emacs,M-x flymake,即可使用

CXX=gcc
CHK_SOURCES=test1.c
.PHONY: check-syntax 
check-syntax: 
$(CXX) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值