正在学 VC++,当然是先学 C++,可是每次打开一个虚拟机,用那个一点也不好用的 VC++ 编程,真是一件痛苦的事情…… 于是我卧薪尝胆、发奋图强,终于把 Vim 配置得差不多了。 看一下效果~ 我的 .vimrc: "设定操作系统 function! MySys() return "linux" endfunction """"""""""""""""""""""""""""""""""""""" "常规 """"""""""""""""""""""""""""""""""""""" "编码 set fileencodings=ucs-bom,utf-8,gb18030,gb2312,gbk,cp936 "文件类型识别 filetype plugin indent on "设置shell if MySys() == "linux" set shell=bash endif "关闭兼容模式 set nocompatible "外部修改时自动读取 set autoread "设置鼠标 set mouse=a "设置历史 set history=400 "设置mapleader let mapleader="," let g:mapleader="," let g:C_MapLeader="," "设置Tlist "let Tlist_Show_One_File=1 "let Tlist_Auto_Open=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_SingleClick=1 let Tlist_Auto_Highlight_Tag=1 let tlist_make_settings='make;m:makros;t:targets' let tlist_qmake_settings='qmake;t:SystemVariables' "winManager let g:persistentBehaviour=0 let g:winManagerWindowLayout='FileExplorer|TagList' :set cscopequickfix=s-,c-,d-,i-,t-,e- """"""""""""""""""""""""""""""""""""""" "界面 """"""""""""""""""""""""""""""""""""""" "显示行号 set number "显示光标位置 set ruler "增强命令行补全 set wildmenu "设置命令行高度 set cmdheight=2 "减少刷新和重画 set lz "设置退格键 set backspace=eol,start,indent "设置跨行键 set whichwrap+=<,>,h,l "搜索时忽略大小写 set ignorecase "搜索时高亮关键字 set hlsearch "设置magic set magic "关闭提示音 set noerrorbells set novisualbell set vb t_vb= "自动匹配括号 set showmatch set mat=2 """"""""""""""""""""""""""""""""""""""" "文本 """"""""""""""""""""""""""""""""""""""" "设置Tab键 set expandtab set smarttab set tabstop=4 set shiftwidth=4 "自动缩进与智能缩进 set autoindent set smartindent "换行不截断单词 set linebreak "C风格缩进 set cindent set guifont=terminus\ 10 "自动补全 set completeopt=longest,menu """"""""""""""""""""""""""""""""""""""" "状态条 """"""""""""""""""""""""""""""""""""""" set laststatus=2 """"""""""""""""""""""""""""""""""""""" "外观 """"""""""""""""""""""""""""""""""""""" "语法高亮 syntax enable "设置颜色主题 set t_Co=256 colorscheme darkblue "高亮当前行 set cursorline if has("gui_running") colorscheme slate hi cursorline guibg=#333333 hi CursorColumn guibg=#333333 endif "高亮菜单 hi Pmenu guibg=#333333 hi PmenuSel guibg=#555555 guifg=#ffffff """""""""""""""""""""""""""""""""""""" "Ctags """""""""""""""""""""""""""""""""""""" "set tags+=/home/iven/. vim /gtktags set autochdir """"""""""""""""""""""""""""""""""""""" "补全快捷键 """"""""""""""""""""""""""""""""""""""" function! SuperCleverTab() if strpart(getline('.'), 0, col('.') - 1) =~ '^\s*$' return "\" else if &omnifunc != '' return "\\" elseif &dictionary != '' return "\" else return "\" endif endif endfunction inoremap =SuperCleverTab() """""""""""""""""""""""""""""""""""""" "快捷键 """"""""""""""""""""""""""""""""""""""" "Tlist noremap :Tlist inoremap :Tlist map w :WMToggle "快速保存 nmap w :w "快速重载.vimrc "map s :source ~/.vimrc "快速编辑.vimrc "map e :e ~/.vimrc "当.vimrc改变时,自动重载 autocmd! bufwritepost vimrc source ~/.vimrc "Paste toggle - when pasting something in, don't indent. set pastetoggle= "Remove indenting on empty lines map :%s/\s*$//g:noh'' "去除空行 map :g/^$/d "Super paste inoremap :set pastemui+mv'uV'v=:set nopaste "切换Tab map :tabnext "切换buffer map bn :bnext map bp :bprevious "生成Ctags map cta :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q:TlistUpdate """"""""""""""""""""""""""""""""""""""" "Python """"""""""""""""""""""""""""""""""""""" "自动补全 autocmd FileType python set complete+=k~/. vim /pydiction isk+=., "快速运行 au FileType python map :w!:!python % "快速补全 au FileType python inoremap $r return au FileType python inoremap $s self au FileType python inoremap $c ####kla au FileType python inoremap $i import au FileType python inoremap $p print au FileType python inoremap $d """"""O 呵呵,接下来就是学习 Vim 本身的用法了……可是不知道什么时候才有时间…… 配置时参考了 Easwy Yang 大侠的《vim使用进阶》,在此深表感谢!