我的vim和emacs配置文件(2014-05-19更新)

配置的Github地址

     https://github.com/cnsworder/dev_init

     说明: 除了vim和emacs的配置还有python(pypip,virtualenv),字体,zsh的快速安装和配置. `./init.sh -a` 一步自动完成所有配置工作.

      国内镜像csdn code地址: https://code.csdn.net/cnsword/dev_init

vimrc:

filetype off

set rtp+=~/.vim/bundle/vundle
call vundle#begin()

Plugin 'gmarik/vundle'
Plugin 'L9'
Plugin 'FuzzyFinder'
Plugin 'The-NERD-tree'
Plugin 'Tagbar'
Plugin 'bling/vim-airline'
"Plugin 'Lokaltog/vim-powerline.git'
Plugin 'terryma/vim-multiple-cursors.git'
Plugin 'a.vim'
"Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'Yggdroot/indentLine'
Plugin 'minibufexpl.vim'
Plugin 'clang-complete'
"Plugin 'Valloric/YouCompleteMe'
Plugin 'scrooloose/syntastic'
Plugin 'ctrlp.vim'
Plugin 'molokai'
Plugin 'Keithbsmiley/investigate.vim'
Plugin 'mattn/gist-vim'
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/nerdcommenter'
"Plugin 'FriedSock/smeargle'
"Plugin 'snipMate'
"Plugin 'OmniCppComplete'
Plugin 'mbbill/undotree'
"Plugin 'vim-scripts/UltiSnips'
Plugin 'MarcWeber/vim-addon-mw-utils'
Plugin 'garbas/vim-snipmate'
call vundle#end()

filetype plugin indent on

syntax on
colorscheme molokai

let mapleader=";"

if has("gui_running")
    set guioptions-=T    
else
    set t_Co=256
    colorscheme molokai
endif

"set guifont=文泉驿等宽微米黑\ 12
set guifont=DejaVu\ Sans\ Mono\ 12

set nobackup
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
"set list
"let g:indent_guides_auto_colors=0
"let g:indent_guides_start_level=2
"let g:indent_guides_guide_size=1
"autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=red   ctermbg=3
"autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4
"let g:indentLine_color_term = 239
"let g:indentLine_color_gui = '#A4E57E'
"let g:indentLine_char = '┆'
"IndentGuidesToggle

"let g:airline#extensions#tabline#enabled = 1
"let g:airline#extensions#tabline#left_sep = '<'
"let g:airline#extensions#tabline#right_sep = '>'

let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1

"let t_Co=256
set laststatus=2
"set encoding=utf-8
"let g:Powerline_symbols = 'unicode'

let g:clang_complete_copen=1
let g:clang_periodic_quickfix=0
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=".clang_complete"
"let g:airline#extension#tabline#enabled = 1
"let g:ctrlp_cmd = 'CtrlPBuffer'

imap <C-f> <ESC>:FufBuffer <cr>
nnoremap <F5> :UndotreeToggle <cr>
nnoremap <F3> :NERDTreeToggle <cr>
nnoremap <F4> :TagbarToggle <cr>
nnoremap <F10> :PluginUpdate <cr>

nmap <silent> <leader>f :FufBuffer <cr>
nmap <silent> <leader>q :q <cr>
nmap <silent> <leader>w :w <cr>
nmap <silent> <leader>a :A <cr>

"nerdcommment <leader>cc <leader>cu
 
"PluginUpdate


使用的插件: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, tabbar

company添加搜索,项目目录下添加.dir-locals.el,定义内容:

((nil . ((company-clang-arguments . ("-I/home/<user>/project_root/include1/"
                                     "-I/home/<user>/project_root/include2/")))))

添加系统搜索路径

(add-to-list 'company-backends 'company-c-headers)

(add-to-list 'company-c-headers-path-system "/usr/include/c++/4.8/")

解决emacs启动慢的问题:

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


emacs --daemon

export ALTERNATE_EDITOR=emacs EDITOR=emacsclient 
emacscliet -c

emacsclient -t

最新配置截图:

emacs:

vim:


term下的文件管理器ranger:




term的git管理工具tig:



  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值