Vim
我的vim插件
- vim-latex-suite
- snipmate
- supertab
- vimwiki
- Matrix(这纯粹是玩具)
- vimim
- pathogen
- slimv (slime 接口不能用,好像作者vim版本才7.0)
vimhacks
我的vimrc文件
我的系统是archlinux,i686,vim版本7.3
"================================ filetype plugin indent off "pathogen,vim addons manager call pathogen#infect() "================================ "设置行号 set nu "选择配色 colo torte "指定字体 if has("gui_gtk2") "set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12 set guifont=Courier\ 12 set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12 endif "显示命令 set showcmd "使在可视模式时可以用p粘帖替换 "vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR> "在终端支持和gui界面使用语法高亮和搜索高亮 if &t_Co > 2 || has("gui_running") syntax on set hlsearch endif "全局行宽 "set textwidth=24 "在文件类型为tex时指定行宽 autocmd FileType tex setlocal textwidth=78 "这是另一个自动命令. 这次它服务的对象是所有类型的文件. 它所 "执行的复杂功能是检查是否定义了标记`" , 如果定义了就跳转到这个位 "置 autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g‘\"" | \ endif "将自动备份文件扩展名改为.bak而非默认的~ set backupext=.bak "保存原始版本并指定扩展名 "set patchmode=.orig "鼠标使用微软习惯,支持右键菜单 behave mswin "让shift缩进两个字符 set shiftwidth=2 "支持中文 "set encoding=UTF-8 set fileencodings=UTF-8,cp936,GB2312,GBK,GB18030 "set termencoding=UTF-8 "set fileformats=unix,dos "插件fencview "let g:fencview_autodetect=1 "不知道为什么没用 "insert模式<F2>加入时间戳 imap <F2> <C-R>=strftime("%c")<CR> if has("gui_running") "au GUIEnter * simalt ~x " 窗口启动时自动最大化{这个没有用啊} "set guioptions-=m " 隐藏菜单栏 set guioptions-=T " 隐藏工具栏 "set guioptions-=L " 隐藏左侧滚动条 "set guioptions-=r " 隐藏右侧滚动条 "set guioptions-=b " 隐藏底部滚动条 "set showtabline=0 " 隐藏Tab栏 endif "状态行显示的内容 [包括系统平台、文件类型、坐标、所占比例、时间等] "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %y%r%m%*%=\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} " ######### 括号、引号、中括号等自动匹配 ######### " :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair(')')<CR> :inoremap { {}<ESC>i :inoremap } <c-r>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair(']')<CR> ":inoremap < <><ESC>i ":inoremap > <c-r>=ClosePair('>')<CR> ":inoremap " ""<ESC>i ":inoremap ' ''<ESC>i ":inoremap ` ``<ESC>i function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\<Right>" else return a:char endif endf "========================================================= "vim-latex插件手册要求配置 " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file. "打开文件类型识别,插件识别 filetype plugin on " IMPORTANT: win32 users will need to have 'shellslash' set so that latex " can be called correctly. set shellslash " IMPORTANT: grep will sometimes skip displaying the file name if you " search in a singe file. This will confuse Latex-Suite. Set your grep " program to always generate a file-name. set grepprg=grep\ -nH\ $* " OPTIONAL: This enables automatic indentation as you type. filetype indent on " OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to " 'plaintex' instead of 'tex', which results in vim-latex not being loaded. " The following changes the default filetype back to 'tex': let g:tex_flavor='latex' "生成pdf而非dvi let g:Tex_DefaultTargetFormat = 'pdf' "使用xelatex编译,参数保证正反向搜索 let g:Tex_CompileRule_pdf = 'xelatex -src-specials -synctex=1 -interaction=nonstopmode $*' "设置反向搜索 let g:Tex_ViewRule_pdf = 'okular' let g:Tex_UseEditorSettingInDVIViewer = 1 "useful? let g:Tex_UseMakefile = 0 "=================================== "防止vimwiki与supertab、snipmate的tab键冲突 let g:vimwiki_table_auto_fmt = 0 "supertab与snipmate的tab键冲突解决方案 let SuperTabMappingForward="<tab>" let SuperTabMappingBackward="<s-tab>" "wiki鼠标支持 let g:vimwiki_use_mouse = 1 let g:vimwiki_list = [{'path': '~/vimwiki/', \ 'template_path': '~/vimwiki/template/', \ 'template_default': 'template', \ 'template_ext': '.html'}] "使html标签生效 let g:vimwiki_valid_html_tags='b,i,s,u,sub,sup,kbd,br,hr,div,del,code,red,center,left,right,h4,h5,h6,pre' "为syntaxhighligter语法高亮加的 " let wiki.nested_syntaxes = {'python': 'python', 'c++': 'cpp', 'perl': 'perl'} " 不要将驼峰式词组作为 Wiki 词条 let g:vimwiki_camel_case = 0 "在vimwiki中使用calendar let g:vimwiki_use_calendar = 1 "================================ "cpp设置 "取消补全内容以分割子窗口形式出现,只显示补全列表 set completeopt=longest,menu "minibuffer let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 "======================================== "vimim云 "let vimim_cloud=-1 "======================================== "slimv "let g:slimv_python = 'python2' "let g:slimv_swank_cmd =! konsole -iconic -e "clisp" -i /home/lyy/.vim/bundle/slimv/slime/start-swank.lisp &