Linux下vim配置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Linux vim config (/etc/vimrc)""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Use Vim defaults (much better!)" This should the priority setting, otherwise problems can appear"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set nocompatible""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 编码设置" fileformats(ffs)(vim才有)可指定多个,会依载入的档案形式来调整ff。" 例如:set ffs=unix, dos ff=unix则预设为unix格式,但如读入的是dos格式的" 档案,会自动调整为dos格式,这样存档时就会以dos格式存档。设置即为:" set fileformats=unix" set fileformat=unix并不会依据载入的档案形式来调整ff,并且只用unix形式" 所以,可以解决windows下的^M问题。" :set ff 可以查看当前文件fileformat" :set ffs 查看vim设置" 其实fileformats可以这样调整" set fileformats=unix,dos 这样也应该是可以解决^M问题的,让vim自动" 去选择是用dos,还是unix的,这应该是vim的默认设置," 当然也可以选择全局替换:%s/^M//g"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set fileencodings=utf-8,gb2312,gbk,gb18030set termencoding=utf-8set fileformat=unix"set fileformats=unixset encoding=prcset bs=indent,eol,start" allow backspacing over everything in insert modeset ai" always set autoindenting onset viminfo='20,\"50" read/write a .viminfo file, don't store more" than 50 lines of registers" Only do this part when compiled with support for autocommandsif has("autocmd") augroup redhat autocmd! " In text files, always limit the width of text to 78 characters autocmd BufRead *.txt set tw=78 " When editing a file, always jump to the last cursor position autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal! g'\"" | \ endif " don't write swapfile on most commonly used directories for NFS mounts or USB sticks autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp " start with spec file template autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec augroup ENDendifif has("cscope") && filereadable("/usr/bin/cscope") set csprg=/usr/bin/cscope set csto=0 set cst set nocsverb " add any database in current directory if filereadable("cscope.out") cs add cscope.out " else add database pointed to by environment elseif $CSCOPE_DB != "" cs add $CSCOPE_DB endif set csverbendif" Switch syntax highlighting on, when the terminal has colors" Also switch on highlighting the last used search pattern.if &t_Co > 2 || has("gui_running") syntax on set hlsearchendifif &term=="xterm" set t_Co=8 set t_Sb=[4%dm set t_Sf=[3%dmendif"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 检测文件类型" 载入文件类型插件" 为特定文件类型载入相关缩进文件"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""filetype onfiletype plugin onfiletype indent on""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" GUI config"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set ruler " show the cursor position all the timeset shortmess=atl " 启动的时候不显示援助索马里儿童的提示set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离" Don't wake up system with blinking cursor:let &guicursor = &guicursor . ",a:blinkon0"set history=50" keep 50 lines of command line historyset number " 显示行号set nobackup" no backup file"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 缩进"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set tabstop=4 " 设定 tab 长度为4set shiftwidth=4 " 缩进的空格数set expandtab " 是否在缩进和遇到Tab键时使用空格代替;使用noexpandtab取消设置set autoindent " 自动缩进set smartindentset cindent " Automatically adjust the indented length""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" python config"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 自动补全" 配置说明" 1. 下载pydiction, pydiction中包括了complete-dict和python_pydiction.vim" 2. cp complete-dict to /home/tony/.vim/dict/pydiction/" cp python_pydiction to /home/tony/.vim/plugin/" 3. $ sudo vim /etc/vimrc" add:" filetype plugin on" let g:pydiction_location = '/home/tony/.vim/dict/pydiction/complete-dict'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 快捷键说明" 需要补全到时候,按住tab键,便可以看到补全的内容" 然后通过ctrl-n, ctrl-p可以上下选择"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""filetype plugin onlet g:pydiction_location = '/home/tony/.vim/dict/pydiction/complete-dict'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Tag list(ctags)" 配置说明" 1. 安装ctags,正常yum中都会有提供" 2. 下载taglist, 解压缩, 里面有doc/taglist.txt和plugin/taglist.vim" 3. cp taglist.vim to ~/.vim/plugin/" cp taglist.txt to ~/.vim/doc/taglist.txt" 4. 使用ctags" $ cd ~/workspace/ProjectForge/ 此为源码到根目录" $ ctags -R 此时目录里面就生成了一个tags文件" $ vim ~/workspace/ProjectForge/filename.java 打开一个文件" 在vim中运行命令:" :set tags=/home/tony/workspace/ProjectForge/tags 该命令将tags文件加入到" vim中来,也可以将这句话放到~/.vimrc中去,如果经常在这个工程编程的话"" 光标在源码出:" Ctrl + ] 会跳转到方法那" Ctrl + t 又跳回到函数被调用的地方" 5. 使用taglist" 进入Vim后用下面的命令打开taglist窗口" :Tlist """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""let Tlist_Ctags_Cmd='/usr/bin/ctags' " 设定系统中ctags程序到位置let Tlist_Show_One_file=1 " 不同时显示多个的tag,只显示当前文件的let Tlist_Exit_OnlyWindow=1 " 如果taglist窗口是最后一个窗口,则推出vim"在右侧显示总是有点问题,那就默认显示在左侧,就很实用了。"let Tlist_Use_Right_Window=1 " 在右侧窗口中显示taglist窗口""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " winmanager config " 配置说明: " 1. 下载winmanager, 解压缩 " 2. 操作同taglist类似 " let g:winManagerWindowLayout='TagList|FileExplorer' 显示顺序,TagList在上,FileExplorer在下 " let g:winManagerWidth=30 30像素的宽度 " nmap wm :WMToggle 自定义快捷键 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let g:winManagerWindowLayout='TagList|FileExplorer' let g:winManagerWidth=30 nmap wm :WMToggle """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""