文档章节

我的vim和emacs配置文件

cnsworder
 cnsworder
发布于 2014/01/13 13:29
字数 692
阅读 382
收藏 9

vimrc:

colorscheme ron
set guifont=文泉驿等宽正黑\ Bold\ 12
syntax on
set nobackup
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set number
set laststatus=2
source $VIMRUNTIME/ftplugin/man.vim
command! -nargs=1 Gdb :!gdb "/home/cnsworder/work/test<args>"
nmap <F8> :WMToggle<cr>
nmap <F5> :make<cr>nmap <F6> :make clean<cr>
nmap <F9> :Gdb test<cr>
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'The-NERD-tree'
Bundle 'Tagbar'
"Bundle 'vim-powerline'
"Bundle 'OmniCppComplete'
Bundle 'scrooloose/syntastic'
Bundle 'clang-complete'
Bundle 'nathanaelkane/vim-indent-guides'
Bundle 'vim-airline'
Bundle 'ctrlp.vim'
let g:clang_complete_copen=1
let g:clang_periodic_quickfix=1
let g:clang_sinppets=1
let g:clang_close_preview=1
let g:clang_user_library=1
let g:clang_user_options="-fexceptions -I/usr/include -I/usr/local/include"
let g:syntastic_c_cflags_file='.syntastic'
let g:airline#extension#tabline#enabled = 1
let g:ctrlp_cmd = 'CtrlPBuffer'

使用的插件:vundle,L9,FuzzyFinder,vim-airline(vim-powerline),Tagbar,The-NERD-Tree,ctrlp(minibuff),AA,c,omnicomplete(尝试使用clang-complete或者Valloric/YouCompleteMe代替),doxygenToolkit,snipMate, vim-indent-guides,scrooloose/syntastic 使用clang_complete对项目编译附加参数或者自定义的头文件或库目录需要添加到当前文件夹下的.clang_complete文件中

-I/usr/include
-I/usr/include/c++/4.8.2
-I./file_protocol
-I./file_client
-I./file_server
-I/home/cnsworder/Develop/fastdfs-read-only/client
-I/home/cnsworder/Develop/fastdfs-read-only/common
-I/home/cnsworder/Develop/fastdfs-read-only/tracker
-I/home/cnsworder/Develop/fastdfs-read-only/storage

YouCompleteMe补全C/C++可能需要编译生产libclang.so,直接在YouCompleteMe目录下执行./install.sh --clang-completer,这个过程需要网络下载clang。并且需要配置~/.ycm_extra_conf.py,模板在~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,注释掉一下内容,clang需要libc++这个flags参数。编译参数也是配置flags队列

 try:
      final_flags.remove( '-stdlib=libc++' )
except ValueError:
      pass

目前使用的是clang-completer,没有使用ycm。

emacs:

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(column-number-mode t)
 '(ecb-layout-window-sizes nil)
 '(ecb-options-version "2.40")
 '(ecb-source-path (quote ("/home/cnsworder"))))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 )
(require 'package)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-rpo.org/packages/"))
(add-to-list 'package-archives '("melpa", "http://melpa.milkbox.net/packages/"))
(package-initialize)

(if (not (package-installed-p `markdown-mode))
    (package-install `markdown-mode))
(if (not (package-installed-p `company))
    (package-install `company))
(if (not (package-installed-p `markdown-mode))
    (package-install `markdown-mode))
(if (not (package-installed-p `sr-speedbar))
    (package-install `sr-speedbar))
(if (not (package-installed-p `tabbar))
    (package-install `tabbar))

(add-to-list 'load-path "/home/cnsworder/.emacs.d/elpa/company-0.6.12/")
(autoload 'company-mode "company" nil t)
(defun make-IDE()
   (interactive)
   (require 'cedet)
   (require 'semantic-ia)
;; Enable EDE (Project Management) features
;;(global-ede-mode 0)

(require 'tabbar)
(tabbar-mode t)

;; Enable SRecode (Template management) minor-mode.
   (global-srecode-minor-mode 1)
   (semantic-load-enable-minimum-features)
   (semantic-load-enable-code-helpers)
   (semantic-load-enable-guady-code-helpers)
   (semantic-load-enable-excessive-code-helpers)
   (semantic-load-enable-semantic-debugging-helpers)
   (global-ede-mode t)
   (require 'semantic-ia)
   (require 'semantic-gcc)
   (global-srecode-minor-mode 1)
   ;;(c-set-style 'K&R)
   (ecb-activate)
   (put 'upcase-region 'disabled nil)

   (require 'auto-complete-config)
   (add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/ac-dict")
   (ac-config-default)
   (require 'eassist nil 'noerror)
   (global-set-key [f5] 'compile)
   (global-set-key [f9] 'gdb)
)
(setq default-tab-width 4)
(add-hook c++-mode-hook (lambda ()
(setq indent-tabs-mode nil))
(global-linum-mode t)
(defun load-source () (interactive)
   (load-file "~/.emacs"))
(global-set-key [f11] 'load-source)
(global-set-key [f12] 'make-IDE)
(set-default-font ”文泉驿等宽正黑 Bold 12“)

使用的插件:ecb(cedet,semantic),company(auto-complete),ac-dict,sr-speedbar 解决emacs启动慢的问题:

在/etc/hosts中添加自己机器名的解析

启用emacs server

emacs --daemon
export ALTERNATE_EDITOR=emacs EDITOR=emacsclient 
emacscliet -c
emacsclient -t

最新配置截图: emacs:
emacs vim: vim github地址:git@github.com:cnsworder/crossword.git

© 著作权归作者所有

cnsworder
粉丝 5
博文 11
码字总数 4846
作品 0
济南
高级程序员
私信 提问
将Emacs配置成一个C/C++的IDE编程环境

1.写在前面 Linux下的编程,业界多数人士并不喜欢,尤其是习惯了在windows下编程的程序员,认为windows的IDE各种好,而linux下没有一个好 的IDE ,估计很多人就是卡在这个门槛上了(PS:听说...

鉴客
2012/06/06
37.2K
13
为何Emacs和Vim被称为两大神器

在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。 追求独步天下的高手和低手们睁着一睹它们的风采, 可看到它们朴素单薄的界面后,不禁心下怀疑:...

红薯
2011/01/10
27.6K
75
钗黛双收:若你也同Vim难割舍,却又看Emacs情切切

1 钗黛双收:若你也同Vim难割舍,却又看Emacs情切切 (引子) 这篇文章分享我的一些经历,写给和我一样对娇小的Vim难以割舍,又在抱上Emacs这个大家闺秀以后死活不愿意撒手的朋友们。 如果你...

GeofferySun
2012/03/13
0
8
从vim转向Emacs _ emacser.com文章收集

在Emacs中使用gdb调试程序 http://emacser.com/emacs-gdb.htm 1 引言 Emacs除了具有强大的编辑功能,还可以作为调试工具gdb的前端,对程序进行调试。使用Emacs进行调试,可以将程序的编写与调...

AlphaJay
2012/05/04
0
0
我为什么要学 Common Lisp

我喜欢文本处理,以前热衷于使用数据库技术。现在用 Vim 和 Perl。我可以不假思索的用 Vim 写 Perl 代码。像聊天一样。Perl 语言的所有特性我都熟悉,几乎不用查询帮助文档。其他语言中关于文...

沙枣
2013/08/31
0
1

没有更多内容

加载失败,请刷新页面

加载更多

抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

须臾之余
今天
2
0
springboot配置百度UEditor 富文本详解

富文本简介 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码... 准备工作 ueditor需要单独文...

wotrd
昨天
3
0
mysql 5.7之my.cnf配置大全

[client]port = 3306socket = /tmp/mysql.sock[mysqld]###############################基础设置######################################Mysql服务的唯一编号 每个mysql服务...

Online_Reus
昨天
2
0
MAVEN打包时引入外部链接的包

1.项目引入了ORACLE的jar包,MAVEN配置如下 2.打jar包的时候需要指定下main入口函数mainClass <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> ......

Cobbage
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部