博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的vim配置文件
阅读量:6435 次
发布时间:2019-06-23

本文共 20534 字,大约阅读时间需要 68 分钟。

使用了总计8个小时,阅读他人配置,理解,筛选,修改,最后形成了自己的配置

"""""新文件标题"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle()     "如果文件类型为.sh文件     if &filetype == 'sh'         call setline(1,"\#########################################################################")         call append(line("."), "\# File Name: ".expand("%"))         call append(line(".")+1, "\# Author: zh")         call append(line(".")+2, "\# mail: 574932286@qq.com")         call append(line(".")+3, "\# Created Time: ".strftime("%c"))         call append(line(".")+4, "\#########################################################################")         call append(line(".")+5, "\#!/bin/bash")         call append(line(".")+6, "")     else         call setline(1, "/*************************************************************************")         call append(line("."), "    > File Name: ".expand("%"))         call append(line(".")+1, "    > Author: zh")         call append(line(".")+2, "    > Mail: 574932286@qq.com ")         call append(line(".")+3, "    > Created Time: ".strftime("%c"))         call append(line(".")+4, " ************************************************************************/")         call append(line(".")+5, "")    endif    if &filetype == 'cpp'        call append(line(".")+6, "#include
") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include
") call append(line(".")+7,"int main(void)") call append(line(".")+8,"{
") call append(line(".")+9, " return 0;") call append(line(".")+10,"}") endif " if &filetype == 'java' " call append(line(".")+6,"public class ".expand("%")) " call append(line(".")+7,"") " endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal Gendfunc"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""”“”“”“”“”“”“”“”键盘命令""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap
w :w!
nmap
f :find
" 映射全选+复制 ctrl+amap
ggVGYmap!
ggVGY""自己想试一下的保存""map
:w
"map
gg=G 到文首" 选中状态下 Ctrl+c 复制vmap
"+y"去空行 nnoremap
:g/^\s*$/d
"比较文件 ,删除文件中的空行,但一把不用 nnoremap
:vert diffsplit "新建标签 map
:tabnew
"列出当前目录文件 map
:tabnew .
"打开树状文件目录,算是有用把,主要针对标签页操作 map
\be "C,C++ 按F5编译运行map
:call CompileRunGcc()
func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!gcc -g % -o %<" exec "! ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% elseif &filetype == 'py' exec "!python %" exec "!python %<" endifendfunc"C,C++的调试map
:call Rungdb()
func! Rungdb() exec "w" exec "!g++ % -g -o %<" exec "!gdb ./%<"endfunc"建立基本c框架"""""""""""""""""""""""""""""""实用设置"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""set nobackup"永不备份set magic""set guioptions-=T " 隐藏工具栏" 不要使用vi的键盘模式,而是vim自己的set nocompatible" 去掉输入错误的提示声音set noeb" 在处理未保存或只读文件的时候,弹出确认,有用set confirm" 自动缩进""set autoindent"autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或"者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐”,"当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。""set cindent"cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,"比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,"当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。i" 为C程序提供自动缩进set smartindent"smartindent 在这种缩进模式中,每一行都和前一行有相同的"缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),"则取消缩进形式。此外还增加了识别C语言关键字的功能。"如果一行是以#开头的,那么这种格式将会被特殊对待而不采用缩进格式。" Tab键的宽度" 上面的三个模式已经哪一个都是可以的,开一个就够了set tabstop=4" 统一缩进为4set softtabstop=4set shiftwidth=4" 不要用空格代替制表符set noexpandtab" 在行和段开始处使用制表符set smarttab" 历史记录数set history=1000"禁止生成临时文件set nobackupset noswapfilesyntax enablecolorscheme koehler "设置主题"显示相关"设置字体 set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" a)0 O o 1 l ; :" 区别非常明显,并且还有一点优势是大家经常会忘记的;:和中文的字体;" :区别也很明显,十分适合编程" b)字体圆滑,支持cleartype,加上配色非常舒服,不会有锯齿感"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" set shortmess=atI "不启动乌干达儿童救助i"winpos 20 20 "设置窗口位set numbersyntax on "语法高亮autocmd InsertLeave * se cul "在编辑模式下用浅色高亮显示当前行"set ruler"显示标尺 暂时不知道用途set showcmd "输入命令显示出来,不知道作用set novisualbell " 不要闪烁(不明白) set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容 set laststatus=2 " 启动显示状态行(1),总是显示状态行(2) set cmdheight=1 " 命令行(在状态行下)的高度,默认为1,设置成一好看,自己暂时用不了一行以上的命令行set foldenable " 允许折叠 set fdm=markerset foldcolumn=0set foldlevel=3 "关于折叠的一些设置,但看不懂 "set background=dark "背景使用黑色 set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 " 显示中文帮助if version >= 603 set helplang=cn set encoding=utf-8endif "字体 if (has("gui_running")) set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 endif "自动补全:inoremap ( ()
i:inoremap )
=ClosePair(')')
":inoremap { {
}
O":inoremap }
=ClosePair('}')
:inoremap [ []
i:inoremap ]
=ClosePair(']')
:inoremap " ""
i:inoremap ' ''
ifunction! ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\
" else return a:char endifendfunctionfiletype plugin indent on "打开文件类型检测, 加了这句才可以用智能补全""set completeopt=longest,menu"关掉只能补全时的预览窗口" 侦测文件类型filetype on" 载入文件类型插件filetype plugin on" 为特定文件类型载入相关缩进文件filetype indent on"搜索逐字符高亮set hlsearch"搜索忽略大小写"set ignorecase" 使回格键(backspace)正常处理indent, eol, start等,解决了退格键无效了问题set backspace=2" 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距离set scrolloff=4" 高亮显示匹配的括号,匹配括号的作用set showmatch" 匹配括号高亮的时间(单位是十分之一秒),不知道是干啥的,就保留默认set matchtime=1" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)set mouse=aset selection=exclusiveset selectmode=mouse,key" 增强模式中的命令行自动完成操作,看不懂,用下面的那个"在命令模式下使用 Tab 自动补全的时候,"将补全内容使用一个漂亮的单行菜单形式显示出来set wildmenu" 带有如下符号的单词不要被换行分割,iskeywordy用于定义一个单词是有什么构成的,而下面的语句是讲_,$...等符号算进构成单词的符号set iskeyword+=_,$,@,%,#,-"" 允许backspace和光标键跨越行边界,虽然高明白了,但好像有什么东西已经实现了该设置"set whichwrap+=<,>,h,l" 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile * setfiletype txt""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""敲入字符时搜索set incsearch""行内替换, 替换时所有的行内匹配都被替换,而不是只有第一个"set gdefault"""编码设置set enc=utf-8set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"" encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。默认是根据你的locale选择.用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在.vimrc 中改变它的值才有意义。你可以用另外一种编码来编辑和保存文件,如你的vim的encoding为utf-8,所编辑的文件采用cp936编码,vim会自动将读入的文件转成utf-8(vim的能读懂的方式),而当你写入文件时,又会自动转回成cp936(文件的保存编码). " fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。 "" fileencodings: Vim自动探测fileencoding的顺序列表, 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。 "" termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。如果vim所在的term与vim编码相同,则无需设置。如其不然,你可以用vim的termencoding选项将自动转换成term的编码.这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。 ""好了,解释完了这一堆容易让新手犯糊涂的参数,我们来看看 Vim 的多字符编码方式支持是如何工作的。 ""1. Vim 启动,根据 .vimrc 中设置的 encoding 的值来设置 buffer、菜单文本、消息文的字符编码方式。 ""2. 读取需要编辑的文件,根据 fileencodings 中列出的字符编码方式逐一探测该文件编码方式。并设置 fileencoding 为探测到的,看起来是正确的 (注1) 字符编码方式。 ""3. 对比 fileencoding 和 encoding 的值,若不同则调用 iconv 将文件内容转换为encoding 所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的 buffer 里,此时我们就可以开始编辑这个文件了。注意,完成这一步动作需要调用外部的 iconv.dll(注2),你需要保证这个文件存在于 $VIMRUNTIME 或者其他列在 PATH 环境变量中的目录里。 ""4. 编辑完成后保存文件时,再次对比 fileencoding 和 encoding 的值。若不同,再次调用 iconv 将即将保存的 buffer 中的文本转换为 fileencoding 所描述的字符编码方式,并保存到指定的文件中。同样,这需要调用 iconv.dll由于 Unicode 能够包含几乎所有的语言的字符,而且 Unicode 的 UTF-8 编码方式又是非常具有性价比的编码方式 (空间消耗比 UCS-2 小),因此建议 encoding 的值设置为utf-8。这么做的另一个理由是 encoding 设置为 utf-8 时,Vim 自动探测文件的编码方式会更准确 (或许这个理由才是主要的 ;)。我们在中文 Windows 里编辑的文件,为了兼顾与其他软件的兼容性,文件编码还是设置为 GB2312/GBK 比较合适,因此 fileencoding 建议设置为 chinese (chinese 是个别名,在 Unix 里表示 gb2312,在 Windows 里表示cp936,也就是 GBK 的代码页)。 ""语言设置,使用中文菜单, 并使用 UTF-8 编码。 如果没有这句的话, 在非 UTF-8的系统, 如 Windows 下, 用了 UTF-8 的 encoding 后菜单会乱码。 set langmenu=zh_CN.UTF-8""" 保存全局变量set viminfo+=!"" 字符间插入的像素行数目,不知作用set linespace=0""" 通过使用: commands命令,告诉我们文件的哪一行被改变过,不知所以然set report=0"" 在被分割的窗口间显示空白,便于阅读,不知所以然set fillchars=vert:\ ,stl:\ ,stlnc:\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""NERDtee设定 文件管理器插件—NerdTree,没有安装,所以用不上""let NERDChristmasTree=1""let NERDTreeAutoCenter=1""let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt'""let NERDTreeMouseMode=2""let NERDTreeShowBookmarks=1""let NERDTreeShowFiles=1""let NERDTreeShowHidden=1""let NERDTreeShowLineNumbers=1""let NERDTreeWinPos='left'""let NERDTreeWinSize=31""nnoremap f :NERDTreeToggle""map
:NERDTree
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""插件设置""""""""""""""""""""""""''''"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'

相关链接 

1.

2.

3.

4. 

5.

6.

7.

8.

9.

 

1 "---------------------------------------- 2 "        vim 配置 3 "       2014 11 23 4 "---------------------------------------- 5 " 6 set nocompatible              " be iMproved, required 7 filetype off                  " required 8  9 " set the runtime path to include Vundle and initialize10  set rtp+=~/.vim/bundle/Vundle.vim11  call vundle#begin()12 13  Plugin 'gmarik/Vundle.vim'14  Plugin 'taglist.vim'15  Plugin 'minibufexpl.vim'16  Plugin 'winmanager'17  Plugin 'clang-complete'18 Plugin 'supertab'19 Plugin 'scrooloose/syntastic'20 Plugin 'Lokaltog/vim-powerline'21 Plugin 'WolfgangMehner/vim-plugins'22  call vundle#end()            " required23 "----------基本设置----------------------24 filetype plugin indent on25 syntax on                        " 使用语法高亮26 set autoread                     " 使用不兼容 vi 的模式27 28 set autoindent                " 设置自动对齐(缩进)29 set smartindent                    " 智能对齐方式30 set wrap              " 自动换行31 set linebreak              " 整词换行32 33 set cindent                   " 使用 C/C++ 语言的自动缩进方式34 set backspace=2               " 设置退格键可用35 set mouse=a                   " 使用鼠标36 set number                   " 显示行号37 set cul                          " 显示当前行下划线38 39 set tabstop=8                    " 设置制表符(tab键)的宽度40 set softtabstop=8                " 设置软制表符的宽度41 set expandtab             " Tab替换空格42 43 scriptencoding utf-8             " 设置编码44 45 set cursorline                    " 高亮当前行46                    47 48 set nobackup49 set noswapfile                   "禁止生成临时文件50 set wildmenu                     "补全命令51 52 set scrolloff=4                  " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距53 54 55 "----------------tags------------------56 "---------------------------------------57 "58 "-------------------- MiniBufferExplorer 的设置----------------------59 let g:miniBufExplMapWindowNavVim=1        " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口60 let g:miniBufExplMapWindowNavArrows=1         " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口61 let g:miniBufExplMapCTabSwitchBufs=1         " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口62 let g:miniBufExplModSelTarget=1            " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer63 64 65 " 设置分屏浏览66 let Tlist_Show_One_File=067 let Tlist_Exit_OnlyWindow=168 let g:winManagerWindowLayout='FileExplorer|TagList'69 nmap wm :WMToggle
70 71 "------------clang-complete-----------------72 73 "----------------------------------------------74 set completeopt=longest,menu75 let g:clang_auto_select=176 let g:clang_complete_select=177 let g:clang_complete_copen=178 let g:clant_periodic_quickfix=179 let g:clang_snippets=0 80 let g:clang_close_preview=1 81 let g:clang_use_library=1 82 "-------------设置超级TAB的补全--------------83 let g:SuperTabRetainCompletionType=084 let g:SuperTabDefaultCompletionType="
"85 "------------------------------------------------86 "87 "------------------- powerline 配置-------------------88 set nocompatible89 set laststatus=290 set encoding=utf-891 set t_Co=25692 set guifont=PowerlineSymbols\ for\ Powerline 93 let g:Powerline_symbols='unicode'94 let g:Powerline_stl_path_style='full'95 "------------------------------------------------

大体完成

 

完成版

1 "----------------------------------------  2 "        vim 配置  3 "       2014 11 23  4 "----------------------------------------  5 "  6 set nocompatible              " be iMproved, required  7 filetype off                  " required  8   9 " set the runtime path to include Vundle and initialize 10  set rtp+=~/.vim/bundle/Vundle.vim 11  call vundle#begin() 12  13  Plugin 'gmarik/Vundle.vim' 14  Plugin 'taglist.vim' 15  Plugin 'minibufexpl.vim' 16  Plugin 'winmanager' 17  Plugin 'clang-complete' 18 Plugin 'supertab' 19 Plugin 'scrooloose/syntastic' 20 Plugin 'Lokaltog/vim-powerline' 21 Plugin 'WolfgangMehner/vim-plugins' 22 Bundle 'altercation/vim-colors-solarized' 23 call vundle#end()            " required 24 "----------基本设置---------------------- 25 filetype plugin indent on 26 syntax on                        " 使用语法高亮 27 set autoread                     " 使用不兼容 vi 的模式 28  29 set autoindent                " 设置自动对齐(缩进) 30 set smartindent                    " 智能对齐方式 31 set wrap              " 自动换行 32 set linebreak              " 整词换行 33  34 set cindent                   " 使用 C/C++ 语言的自动缩进方式 35 set backspace=2               " 设置退格键可用 36 set mouse=a                   " 使用鼠标 37 set number                   " 显示行号 38 set cul                          " 显示当前行下划线 39  40 set tabstop=8                    " 设置制表符(tab键)的宽度 41 set softtabstop=8                " 设置软制表符的宽度 42 set expandtab             " Tab替换空格 43  44 scriptencoding utf-8             " 设置编码 45  46 set cursorline                    " 高亮当前行 47                     48  49 set nobackup 50 set noswapfile                   "禁止生成临时文件 51 set wildmenu                     "补全命令 52  53 set scrolloff=4                  " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距 54  55  56 "----------------tags------------------ 57 "--------------------------------------- 58 " 59 "-------------------- MiniBufferExplorer 的设置---------------------- 60 let g:miniBufExplMapWindowNavVim=1        " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口 61 let g:miniBufExplMapWindowNavArrows=1         " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口 62 let g:miniBufExplMapCTabSwitchBufs=1         " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口 63 let g:miniBufExplModSelTarget=1            " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer 64  65  66 " 设置分屏浏览 67 let Tlist_Show_One_File=0 68 let Tlist_Exit_OnlyWindow=1 69 let g:winManagerWindowLayout='FileExplorer|TagList' 70 nmap wm :WMToggle
71 72 "------------clang-complete----------------- 73 74 "---------------------------------------------- 75 set completeopt=longest,menu 76 let g:clang_auto_select=1 77 let g:clang_complete_select=1 78 let g:clang_complete_copen=1 79 let g:clant_periodic_quickfix=1 80 let g:clang_snippets=0 81 let g:clang_close_preview=1 82 let g:clang_use_library=1 83 "-------------设置超级TAB的补全-------------- 84 let g:SuperTabRetainCompletionType=0 85 let g:SuperTabDefaultCompletionType="
" 86 "------------------------------------------------ 87 " 88 "------------------- powerline 配置------------------- 89 set nocompatible 90 set laststatus=2 91 set encoding=utf-8 92 set t_Co=256 93 set guifont=PowerlineSymbols\ for\ 94 let g:Powerline_symbols='unicode' 95 let g:Powerline_stl_path_style='full' 96 "------------------------------------------------ 97 98 syntax enable 99 set background=dark100 colorscheme solarized101 102 set foldenable " 允许折叠 103 set fdm=marker104 set foldcolumn=0105 set foldlevel=3 "关于折叠的一些设置,但看不懂106 107 108 " 按下F5,在当前目录递归生成tag文件109 map
:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
110 imap
:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
111 " vim 启动时自动载入以下tags文件112 set tags=tags113 set tags+=./tags114 " 用就去生成,去放115 "set tags+=/usr/local/src/linux-3.12.6/tags116 117 118 119 " QuickFix 插件的设置120 121 " 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息122 map
:make
:copen
123 " 按下F7,光标移到上一个错误所在的行124 map
:cp
125 " 按下F8,光标移到下一个错误所在的行126 map
:cn
127 " 按下F9,执行make clean128 map
:make clean
129 130 " 以下的映射是使上面的快捷键在插入模式下也能用131 imap
:make clean
132 imap
:make
:copen
133 imap
:cp
134 imap
:cn
135 136 " 预防手误137 cnoremap Q! q!138 cnoremap Q1 q!139 command Q q140 command Wq wq141 command WQ wq142 command W w

 

 

版本三

"----------------------------------------"        vim 配置"       2014 11 23"----------------------------------------"set nocompatible              " be iMproved, requiredfiletype off                  " required" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'gmarik/Vundle.vim' Plugin 'taglist.vim' Plugin 'minibufexpl.vim' Plugin 'winmanager' Plugin 'clang-complete'Plugin 'supertab'Plugin 'scrooloose/syntastic'Plugin 'Lokaltog/vim-powerline'Plugin 'WolfgangMehner/vim-plugins'Bundle 'altercation/vim-colors-solarized'call vundle#end()            " required"----------基本设置----------------------filetype plugin indent onsyntax on                        " 使用语法高亮set autoread                     " 使用不兼容 vi 的模式set autoindent                " 设置自动对齐(缩进)set smartindent                    " 智能对齐方式set wrap              " 自动换行set linebreak              " 整词换行set cindent                   " 使用 C/C++ 语言的自动缩进方式set backspace=2               " 设置退格键可用set mouse=a                   " 使用鼠标set number                   " 显示行号set cul                          " 显示当前行下划线set tabstop=8                    " 设置制表符(tab键)的宽度set softtabstop=8                " 设置软制表符的宽度set expandtab             " Tab替换空格scriptencoding utf-8             " 设置编码set cursorline                    " 高亮当前行                   set nobackupset noswapfile                   "禁止生成临时文件set wildmenu                     "补全命令set scrolloff=4                  " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距"----------------tags------------------"---------------------------------------""-------------------- MiniBufferExplorer 的设置----------------------let g:miniBufExplMapWindowNavVim=1        " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口let g:miniBufExplMapWindowNavArrows=1         " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口let g:miniBufExplMapCTabSwitchBufs=1         " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口let g:miniBufExplModSelTarget=1            " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer" 设置分屏浏览let Tlist_Show_One_File=0let Tlist_Exit_OnlyWindow=1let g:winManagerWindowLayout='FileExplorer|TagList'nmap wm :WMToggle
"------------clang-complete-----------------"----------------------------------------------set completeopt=longest,menulet g:clang_auto_select=1let g:clang_complete_select=1let g:clang_complete_copen=1let g:clant_periodic_quickfix=1let g:clang_snippets=0 let g:clang_close_preview=1 let g:clang_use_library=1 "-------------设置超级TAB的补全--------------let g:SuperTabRetainCompletionType=0let g:SuperTabDefaultCompletionType="
""------------------------------------------------""------------------- powerline 配置-------------------set nocompatibleset laststatus=2set encoding=utf-8set t_Co=256set guifont=PowerlineSymbols\ for\ let g:Powerline_symbols='unicode'let g:Powerline_stl_path_style='full'"------------------------------------------------syntax enableset background=darkcolorscheme solarizedset foldenable " 允许折叠 set fdm=markerset foldcolumn=0set foldlevel=3 "关于折叠的一些设置,但看不懂" 按下F5,在当前目录递归生成tag文件map
:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
imap
:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
" vim 启动时自动载入以下tags文件set tags=tagsset tags+=./tags" 用就去生成,去放"set tags+=/usr/local/src/linux-3.12.6/tagsset tags+=/usr/include/tagsset tags+=/usr/include/sys/tagsset tags+=./tags" QuickFix 插件的设置" 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息map
:make
:copen
" 按下F7,光标移到上一个错误所在的行map
:cp
" 按下F8,光标移到下一个错误所在的行map
:cn
" 按下F9,执行make cleanmap
:make clean
" 以下的映射是使上面的快捷键在插入模式下也能用imap
:make
:copen
imap
:cp
imap
:cn
imap
:make clean
"C,C++ 按F2编译运行map
:call CompileRunGcc()
func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!gcc -g % -o %<" exec ":copen" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% elseif &filetype == 'py' exec "!python %" exec "!python %<" endifendfunc"插入模式下的非递归映射,自动补全的映射inoremap
" 预防手误cnoremap Q! q!cnoremap Q1 q!command Q qcommand Wq wqcommand WQ wqcommand W w

 

转载于:https://www.cnblogs.com/dilidingzhi/p/4052359.html

你可能感兴趣的文章
快速排序&归并排序
查看>>
将字符串转换成二维码
查看>>
AsyncTask的小分析
查看>>
使用Redis实现关注关系
查看>>
Go抓取网页数据并存入MySQL和返回json数据<三>
查看>>
MySQL复制介绍及搭建
查看>>
Java在线调试工具
查看>>
[译]CSS-理解百分比的background-position
查看>>
虚拟机安装CentOS
查看>>
Idea里面老版本MapReduce设置FileInputFormat参数格式变化
查看>>
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
查看>>
Unity3d游戏开发之-单例设计模式-多线程一
查看>>
通过jquery定位元素
查看>>
Tooltip表单验证的注册表单
查看>>
UWP开发中两种网络图片缓存方法
查看>>
超8千Star,火遍Github的Python反直觉案例集!
查看>>
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?...
查看>>
全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商
查看>>
Python简单HttpServer
查看>>
Java LinkedList工作原理及实现
查看>>