首页 > 代码库 > vimrc示例

vimrc示例

 1 "===============================================================================
 2 "        Filename: vimrc
 3 "          Author: Wu Yin(吴垠)
 4 "           Email: lazy_fox#gmail.com
 5 "        Homepage: http://blog.csdn.net/wooin
 6 "         Created: 2007-10-26
 7 "===============================================================================
 8 set encoding=gb2312
 9 set guifont=Luxi/ Mono/ 9   " 设置字体,字体名称和字号
 10 set tabstop=4       " 设置tab键的宽度
 11 set backspace=2     " 设置退格键可用
 12 set nu!             " 显示行号
 13 set vbt_vb=        " vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
 14 "set wrap           " 自动换行
 15 "set nowrap         " 不自动换行
 16 set linebreak       " 整词换行
 17 set whichwrap=b,s,<,>,[,]       " 光标从行首和行末时可以跳到另一行去
 18 "set list                       " 显示制表符
 19 "set listchars = tab:>-,trail:- " 将制表符显示为‘>---‘,将行尾空格显示为‘-‘
 20 set listchars=tab:./ ,trail:.   " 将制表符显示为‘.   ‘
 21 set autochdir                   " 自动设置目录为正在编辑的文件所在的目录
 22 set hidden          " 没有保存的缓冲区可以自动被隐藏
 23 set scrolloff=5
 24 
 25 "--------------------------------------------------------------------------------
 26 " 查找/替换相关的设置
 27 "--------------------------------------------------------------------------------
 28 set hlsearch        " 高亮显示搜索结果
 29 set incsearch       " 查询时非常方便,如要查找book单词,当输入到/b时,会自动找到
 30                     " 第一个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的
 31                     " 单词,依次类推,进行查找时,使用此设置会快速找到答案,当你
 32                     " 找要匹配的单词时,别忘记回车
 33 set gdefault        " 替换时所有的行内匹配都被替换,而不是只有第一个
 34 
 35 "--------------------------------------------------------------------------------
 36 " 状态栏相关的设置
 37 "--------------------------------------------------------------------------------
 38 set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
 39 set laststatus=2    " always show the status line
 40 set ruler           " 在编辑过程中,在右下角显示光标位置的状态行
 41 
 42 "--------------------------------------------------------------------------------
 43 " 编程相关的设置
 44 "--------------------------------------------------------------------------------
 45 set completeopt=longest,menu    " 关掉智能补全时的预览窗口
 46 filetype pluginindenton       " 加了这句才可以用智能补全
 47 :set tags=/home/nfs/microwindows/src/tags
 48 syn on              " 打开语法高亮
 49 set showmatch       " 设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
 50 set smartindent     " 智能对齐方式
 51 set shiftwidth=4    " 换行时行间交错使用4个空格
 52 set autoindent      " 自动对齐
 53 set ai!             " 设置自动缩进
 54 colorscheme desert_wuyin
 55 
 56 "--------------------------------------------------------------------------------
 57 " 代码折叠
 58 "--------------------------------------------------------------------------------
 59 "set foldmarker={,}
 60 "set foldmethod=marker
 61 set foldmethod=syntax
 62 set foldlevel=100       " Don‘t autofold anything (but I can still fold manually)
 63 "set foldopen-=search   " don‘t open folds when you search into them
 64 "set foldopen-=undo     " don‘t open folds when you undo stuff
 65 "set foldcolumn=4
 66 
 67 "--------------------------------------------------------------------------------
 68 " 模仿MS Windows中的快捷键
 69 "--------------------------------------------------------------------------------
 70 vmap <C-c> "yy
 71 vmap <C-x> "yd
 72 nmap <C-v> "yp
 73 vmap <C-v> "yp
 74 nmap <C-a> ggvG$
 75 
 76 "--------------------------------------------------------------------------------
 77 " 窗口操作的快捷键
 78 "--------------------------------------------------------------------------------
 79 nmap wv     <C-w>v     " 垂直分割当前窗口
 80 nmap wc     <C-w>c     " 关闭当前窗口
 81 nmap ws     <C-w>s     " 水平分割当前窗口
 82 
 83 "--------------------------------------------------------------------------------
 84 " 模仿MS Windows中的保存命令: Ctrl+S
 85 "--------------------------------------------------------------------------------
 86 imap <C-s> <Esc>:wa<cr>i<Right>
 87 nmap <C-s> :wa<cr>
 88 
 89 
 90 
 91 
 92 "###############################################################################
 93 " The following is the Plugins‘ setting
 94 "###############################################################################
 95 
 96 "--------------------------------------------------------------------------------
 97 " TagList :Tlist
 98 "--------------------------------------------------------------------------------
 99 let Tlist_Show_One_File=1
100 let Tlist_Exit_OnlyWindow = 1
101 "let Tlist_Use_Right_Window=1
102 
103 "--------------------------------------------------------------------------------
104 " netrw 文件浏览器 :e <PATH>
105 "--------------------------------------------------------------------------------
106 "let g:netrw_winsize = 30       " 浏览器宽度
107 
108 "--------------------------------------------------------------------------------
109 " QuickFix
110 "--------------------------------------------------------------------------------
111 nmap <F6> :cn<cr>   " 切换到下一个结果
112 nmap <F7> :cp<cr>   " 切换到上一个结果
113 
114 "--------------------------------------------------------------------------------
115 " WinManager :WMToggle
116 "--------------------------------------------------------------------------------
117 let g:winManagerWindowLayout=‘FileExplorer|TagList‘
118 "let g:winManagerWidth = 30
119 "let g:defaultExplorer = 0
120 "nmap <C-w><C-b> :BottomExplorerWindow<cr> " 切换到最下面一个窗格
121 "nmap <C-w><C-f> :FirstExplorerWindow<cr>   " 切换到最上面一个窗格
122 nmap wm :WMToggle<cr> " 是nomal模式的命令,不是Ex模式的
123 
124 "--------------------------------------------------------------------------------
125 " MiniBufExp
126 "--------------------------------------------------------------------------------
127 "let g:miniBufExplMapWindowNavVim = 1
128 let g:miniBufExplMapWindowNavArrows = 1
129 let g:miniBufExplMapCTabSwitchBufs = 1
130 "let g:miniBufExplModSelTarget = 1
131 
132 "--------------------------------------------------------------------------------
133 " cscope
134 "--------------------------------------------------------------------------------
135 cs add /home/nfs/microwindows/src/cscope.out /home/nfs/microwindows/src
136 :set cscopequickfix=s-,c-,d-,i-,t-,e-
137 :set cscopetag
138 " 按下面这种组合键有技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪
139 " 就回到nomal状态了
140 " <C-_>s的按法是先按"Ctrl+Shift+-",然后很快再按"s"
141 nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr> :cw<cr>
142 nmap <C-_>g :cs find g <C-R>=expand("<cword>")<cr><cr> :cw<cr>
143 nmap <C-_>c :cs find c <C-R>=expand("<cword>")<cr><cr> :cw<cr>
144 nmap <C-_>t :cs find t <C-R>=expand("<cword>")<cr><cr> :cw<cr>
145 nmap <C-_>e :cs find e <C-R>=expand("<cword>")<cr><cr> :cw<cr>
146 nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<cr><cr>
147 nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<cr><cr> :cw<cr>
148 nmap <C-_>d :cs find d <C-R>=expand("<cword>")<cr><cr> :cw<cr>
149 
150 "--------------------------------------------------------------------------------
151 " Grep
152 "--------------------------------------------------------------------------------
153 "直接按下<F3>键来查找光标所在的字符串
154 nnoremap <silent> <F3> :Rgrep<CR>
155 
156 "--------------------------------------------------------------------------------
157 " A
158 "--------------------------------------------------------------------------------
159 nnoremap <silent> <F12> :A<CR>
160 
161 "--------------------------------------------------------------------------------
162 " NERD_commenter
163 "--------------------------------------------------------------------------------
164 let NERD_c_alt_style = 1    " 将C语言的注释符号改为//, 默认是/**/
165 "nmap <F5> ,cc
166 
167 "--------------------------------------------------------------------------------
168 " SuperTab :SuperTabHelp
169 "--------------------------------------------------------------------------------
170 let g:SuperTabRetainCompletionType = 2
171 let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
172 
173 "--------------------------------------------------------------------------------
174 " CVim :help csupport
175 "--------------------------------------------------------------------------------
176 let g:C_Comments = "no"         " 用C++的注释风格
177 let g:C_BraceOnNewLine = "no"   " ‘{‘是否独自一行
178 let g:C_AuthorName = "Wu Yin"
179 let g:C_Project="F9"
180 let g:Cpp_Template_Function = "c-function-description-wuyin"
181 let g:C_TypeOfH = "c"           " *.h文件的文件类型是C还是C++
182 
183 "##################################################################
184 "########################## End Of Vimrc ##########################
185 "##################################################################
186 
187 " if filetype is C
188 "   TODO
189 " fi