-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc
120 lines (98 loc) · 4.5 KB
/
vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
call pathogen#infect()
call pathogen#helptags()
" Editing behaviour {{{
syn on "语法支持
set laststatus=2 "始终显示状态栏
set tabstop=4 "一个制表符的长度
set softtabstop=4 "一个制表符的长度(可以大于tabstop)
set shiftwidth=4 "一个缩进的长度
set expandtab "使用空格替代制表符
set smarttab "智能制表符
set autoindent "自动缩进
set smartindent "只能缩进
set number "显示行号
set ruler "显示位置指示器
set nobackup "设置取消备份 禁止临时文件生成
set noswapfile
set backupdir=~/.vim/tmp "设置备份文件目录
set directory=~/.vim/tmp "设置临时文件目录
set ignorecase "检索时忽略大小写
set hls "检索时高亮显示匹配项
set helplang=cn "帮助系统设置为中文
set foldmethod=syntax "代码折叠
set foldlevelstart=99 "打开文件是默认不折叠代码
set encoding=utf-8 "设置编码方式
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 "自动判断编码时 依次尝试一下编码
set hidden "设置隐藏缓冲区
set incsearch "设置搜索预览结果
"{{{
"theme mustang_silent, molokai, railscat, kellys, molokai_deep, wombat256, mustang, mustang_silent, badwolf
"colorscheme mustang_silent
set background=dark
"colorscheme solarized
let mapleader=","
"<C-l> 通常用于清除并重绘显示屏(参见 :h CTRL-L )。而新的映射项,是在 原有基础之上增加了暂时关闭查找高亮的功能。
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
" NERDTree settings {{{
nnoremap <TAB> :NERDTreeToggle<CR>
"nnoremap <leader>m :NERDTreeClose<CR>:NERDTreeFind<CR>
" Store the bookmarks file
let NERDTreeBookmarksFile=expand("$HOME/.vim/NERDTreeBookmarks")
" Show the bookmarks table on startup
let NERDTreeShowBookmarks=1
" Show hidden files, too
let NERDTreeShowFiles=1
let NERDTreeShowHidden=1
" Quit on opening files from the tree
let NERDTreeQuitOnOpen=1
" Highlight the selected entry in the tree
let NERDTreeHighlightCursorline=1
" Use a single click to fold/unfold directories and a double click to open
" files
let NERDTreeMouseMode=2
" Don't display these kinds of files
let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.py\$class$', '\.obj$',
\ '\.o$', '\.so$', '\.egg$', '^\.git$' ]
" }}}
" neocomplcache settings {{{
let g:neocomplcache_temporary_dir = $HOME.'/.vim/tmp/neocomplcache'
" Define dictionary.
let g:neocomplcache_dictionary_filetype_lists = {
\ 'default' : $HOME.'/.vim/tmp/',
\ 'vimshell' : $HOME.'/.vim/tmp/vimshell_hist',
\ 'scheme' : $HOME.'/.vim/tmp/gosh_completions'
\ }
let g:acp_enableAtStartup = 0
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
" Enable omni completion.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
" Enable heavy omni completion.
if !exists('g:neocomplcache_omni_patterns')
let g:neocomplcache_omni_patterns = {}
endif
let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
let g:neocomplcache_omni_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'
let g:neocomplcache_omni_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'
" }}}
" Powerline configuration ------------------------------------------------- {{{
"let g:Powerline_symbols = 'compatible'
let g:Powerline_symbols = 'fancy'
" }}}
nnoremap <leader>l :TagbarToggle<CR>
let g:tagbar_ctags_bin = '/usr/local/homebrew/bin/ctags'
let g:tagbar_width = 30
let g:ctrlp_cache_dir = $HOME.'/.vim/tmp/cache/ctrlp'
let g:syntastic_javascript_checkers = ['$HOME/Workspace/m-full-stack/node_modules/.bin/eslint']
let g:syntastic_always_populate_loc_list = 1
let g:formatdef_eslint = '"SRC=eslint-temp-${RANDOM}.js; cat - >$SRC; eslint --fix $SRC >/dev/null 2>&1; cat $SRC | perl -pe \"chomp if eof\"; rm -f $SRC"'
let g:formatters_javascript = ['$HOME/Workspace/m-full-stack/node_modules/.bin/eslint']