[root@Alicia ~]# vi ~/.bashrc 1 # .bashrc 2 3 # User specific aliases and functions 4 5 alias rm='rm -i' 6 alias cp='cp -i' 7 alias mv='mv -i' 8 alias vi='vim' #CentOS默认是用vi,不是vim 9 10 # Source global definitions 11 if [ -f /etc/bashrc ]; then 12 . /etc/bashrc 13 fi 14 export PATH=/usr/bin/python:$PATH 15 export PYTHONSTARTUP=~/.pythonstartup 16 export PYTHONSTARTUP=~/.pythonstartup
python 语法高亮
http://www.vim.org/scripts/script.php?script_id=790 [root@Alicia vim70]# mv /usr/share/vim/vim70/syntax/python.vim /usr/share/vim/vim70/syntax/python.vim.ori [root@Alicia vim70]# cp /home/share/vim/python.vim /usr/share/vim/vim70/syntax/ #更新最新版本python_vim
ctags intall
[root@Alicia~]# cd ctags-5.8/ [root@Alicia ctags-5.8]# ./configure [root@Alicia ctags-5.8]# make [root@Alicia ctags-5.8]# make install [root@Alicia ctags-5.8]# cd /usr/share/vim/vim70/ [root@Alicia vim70]# ctags -R #生成tags文件,记录了程序/项目的函数,类等的分析序列记录 [root@Alicia vim70]# ls after filetype.vim keymap scripts.vim autoload ftoff.vim lang spell bugreport.vim ftplugin macros synmenu.vim colors ftplugin.vim menu.vim syntax compiler ftplugof.vim mswin.vim tags complete-dict gvimrc_example.vim optwin.vim tools delmenu.vim indent plugin tutor doc indent.vim print vimrc_example.vim evim.vim indoff.vim pydiction.py 59 let Tlist_Show_One_File=1 [root@Alicia vim70]# vi /etc/vimrc set tags=/usr/share/vim/vim70/tags Note: 修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild,需要重新ctags -R ctrl-],ctrl-T进行切换,查找函数的定义
在vim中显示ctag序列列表
http://www.vim.org/scripts/script.php?script_id=273 [root@Alicia~]#unzip taglist_46.zip [root@Alicia~]#cd taglist_46/ [root@Alicia~]#cp doc/taglist.txt /usr/share/vim/vim70/doc/taglist.txt [root@Alicia~]#cp plugin/taglist.vim /usr/share/vim/vim70/plugin/taglist.vim [root@Alicia vim70]# vi /etc/vimrc 59 let Tlist_Show_One_File=1 不同时显示多个文件的tag,只显示当前文件 60 let Tlist_Exit_OnlyWindow=1 如果taglist窗口是最后一个窗口,则退出vim 61 let Tlist_Use_Right_Window =1 Tlist放在右边 62 let Tlist_Auto_Open =1 自动打开Tlist 63 let Tlist_File_Fold_Auto_Close=1 只显示当前文件tag,共它文件的tag折叠 64 let Tlist_Use_Hori_Windows =1 设置taglist窗口横向显示 useage: :Tlist taglist command: p 跳到光标下tag所定义的位置 u 更新taglist中的tag x taglist窗口大小 - 折叠 q 关闭
在vim中显示标签
http://www.vim.org/scripts/script.php?script_id=95 [root@Alicia vim70]# cp /home/share/vim/minibufexpl.vim /usr/share/vim/vim70/plugin/ [root@Alicia vim70]# vi /etc/vimrc 70 let g:miniBufExpMapWindowNavVim = 1 ctrl-w,h,j,k 71 let g:miniBufExpMapWindowNavArrows = 1 ctrl+<-,-> 72 let g:miniBufExpMapCTabSwitchBufs = 1 ctrl-tab, ctrl+shift-tab 73 let g:miniBufExpModSelTarget = 1
visual mark
http://www.vim.org/scripts/script.php?script_id=1026 [root@Alicia vim70]# cp /home/share/vim/visualmark.vim /usr/share/vim/vim70/plugin/ 27 " Public Interface: 28 if !hasmapto('<Plug>Vm_toggle_sign') 29 map <unique> <c-F2> <Plug>Vm_toggle_sign 30 map <silent> <unique> mm <Plug>Vm_toggle_sign # mm--mark 31 endif 32 nnoremap <silent> <script> <Plug>Vm_toggle_sign :call Vm_toggle_sign()<cr> 33 34 if !hasmapto('<Plug>Vm_goto_next_sign') 35 map <unique> mn <Plug>Vm_goto_next_sign #mn--go to next sign 36 endif 37 nnoremap <silent> <script> <Plug>Vm_goto_next_sign :call Vm_goto_next_sign()<cr> 38 39 if !hasmapto('<Plug>Vm_goto_prev_sign') 40 map <unique> mp <Plug>Vm_goto_prev_sign #mp--go to prev sign 41 endif 42 nnoremap <silent> <script> <Plug>Vm_goto_prev_sign :call Vm_goto_prev_sign()<cr>
文件浏览窗口管理器WinManager
http://www.vim.org/scripts/script.php?script_id=95 [root@Alicia vim70]# cp -r /home/share/vim/winmanager/plugin/* /usr/share/vim/vim70/plugin/ [root@Alicia vim70]# cp -r /home/share/vim/winmanager/doc/* /usr/share/vim/vim70/doc/ <cr>光标所在位置打开文件 - 返回上级目录 c 切换工作目录 d 删除目录 D 删除目录或文件 i 切换显示方式 R 重命名 [root@Alicia vim70]# vi /etc/vimrc 68 let g:winManagerWindowLayout='FileExplorer|Taglist' 69 nmap wm :WMToggle<cr> 在vim中按wm会出现文档与tag视图自动补齐
vim7.0自带pythoncomplete.vim [root@Alicia vim70]# vi /etc/vimrc autocmd Filetype python set omnifunc=pythoncomplete#Complete 便可以使用ctrl-x,ctrl-o进行补全,ctrl-p,ctrl-n进行选择,更加完整的做法: http://www.vim.org/scripts/script.php?script_id=850 [root@Alicia vim70]cd pydiction-1.2.3/ [root@Alicia vim70]ls [root@Alicia vim70]cd pydiction/ [root@Alicia vim70] cp pydiction.py complete-dict /usr/share/vim/vim70/after/ftplugin/ [root@Alicia vim70]cp after/ftplugin/python_pydiction.vim /usr/share/vim/vim70/after/ftplugin/ [root@Alicia vim70]# vi /etc/vimrc 34 filetype plugin on 35 let g:pydiction_location='/usr/share/vim/vim70/after/ftplugin/complete-dict' 36 let g:pydiction_menu_height=5 37 autocmd FileType py set shiftwidth=4 | set expandtab
[root@Alicia vim70]# vi /etc/vimrc 59 set fdm=indent zo: 打开光标位置的折叠代码 zc: 折叠光标位置的代码 zr: 将文件中所有折叠代码打开 zm: 将文件中所有代码折叠 zR: 与zr类似,但会打开子折叠 zM: 与zm类似,但会关闭子折叠 zi: 打开与关闭折叠
http://www.vim.org/scripts/script.php?script_id=311 [root@Alicia vim70]# vi /etc/vimrc 76 "set grep 77 nnoremap <silent>ft :Grep<CR> [root@Alicia vim70]# cp -r /home/share/vim/pyflakes-vim/ftplugin/* /usr/share/vim/vim70/ftplugin/ ft Search for pattern: self Search in files: *.py
http://easwy.com/blog/archives/advanced-vim-skills-cscope/ http://blog.sina.com.cn/s/blog_627bb2cf0101ftdx.html http://blog.chinaunix.net/uid-25719044-id-3026457.html http://blog.csdn.net/wooin/article/details/1858917