vim配置

xiaoxiao2021-02-28  105

renchunlin66的博客

目录视图 摘要视图 订阅 var username = "renchunlin66"; var _blogger = username; var blog_address = "http://blog.csdn.net/renchunlin66"; var static_host = "http://static.blog.csdn.net"; var currentUserName = ""; <div id="body"> <div id="main"> <div class="main"> <div class="ad_class"> 【评论送书】机器学习、Spring MVC、Android      日报20170504 ——《移动开发者的未来在哪里?》      技术直播:php实战微信公众号开发! window.quickReplyflag = true; var isBole = false; var fasrc="http://my.csdn.net/my/favorite/miniadd?t=vim配置入门,到豪华版vim配置&u=http://blog.csdn.net/renchunlin66/article/details/51592066"

vim配置入门,到豪华版vim配置

<div class="article_manage clearfix"> <div class="article_l"> <span class="link_categories"> 标签: <a href="http://www.csdn.net/tag/vim下载安装" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">vim下载安装</a><a href="http://www.csdn.net/tag/vim配置文件源码" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">vim配置文件源码</a><a href="http://www.csdn.net/tag/vim配置简明教程" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">vim配置简明教程</a><a href="http://www.csdn.net/tag/虚拟机联网问题" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">虚拟机联网问题</a> </span> </div> <div class="article_r"> <span class="link_postdate">2016-06-05 22:37</span> <span class="link_view" title="阅读次数">2798人阅读</span> <span class="link_comments" title="评论次数"> <a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(1)</span> <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" onclick="javascript:collectArticle('vim配置入门,到豪华版vim配置','51592066');return false;" title="收藏" target="_blank">收藏</a></span> <span class="link_report"> <a href="#report" onclick="javascript:report(51592066,2);return false;" title="举报">举报</a></span> </div> </div> <div class="embody" style="display:none" id="embody"> <span class="embody_t">本文章已收录于:</span> <div class="embody_c" id="lib" value="{"err":0,"msg":"ok","data":[]}"></div> </div> <style type="text/css"> .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px #ededed; } .embody_b{ margin:0 ; padding:10px 0; } .embody .embody_t,.embody .embody_c{ display: inline-block; margin-right:10px; } .embody_t{ font-size: 12px; color:#999; } .embody_c{ font-size: 12px; } .embody_c img,.embody_c em{ display: inline-block; vertical-align: middle; } .embody_c img{ width:30px; height:30px; } .embody_c em{ margin: 0 20px 0 10px; color:#333; font-style: normal; } </style> <script type="text/javascript"> $(function () { try { var lib = eval("("+$("#lib").attr("value")+")"); var html = ""; if (lib.err == 0) { $.each(lib.data, function (i) { var obj = lib.data[i]; //html += '<img src="' + obj.logo + '"/>' + obj.name + "  "; html += ' <a href="' + obj.url + '" target="_blank">'; html += ' <img src="' + obj.logo + '">'; html += ' <em><b>' + obj.name + '</b></em>'; html += ' </a>'; }); if (html != "") { setTimeout(function () { $("#lib").html(html); $("#embody").show(); }, 100); } } } catch (err) { } }); </script> <div class="category clearfix"> <div class="category_l"> <img src="http://static.blog.csdn.net/images/category_icon.jpg"> <span>分类:</span> </div> <div class="category_r"> <label onclick="GetCategoryArticles('6228030','renchunlin66','top','51592066');"> <span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">Linux操作系统<em>(15)</em></span> <img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display: inline;"> <img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display: none;"> <div class="subItem" style="display: none;"> <div class="subItem_t"><a href="http://blog.csdn.net/renchunlin66/article/category/6228030" target="_blank">作者同类文章</a><i class="J_close">X</i></div> <ul class="subItem_l" id="top_6228030"><li class="tracking-ad" data-mod="popu_140"><em>•</em><a href="http://blog.csdn.net/renchunlin66/article/details/52371820" id="top_aritcle_52371820undefined3598109749639038" target="_blank" title="htttp服务器及完整注释">htttp服务器及完整注释</a></li> <li class="tracking-ad" data-mod="popu_140"><em>•</em><a href="http://blog.csdn.net/renchunlin66/article/details/52351947" id="top_aritcle_52351947undefined9231258030966498" target="_blank" title="学习网络编程很好的网站">学习网络编程很好的网站</a></li> <li class="tracking-ad" data-mod="popu_140"><em>•</em><a href="http://blog.csdn.net/renchunlin66/article/details/52351751" id="top_aritcle_52351751undefined4465246458231187" target="_blank" title="sockaddr_in结构体详解">sockaddr_in结构体详解</a></li> <li class="tracking-ad" data-mod="popu_140"><em>•</em><a href="http://blog.csdn.net/renchunlin66/article/details/52351673" id="top_aritcle_52351673undefined03126413828015617" target="_blank" title="setsocket函数详解">setsocket函数详解</a></li> <li class="tracking-ad" data-mod="popu_140"><em>•</em><a href="http://blog.csdn.net/renchunlin66/article/details/52047791" id="top_aritcle_52047791undefined28793092905562756" target="_blank" title="UDP网络编程">UDP网络编程</a></li> <li style="padding-left: 300px;"><a href="http://blog.csdn.net/renchunlin66/article/category/6228030" target="_blank">更多</a></li></ul> </div> </label> </div> </div> <div class="bog_copyright"> <p class="copyright_p">版权声明:本文为博主原创文章,未经博主允许不得转载。</p> </div>

       这几天一直研究vim的配置,许多版本总是不尽如人意,网上确实有许多优秀的文章值得参考,我的博客后面会贴上具有参考价值的博客链接,本文的将手把手教你配置一个功能详尽的vim.

       首先你要明白的是Linux下一切皆文件的思想,因此vim的配置文件.vimrc中的内容就决定了你的vim的功能。对于新手来说首先你要做的是保证你的linux(或者是centOs)能够连上网。我当时是这样解决的。

流程如下

1)点击 VM->Settings Hardware选项卡下面

 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT,

3、进入Windows操作系统,然后右键点击我们的电脑,进入到管理界面  计算机-> 管理->服务和应用程序->服务,找到如下服务进程 VMware DHCP Service, VMware NAT Service。 分别点击右键->启动

二、下载并安装vim。

从官方网站ftp://ftp.vim.org/pub/vim/unix/中选择一个版本下载,我这里使用的是vim-7.4.tar.bz2centos安装vim7.4   系统版本centos6.4; root权限 su - root    卸载(当然你也可以不用卸载) rpmqa|grepvim yum remove vim vim-enhanced vim-common vim-minimal     下载、解压 wgetftp://ftp.vim.org/pub/vim/unix/vim7.4.tar.bz2 wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz wgetftp://ftp.vim.org/pub/vim/extra/vim7.2lang.tar.gz   tarjxvfvim7.4.tar.bz2 tar zxvf vim-7.2-extra.tar.gz   tarzxvfvim7.2lang.tar.gz   mvvim72vim74 yum install ncurses-devel   yuminstallgcc cd vim74/src   ./configureenablemultibyte\–withfeatures=huge\–disableselinux make   $ make install     测试     $ vim –version   VIM - Vi IMproved 7.4

三、接下来我们开始配置vim

1.下查看~/目录下有没有一个.vimrc的文件,如果没有自己在当前目录创建一个。

2.需要说明的是在root目录下的.vimrc对所有用户生效。你也可以在每个用户下单独配置个性化.vimrc.

3.以下是我配置的vim截图

4.vim的功能实际上是由配置文件和插件共同决定的,这里我提供一份配置文件源码。大家复制到自己的.vimrc文件中即可。方法是先复制到剪贴板然后打开cd ~/.vimrc,拷贝进去就好了。保存按:

sheft+:  w

退出输入:q

5.源码如下:

[cpp]  view plain  copy

set helplang=cn   set encoding=utf-8   set cscopequickfix=s-,c-,d-,i-,t-,e-   nmap <C-_>s :cs find s <C-R>=expand(”<cword>”)<CR><CR>   nmap <C-_>g :cs find g <C-R>=expand(”<cword>”)<CR><CR>   nmap <C-_>c :cs find c <C-R>=expand(”<cword>”)<CR><CR>   nmap <C-_>t :cs find t <C-R>=expand(”<cword>”)<CR><CR>   nmap <C-_>e :cs find e <C-R>=expand(”<cword>”)<CR><CR>   nmap <C-_>f :cs find f <C-R>=expand(”<cfile>”)<CR><CR>   nmap <C-_>i :cs find i ^<C-R>=expand(”<cfile>”)<CR>$<CR>   nmap <C-_>d :cs find d <C-R>=expand(”<cword>”)<CR><CR>   let g:miniBufExplMapCTabSwitchBufs = 1   let g:miniBufExplMapWindowNavVim = 1   let g:miniBufExplMapWindowNavArrows = 1   nnoremap <silent> <F12> :A<CR>   nnoremap <silent> <F3> :Grep<CR>   let g:SuperTabRetainCompletionType=2   let g:SuperTabDefaultCompletionType=”<C-X><C-O>”   “ 自动语法高亮    syntax on   “ 检测文件类型   filetype on   “ 检测文件类型插件   filetype plugin on   “ 不设定在插入状态无法用退格键和 Delete 键删除回车符   set backspace=indent,eol,start   set whichwrap+=<,>,h,l   “ 显示行号   set number   “ 上下可视行数   set scrolloff=6   “ replace tab with space   set expandtab   “ 设定 tab 长度为 4   set tabstop=4   “ 设置按BackSpace的时候可以一次删除掉4个空格   set softtabstop=4   “ 设定 << 和 >> 命令移动时的宽度为 4   set shiftwidth=4   set smarttab   set history=1024   “ 不突出显示当前行   set nocursorline   “ 覆盖文件时不备份   set nobackup   “ 自动切换当前目录为当前文件所在的目录   set autochdir   “ 搜索时忽略大小写,但在有一个或以上大写字母时仍大小写敏感   set ignorecase   set smartcase   “ 搜索到文件两端时不重新搜索   set nowrapscan   “ 实时搜索   set incsearch   “ 搜索时高亮显示被找到的文本   set hlsearch   “ 关闭错误声音   set noerrorbells   set novisualbell   “set t_vb=      “ 不自动换行   “set nowrap   “How many tenths of a second to blink   set mat=2   “ 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存   set hidden   “ 智能自动缩进   set smartindent   “ 设定命令行的行数为 1   set cmdheight=1   “ 显示状态栏 (默认值为 1, 无法显示状态栏)   set laststatus=2   “显示括号配对情况   set showmatch      “ 解决自动换行格式下, 如高度在折行之后超过窗口高度结果这一行看不到的问题   set display=lastline   “ 设定配色方案   colorscheme evening   “ 设置在状态行显示的信息   set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ [%{(&fenc==\”\”?&enc:&fenc).(&bomb?\”,BOM\”:\”\”)}]\ %c:%l/%L%)      “ 显示Tab符   set list   set listchars=tab:\|\ ,trail:.,extends:>,precedes:<   “启动时不显示 捐赠提示   set shortmess=atl      “blank      空白   “buffers    缓冲区   “curdir     当前目录   “folds      折叠   “help       帮助   “options    选项   “tabpages   选项卡   “winsize    窗口大小   “slash      转换文件路径中的\为/以使session文件兼容unix   “unix       设置session文件中的换行模式为unix   set sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize,slash,unix,resize      “ 允许backspace和光标键跨越行边界   set whichwrap+=<,>,h,l   “ backspace   set backspace=eol,start,indent      “ 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)   set mouse=a   set selection=exclusive   set selectmode=mouse,key      “ 在被分割的窗口间显示空白,便于阅读   set fillchars=vert:\ ,stl:\ ,stlnc:\      “ 高亮显示匹配的括号   set showmatch      “ 匹配括号高亮的时间(单位是十分之一秒)   set matchtime=5      “编码设置   set enc=utf-8   set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936      “ set mapleader   let mapleader=”,”      nmap J 5j   nmap K 5k      “ Ctrl+a   nmap <silent> <C-a> ggvG$      “ 选中状态下 Ctrl+c 复制   vnoremap <c-c> ”+y      “ Ctrl+v   nmap <silent> <C-v> ”+p      “ 窗口切换   nnoremap <c-h> <c-w>h   nnoremap <c-l> <c-w>l   nnoremap <c-j> <c-w>j   nnoremap <c-k> <c-w>k      “ 插入模式下上下左右移动光标   inoremap <c-h> <left>   inoremap <c-l> <right>   inoremap <c-j> <c-o>gj   inoremap <c-k> <c-o>gk      “ Ctrl+s   “ If the current buffer has never been saved, it will have no name,   “ call the file browser to save it, otherwise just save it.   ”nnoremap <silent> <C-S> :if expand(“%“) == ”“<CR>browse confirm w<CR>else<CR>confirm w<CR>endif<CR>   “imap <c-s> <c-o><c-s><CR>   “ Use CTRL-S for saving, also in Insert mode   nmap <C-S> :update<CR>   vmap <C-S> <C-C>:update<CR>   imap <C-S> <C-O>:update<CR>      “ C++的编译和运行   “map <F6> :call CompileRunGpp()<CR>   “func! CompileRunGpp()   ”exec ”w”   ”exec ”!g++ % -o %<”   ”exec ”! ./%<”   “endfunc   map <F10> :call RunGpp()<cr>     func! RunGpp()     exec ”w”     exec ”! ./%<”     endfunc        “vim plugin setting      ”======================”   set tags=tags   set tags+=~/.vim/my-tags/tags   set tags+=~/.vim/my-tags/stl-tags   set tags+=~/.vim/my-tags/sys-tags   set autochdir     “Update ctags     map <silent> <F8> :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q<cr>       ”““”“”“”“”“”“”“”“”“”“”“”“”“”“”      ” Tag list (ctags)   ”““”“”“”“”“”“”“”“”“”“”“”“”“”“”   ”if MySys() == ”windows“                ”设定windows系统中ctags程序的位置   “   let Tlist_Ctags_Cmd = ’ctags’   ”elseif MySys() == ”linux“              ”设定Linux系统中ctags程序的位置      let Tlist_Ctags_Cmd = ’/home/sphinx/.vim/ctags-5.8/ctags’   “endif      let Tlist_Show_One_File = 1            ”不同时显示多个文件的tag,只显示当前文件的   let Tlist_Exit_OnlyWindow = 1          ”如果taglist窗口是最后一个窗口,则退出vim   let Tlist_Use_Right_Window = 0         ”在右侧窗口中显示taglist窗口   let Tlist_OnlyWindow=1      “let Tlist_Use_Right_Window=0   “let Tlist_Sort_Type=’name’   “let Tlist_Show_Menu=1   “let Tlist_Max_Submenu_Items=10   ”let Tlist_Max_Tag_length=16     ”20   “let Tlist_Use_SingleClick=0   “let Tlist_Auto_Open=0   “let Tlist_Close_On_Select=0   “let Tlist_File_Fold_Auto_Close=1   “let Tlist_GainFocus_On_ToggleOpen=0   “let Tlist_Process_File_Always=1   “let Tlist_WinHeight=10   “let Tlist_WinWidth=18   “let Tlist_Use_Horiz_Window=0      let Tlist_Auto_Highlight_Tag = 1   “let Tlist_Auto_Open = 1   let Tlist_Auto_Update = 1   let Tlist_Close_On_Select = 0   let Tlist_Compact_Format = 0   let Tlist_Display_Prototype = 0   let Tlist_Display_Tag_Scope = 1   let Tlist_Enable_Fold_Column = 0   let Tlist_File_Fold_Auto_Close = 0   let Tlist_GainFocus_On_ToggleOpen = 1   let Tlist_Hightlight_Tag_On_BufEnter = 1   let Tlist_Inc_Winwidth = 0   let Tlist_Max_Submenu_Items = 1   let Tlist_Max_Tag_Length = 30   let Tlist_Process_File_Always = 0   let Tlist_Show_Menu = 0   let Tlist_Sort_Type = ”order”   let Tlist_Use_Horiz_Window = 0   let Tlist_WinWidth = 31      map <F12> :TlistOpen<CR>      “OMNI   “omnicppcoplete     “– omnicppcomplete setting –      set completeopt=menu,menuone      let OmniCpp_MayCompleteDot = 1      “ autocomplete with .      let OmniCpp_MayCompleteArrow = 1      “ autocomplete with ->      let OmniCpp_MayCompleteScope = 1      “ autocomplete with ::      let OmniCpp_SelectFirstItem = 2      “ select first item (but don’t insert)      let OmniCpp_NamespaceSearch = 2      “ search namespaces in this and included files      let OmniCpp_ShowPrototypeInAbbr = 1      “ show function prototype in popup window      let OmniCpp_GlobalScopeSearch=1      let OmniCpp_DisplayMode=1      let OmniCpp_DefaultNamespaces=[”std”]     set nocp     filetype plugin on        “WinManager   let g:winManagerWindowLayout=’FileExplorer|TagList’   “let g:winManagerWindowLayout=’FileExplorer|BufExplorer|TagList’   let g:persistentBehaviour=0   let g:winManagerWidth=20   let g:defaultExplorer=1   nmap wm :WMToggle<cr>      “QuickFix   nmap <F6> :cn<cr>   nmap <F7> :cp<cr>      “MiniBufExplorer   “let g:miniBufExplMapWindowNavVim = 1   “let g:miniBufExplMapWindowNavArrows = 1   let g:miniBufExplModSelTarget = 1   let g:miniBufExplorerMoreThanOne = 2   let g:miniBufExplModSelTarget = 0   let g:miniBufExplUseSingleClick = 1   let g:miniBufExplMapWindowNavVim = 1   let g:miniBufExplVSplit = 15    “25   let g:miniBufExplSplitBelow=1      let g:bufExplorerSortBy = ”name”      autocmd BufRead,BufNew :call UMiniBufExplorer      map <leader>u :TMiniBufExplorer<cr>         “AutoClose   ”let g:AutoClosePairs = {‘(‘: ’)’, ’{‘: ’}’, ’[‘: ’]’, ’”‘: ‘”’, ”‘”: ”’“}   let g:AutoClosePairs = {’(‘‘)’‘{‘‘}’‘[‘‘]’‘”’‘”’“’”“’”}    ”““”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“    “   Maintainer:    ”   ”       Geek SphinX   ”   ”       topcodersphinx@gmail.com   ”   ”   ”   ”   Version:   ”   ”       1.0 - Thu Nov  1 17:21:44 CST 2012   ”   ”   ”   ”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“      “ Sets how many lines of history VIM has to remember   “ set history=1024   “   ” ” Auto syntax highlight   “ set syntax=on   “   ” ” Check file format   “ filetype on   “   ” ” Enable filetype plugins   “ filetype plugin on   “ filetype indent on   “   ” ” Sets non VI compatible mode   “ set nocompatible   “   ” ” Set to auto read when a file is changed from the outside   “ set autoread   “   ” ” With a map leader it’s possible to do extra key combinations   ” ” like <leader>w saves the current file   ” let mapleader = ”,”   ” let g:mapleader = ”,”   “   ” ” Fast saving   “ nmap <leader>w :w<cr>   “ nmap <leader>q :q<cr>   “   ” ”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”   ” ” => VIM user interface   ” ”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”   ” ” Replace J, K   “ nmap J 5j   “ nmap K 5k   “   ” ” Ctrl+A to select all content in visual mode   “ nmap <silent> <C-a> ggvG$   “   ” ” Ctrl+C to copy   ” vnoremap <C-c> ”+y   “   ” ” Ctrl+V to paste   ” nmap <silent> <C-v> ”+p   “   ” ” Set 7 lines to the cursor - when moving vertically using j/k   “ set so=7   “   ” ” Turn on the Wild menu   “ set wildmenu   “   ” ” Ignore compiled files   “ set wildignore=*.o,*~,*.pyc   “   ” ”Always show current position   “ set ruler   “   ” ” Height of the command bar   “ set cmdheight=2   “   ” ” A buffer becomes hidden when it is abandoned   “ set hid   “   ” ” Configure backspace so it acts as it should act   “ set whichwrap+=<,>   “ set backspace=indent,eol,start   “   ” ” Ignore case when searching   “ set ignorecase   “   ” ” When searching try to be smart about cases    “ set smartcase   “   ” ” Highlight search results   “ set hlsearch   “   ” ” Makes search act like search in modern browsers   “ set incsearch   “   ” ” Don’t redraw while executing macros (good performance config)   “ set lazyredraw   “   ” ” For regular expressions turn magic on   “ set magic   “   ” ” Show matching brackets when text indicator is over them   “ set showmatch   “   ” ” How many tenths of a second to blink when matching brackets   “ set mat=2   “   ” ” No annoying sound on errors set noerrorbells   “ set novisualbell   “ set t_vb=   “ set tm=500   “   ” ” Show line number   “ set number   “   ” ” Highlight over 80 columns   “ highlight OverLength ctermbg=red ctermfg=white guibg=#592929   “ match OverLength /\
转载请注明原文地址: https://www.6miu.com/read-63556.html

最新回复(0)