• 我的vim配置记录


    一 总体介绍

    配置路径,/etc/vim/vimrc,这个是系统的vim配置,假设一台PC多个用户使用,每一个用户的习惯不同的话,能够使用不同的配置。在用户文件夹下新建一个.vimrc的文件就能够了。

    我眼下是将配置写在系统的配置中,我的配置文件例如以下所看到的:

    set nu
    set tabstop=4
    set autoindent
    set matchtime=1
    set hlsearch
    set cindent
    set shiftwidth=4
    set ruler
    set showmode
    colorscheme desert
    set guifont=Droid Sans Mono 14


    上面是主要的配置。写在系统配置中,在个人用户中,做了一些有趣的定制,眼下用户文件夹下的vimrc的配置文件例如以下:

    "解决中文乱码问题,先检查编码,转换成utf-8
    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
    set termencoding=utf-8
    set encoding=utf-8
    
    "nerdtree 
    
    map <F2> :NERDTreeToggle<CR>
    "YouComepleteMe
    let g:ycm_global_ycm_extra_conf = '/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
    map <F3> :YcmCompleter GoToDefinitionElseDeclaration<CR>
    
    "tagbar setting
    nnoremap <silent> <F4> :TagbarToggle<CR>
    let g:tagbar_ctags_bin='/usr/bin/ctags'
    let g:tagbar_width=30
    
    "Bundle setting
    set nocompatible               " be iMproved
    filetype off                   " required!
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
     " let Vundle manage Vundle
     " required!
    Bundle 'gmarik/vundle'
    Bundle 'vim-scripts/fcitx.vim'
    "方便xml的插件
    Bundle 'othree/xml.vim'   
    "自己主动补全的插件
    Bundle 'Valloric/YouCompleteMe'
    "文件夹树
    Bundle 'scrooloose/nerdtree' 
    Bundle 'majutsushi/tagbar'
    Bundle 'vim-scripts/a.vim'
    filetype plugin indent on     " required!
    

    二 详细介绍

    以下是依据使用的过程中做的记录。不断的完好自己的vim配置

    1.不同平台下的字体设置不一样,为了通用,能够这样设置,參见(http://stackoverflow.com/questions/3539437/gvim-ubuntu-letter-spacing-consolas-font):

    if has("gui_gtk2")
        set guifont=Consolas 11
    elseif has("gui_macvim")
        set guifont=Consolas:h12
    elseif has("gui_win32")
        set guifont=Consolas:h11
    end

    2. 使用vundle管理vim的插件,參考:点击打开链接:

    (1) 下载vundle

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
    (2) vimrc中加入配置脚本:

    set nocompatible               " be iMproved
    
    let g:ycm_global_ycm_extra_conf = '/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py'
    
     filetype off                   " required!
    
     set rtp+=~/.vim/bundle/vundle/
     call vundle#rc()
    
     " let Vundle manage Vundle
     " required!
    Bundle 'gmarik/vundle'
    Bundle 'vim-scripts/fcitx.vim'
    "方便xml的插件
    Bundle 'othree/xml.vim'   
    "自己主动补全的插件
    Bundle 'Valloric/YouCompleteMe'
    "文件夹树
    Bundle 'scrooloose/nerdtree' 
     filetype plugin indent on     " required!
    当中, othree/xml.vim,是指github上用户为othree写的xml.vim插件,假设是其他地方的资源,写所有url就可以.

    (3)安装相应的插件,终端下运行:

    vim +BundleInstall +qall

    (4)我的插件列表:

    a. xml.vim 编写xml的插件。详细用法參见doc里面的说明文件;

    b. YouCompleteMe 补全的插件,据说是最好用的补全插件,须要编译,详细方法參见:点击打开链接 . 我编译的时候遇到问题:Could not find pythonLibs,方法:sudo apt-get install python-dev. 还有错误,是编译内存不够的问题。又一次安装就可以. 还有C++头文件和stl系统函数不能自己主动补全的问题,是配置文件里没有写好的问题,打开配置文件:/home/zy/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py,使用命令:

    echo | clang -v -E -x c++ -
    来查找C++相应的头文件,然后讲输出结果加入到上面的配置文件里就可以。

    详细细节在github上都有讲,须要说明的是,假设不能补全stl,又一次编译试试。用的是quick安装的方法,比較简单。

    c. NERDTree 文件文件夹树。Bundle 'scrooloose/nerdtree' ,设置參考帖子:点击打开链接 在vimrc中设置相应的快捷键:map <F2> :NERDTreeToggle<CR>,另外。ctrl+w能够切换窗体.假设在终端下打开gvim,然后打开文件夹就显示的是当前的根文件夹,而在文件浏览器里右键用gvim打开就是用户根文件夹. 详细命令能够查看帮助文档

    d.TagBar 浏览代码符号的插件,相对于taglist,tagbar在面向对象方面做的更好。所以选择了tagbar. 相同依据上面的方式去安装tagvar,github地址:点击打开链接.这个插件是基于ctags,所以须要先安装ctags(sudo apt-get install ctags). 然后做例如以下配置:

    "tagbar setting
    nnoremap <silent> <F4> :TagbarToggle<CR>
    let g:tagbar_ctags_bin='/usr/bin/ctags'
    let g:tagbar_width=30

    使用F4键就能够切换tagbar的显示了

    f. 批量凝视与反凝视。比較简单就不用插件了,參见博客点击打开链接.选中要凝视的行,ctrl+v进入列模式。按下"I",进入插入模式,输入相应的凝视符就可以,注意按两次esc.批量取消凝视,相同是这个方案.当然存在这种插件,只是不能所有依赖插件.

    g.C文件和.h文件之间的高速切换。a.vim插件,github地址:点击打开链接.命令行中输入":A"能够进行高速切换。由于比較简单就不须要设置快捷键了。更加具体的请參考帮助文档.


    3. vim打开windows下文件里文乱码的解决方法:
     "解决中文乱码问题,先检查编码,转换成utf-8
    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
    set termencoding=utf-8
    set encoding=utf-8


    ------------------------------------------------------------------------------------------------------------------------------------------------

    使用技巧:

    1.格式化代码:

    格式化全文: gg=G
    格式化当前航: ==

    2. 给vim装一个中文的帮助文档。參考帖子:点击打开链接

    (1)下载安装包:点击打开链接

    (2)解压缩,进行安装:

    sudo ./vimcdoc.sh -i
    (3)配置一下,在~/.vimrc中加入一句:

    set helplang=cn
    (4)在vim中使用:

    :help usr
    就能够使用中文的vim帮助文档了。感谢翻译的这群人。

    3. 输入的时候居中

    需求:有时候总是想在屏幕中间输入。直接在命令行模式下输入zz就可以。參见博客:点击打开链接

    未完待续,。。

  • 相关阅读:
    判断touchmove上下的方向
    this的指向
    JS 判断浏览器是否安装Flash 兼容IE、firefox
    Array类型
    addEventListener()与removeEventListener()
    tap 点透问题
    ts 接口
    ts 类型断言
    ts学习
    vue时间戳转换(10位数)/(13位)
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6949700.html
Copyright © 2020-2023  润新知