vi配置文件

来源:互联网 发布:郭敬明 陈学冬 知乎 编辑:程序博客网 时间:2024/05/09 16:38
" Ctrl + H                   --光标移行首" Ctrl + J                   --光标移下一行行首" Ctrl + K                   --光标移上一行行尾" Ctrl + L                   --光标移行尾" Ctrl + Z                   --取代ESC模式键 [和部分软件的快捷键有冲突]" Ctrl + S                   --保存文件" Ctrl + C                   --编译 [支持C/C++、Java、Haskell]" Ctrl + R                   --运行 [支持C/C++、Java、Haskell、Lua、Perl、Python、Ruby]" Ctrl + ]                   --转到函数定义" Ctrl + T                   --返回调用函数" Ctrl + E                   --添加注释 [插入模式] [添加的是C语言的多行注释,所以适用于C/C++/Java等]" Ctrl + E                   --一步加载语法模板和作者、时间信息 [非插入模式]" <C-P>                      --单词补全" <C-X><C-L>                 --整行补全" Tab键                      --插入模式下的全功能语法结构补全 [snipMate插件]" Shift + Insert             --向Vim中粘贴从别处复制的内容" nt                         --打开NERDTree [非插入模式]" tl                         --打开TagList [非插入模式]" \ww                        --进入vimWiki模式 [非插入模式]" za                         --打开或关闭当前折叠" zM                         --关闭所有折叠" zR                         --打开所有折叠" :set syntax=cpp            --手动选择语法高亮 [或 :set filetype=cpp]" :%!xxd                     --转储二进制文件,以十六进制形式显示" :%!xxd -r                  --还原二进制文件" ---------- 主要插件详细用法说明 ---------------------" :Tlist                     --呼出变量和函数列表 [TagList插件]" :FencView                  --查看文件编码和更改文件编码 [FencView插件]" :LoadTemplate              --呼出语法模板 [Load_Template插件]" :AuthorInfoDetect          --添加作者、时间等信息 [NERD_commenter && authorinfo插件]" ---------- a.vim [自动切换C/C++同名头文件] ----------"" :A                         --切换同名头文件并独占整个屏幕" :AS                        --切换同名头文件并垂直分屏,头文件在上" :AV                        --切换同名头文件并水平分割,头文件在左" ---------- mark.vim [追踪高亮指定关键字] ------------"" \m                         --normal模式下,在想要高亮的单词上面敲击\m即可高亮或取消高亮该单词" :Mark                      --取消所有高亮" :Mark abc                  --指定高亮单词 abc 或取消高亮 abc" ---------- NERDTree [智能文件浏览器] ----------------"" :NERDTree                  --启动NERDTree插件" o [小写]                   --切换当前文件或目录的打开、关闭状态" u                          --打开上层目录" p [小写]                   --返回上层目录" P [大写]                   --返回根目录" K                          --转到当前目录第一个节点" J                          --转到当前目录最后的节点" m                          --显示文件系统菜单 [增、删、移]" ?                          --弹出帮助菜单" q                          --退出该插件colorscheme blackboard       " 着色模式set guifont=Monaco:h10       " 字体 && 字号set tabstop=4                " 设置tab键的宽度set shiftwidth=4             " 换行时行间交错使用4个空格set autoindent               " 自动对齐set backspace=2              " 设置退格键可用set cindent shiftwidth=4     " 自动缩进4空格set smartindent              " 智能自动缩进set ai!                      " 设置自动缩进set nu!                      " 显示行号"set showmatch               " 显示括号配对情况set mouse=a                  " 启用鼠标set ruler                    " 右下角显示光标位置的状态行set incsearch                " 查找book时,当输入/b时会自动找到set hlsearch                 " 开启高亮显示结果set incsearch                " 开启实时搜索功能set nowrapscan               " 搜索到文件两端时不重新搜索set nocompatible             " 关闭兼容模式set vb t_vb=                 " 关闭提示音"set cursorline              " 突出显示当前行set hidden                   " 允许在有未保存的修改时切换缓冲区set list                     " 显示Tab符,使用一高亮竖线代替set listchars=tab:\|\ ,syntax enable                " 打开语法高亮syntax on                    " 开启文件类型侦测filetype indent on           " 针对不同的文件类型采用不同的缩进格式filetype plugin on           " 针对不同的文件类型加载对应的插件filetype plugin indent on    " 启用自动补全if has("gui_running")    au GUIEnter * simalt ~x  " 窗口启动时自动最大化    "winpos 20 20            " 指定窗口出现的位置,坐标原点在屏幕左上角    "set lines=20 columns=90 " 指定窗口大小,lines为高度,columns为宽度    "set guioptions-=m       " 隐藏菜单栏    set guioptions-=T        " 隐藏工具栏    "set guioptions-=L       " 隐藏左侧滚动条    "set guioptions-=r       " 隐藏右侧滚动条    "set guioptions-=b       " 隐藏底部滚动条    "set showtabline=0       " 隐藏Tab栏endifset writebackup              " 设置无备份文件set nobackupset autochdir                " 设定文件浏览器目录为当前目录"set nowrap                  " 设置不自动换行set foldmethod=syntax        " 选择代码折叠类型set foldlevel=100            " 禁止自动折叠set laststatus=2             " 开启状态栏信息set cmdheight=2              " 命令行的高度,默认为1,这里设为2" 每行超过80个的字符用下划线标示au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.erb,*.hs,*.vim 2match Underlined /.\%81v/" 设置编码set fenc=utf-8set encoding=utf-8set fileencodings=utf-8,gbk,cp936,latin-1" 解决菜单乱码source $VIMRUNTIME/delmenu.vimsource $VIMRUNTIME/menu.vim" 解决consle输出乱码language messages zh_CN.utf-8" For Haskell:let hs_highlight_delimiters=1            " 高亮定界符:let hs_highlight_boolean=1               " 把True和False识别为关键字:let hs_highlight_types=1                 " 把基本类型的名字识别为关键字:let hs_highlight_more_types=1            " 把更多常用类型识别为关键字:let hs_highlight_debug=1                 " 高亮调试函数的名字:let hs_allow_hash_operator=1             " 阻止把#高亮为错误" ======= 引号 && 括号自动匹配 ======= ":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>ifunction ClosePair(char)    if getline('.')[col('.') - 1] == a:char        return "\<Right>"    else        return a:char    endifendf" MiniBufExplorer     多个文件切换 可使用鼠标双击相应文件名进行切换let g:miniBufExplMapWindowNavVim=1let g:miniBufExplMapWindowNavArrows=1let g:miniBufExplMapCTabSwitchBufs=1let g:miniBufExplModSelTarget=1" :Tlist              调用TagListlet Tlist_Show_One_File=1                    " 只显示当前文件的tagslet Tlist_Exit_OnlyWindow=1                  " 如果Taglist窗口是最后一个窗口则退出Vimlet Tlist_Use_Right_Window=1                 " 在右侧窗口中显示let Tlist_File_Fold_Auto_Close=1             " 自动折叠" TxtBrowser          高亮TXT文本文件au BufRead,BufNewFile *.txt setlocal ft=txt" :FencView           查看文件编码和更改文件编码let g:fencview_autodetect=1" :LoadTemplate       根据文件后缀自动加载模板let g:template_path='D:\Apps\Gvim\vimfiles\template\'" :AuthorInfoDetect   自动添加作者、时间等信息,本质是NERD_commenter && authorinfo的结合let g:vimrc_author='Ruchee'let g:vimrc_email='my@ruchee.com'let g:vimrc_homepage='http://www.ruchee.com'" Ctrl + H            将光标移到行首imap <c-h> <ESC>I" Ctrl + J            将光标移到下一行的行首imap <c-j> <ESC>jI" Ctrl + K            将光标移到上一行的末尾imap <c-k> <ESC>kA" Ctrl + L            将光标移到行尾imap <c-l> <ESC>A" Ctrl + Z            取代ESC模式键imap <c-z> <ESC>" Ctrl + S            保存文件map <c-s> <ESC>:w<CR>imap <c-s> <ESC>:w<CR>avmap <c-s> <ESC>:w<CR>" Ctrl + E            一步加载语法模板和作者、时间信息 [非插入模式]map <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Givmap <c-e> <ESC>:LoadTemplate<CR><ESC>:AuthorInfoDetect<CR><ESC>Gi" Ctrl + E            在当前行添加C/C++/Java语言的多行注释 [插入模式]imap <c-e> /*  */<ESC>hhi" nt                  打开NERDTree [非插入模式]map nt :NERDTree<CR>" tl                  打开Taglist [非插入模式]map tl :Tlist<CR><c-l>" ======= 编译 && 运行 ======= "" 编译C源文件func! CompileGcc()    exec "w"    let compilecmd="!gcc -Wall -pedantic -std=c99 "    let compileflag="-o %<"    exec compilecmd." % ".compileflagendfunc" 编译C++源文件func! CompileCpp()    exec "w"    let compilecmd="!g++ -Wall -pedantic -std=c++98 "    let compileflag="-o %<"    exec compilecmd." % ".compileflagendfunc" 编译Java源文件func! CompileJava()    exec "w"    exec "!javac %"endfunc" 编译Haskell源文件func! CompileHaskell()    exec "w"    let compilecmd="!ghc --make "    let compileflag="-o %<"    exec compilecmd." % ".compileflagendfunc" 根据文件类型自动选择相应的编译函数func! CompileCode()        exec "w"        if &filetype == "c"            exec "call CompileGcc()"        elseif &filetype == "cpp"            exec "call CompileCpp()"        elseif &filetype == "java"            exec "call CompileJava()"        elseif &filetype == "haskell"            exec "call CompileHaskell()"        elseif &filetype == "lua"            exec "!lua %<.lua"        elseif &filetype == "perl"            exec "!perl %<.pl"        elseif &filetype == "python"            exec "!python %<.py"        elseif &filetype == "ruby"            exec "!ruby %<.rb"        endifendfunc" 运行可执行文件func! RunResult()        exec "w"        if &filetype == "c"            exec "! %<"        elseif &filetype == "cpp"            exec "! %<"        elseif &filetype == "java"            exec "!java %<"        elseif &filetype == "haskell"            exec "! %<"        elseif &filetype == "lua"            exec "!lua %<.lua"        elseif &filetype == "perl"            exec "!perl %<.pl"        elseif &filetype == "python"            exec "!python %<.py"        elseif &filetype == "ruby"            exec "!ruby %<.rb"        endifendfunc" Ctrl + C 一键保存、编译map <c-c> :call CompileCode()<CR>imap <c-c> <ESC>:call CompileCode()<CR>vmap <c-c> <ESC>:call CompileCode()<CR>" Ctrl + R 一键保存、运行map <c-r> :call RunResult()<CR>imap <c-r> <ESC>:call RunResult()<CR>vmap <c-r> <ESC>:call RunResult()<CR>" ======= VimWiki ======= "" 设置编码let g:vimwiki_w32_dir_enc = 'utf-8'" 使用鼠标映射let g:vimwiki_use_mouse = 1" 不要将驼峰式词组作为 Wiki 词条let g:vimwiki_camel_case = 0" 声明可以在wiki里面使用的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'let g:vimwiki_list = [{\ 'path': 'D:/Apps/Gvim/mysite/wiki',\ 'path_html': 'D:/Apps/Gvim/mysite/html/',\ 'html_header': 'D:/Apps/Gvim/mysite/template/header.html',\ 'html_footer': 'D:/Apps/Gvim/mysite/template/footer.html',\ 'auto_export': 1,\ 'nested_syntaxes': {'C': 'c', 'C++': 'cpp', 'Haskell': 'haskell', 'Ruby': 'ruby', 'SQL': 'sql', 'HTML': 'html', 'CSS': 'css', 'JavaScript': 'javascript', 'Vim': 'vim', 'Make': 'make'},}]

这里写图片描述

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝含着母乳睡怎么办 刚出生的孩子不吃母乳怎么办 月子里挤奶手痛怎么办 做完月子之后腿疼腰疼怎么办 腰疼引起的腿疼怎么办 上网上久了脑袋痛怎么办 莲花坐的脚麻怎么办 月子腿疼膝盖疼怎么办 做月子腿着凉了怎么办 出月子大腿根酸怎么办 出了月子腰酸痛怎么办 出了月子腿没劲怎么办 生完孩子后缺钙怎么办 生完孩子腿疼怎么办 生完孩子后腿疼怎么办 生完孩子肛门突出怎么办 生完孩子肋骨突出怎么办 蛙跳理蛙跳后腿疼怎么办 蛙跳两天后腿还疼怎么办 莲花菩提盘黑了怎么办 体育课蛙跳后肌肉拉伤怎么办 o型腿骨头弯了怎么办 小孩钢琴坐姿不对向后仰怎么办 小孩皮肤不好容易留疤怎么办 学游泳时站不稳怎么办 水呛到了不停打嗝怎么办 来月经前游泳了怎么办 快来完事游泳了怎么办 游泳时来月经了怎么办 经期第7天游泳了怎么办 来月经已经游了泳怎么办 月经来了要游泳怎么办 三个月宝宝趴着不会抬头怎么办 我的月经不完怎么办 游泳时怎么办能浮出水面 游泳时眼镜起雾怎么办 练瑜伽手臂变粗怎么办 孕妇喝了芬达怎么办 宫口开了但头高怎么办 整天坐着肚子越来越大怎么办 坐久了屁股变大怎么办