• macOS中Vim基本配置,颜色主题/语法/indent设置


    macOS中Vim基本配置

    Vim的初始化配置 .vimrc

    存放位置

    macOS 环境下 vim 的初始化配置文件为 .vimrc , 通常有两个(系统版本和用户版本),一个位于 /usr/share/vim/vimrc,是整个系统vim的默认配置;另一个位于 ~/.vimrc,是当前用户的 vim 配置,会覆盖系统配置。可进入 vim,在命令模式下键入

    1
    2
    3
    :version       " 查看版本号
    :echo $VIM " 查看vim具体路径
    :echo $HOME " 用户主目录

    ~/.vimrc 有时并不存在,此时可以建立一个 .vimrc,放入用户主目录以实现当前用户的 vim 配置

    主要命令参数

    .vimrc 通常用于指定 vim 的编辑参数和外观环境。下面列出常用的命令参数及其含义:

    MacVim是在Mac下非常好用的Vim软件之一,而且还可以通过安装Exvim来对MacVim进行格式配置,使之更加易用。
     
    Exvim:

    Exvim是一个第三方vim的格式配置方案,旨在将vim变成一个IDE。

    官方网站:http://www.ex-dev.com/exvim/wiki/index.php?title=Main_Page

    安装及配置:

    1. 下载Exvim安装包,解压到~/文件夹下。安装对应工具和配置。所用命令:
      cp -R toolkit ~/.toolkit 
      cp -R vimfiles ~/.vim
    2. 安装外部工具(使用第三方软件管理器)
      必装工具:ctags,idutils,gawk,sed,findutils
      选装工具:cscope,graphviz,source-highlight,python
    3. 设置toolkit路径
      在.vimrc中添加toolkit路径
      let g:ex_toolkit_path = ‘~/.toolkit’
    4. 设置.vimrc
      A. 依据.vimrc_ex在.vimrc中添加设置(未找到.vimrc_ex)
          - 直接引用
            在.vimrc中添加 source $VIM.vimrc_ex
          - 添加代码
      B. 必要的.vimrc设置
          let tags jump relate to current directory
          au BufNewFile,BufEnter * set cpoptions+=d
          avoid buffer close problem
          nnoremap <unique> <Leader>bd :call exUtility#Kwbd(1)<CR>
     
    在安装Exvim的过程中会需要安装一些外部工具以提供支持,在mac环境下就需要借助一些第三方软件资源管理器来达到这一目的。
    1. Brew
      软件管理器,源代码托管于git上:https://github.com/mxcl/homebrew/
      安装命令:/usr/bin/ruby -e “$(curl -fsSL https://raw.github.com/gist/323731)”
      常用命令:
           安装:brew install + name
           帮助:brew help, man brew
           查看可用软件:brew search
    2. Fink
      软件管理器,官方网站:http://www.finkproject.org/index.php?phpLang=en
      安装:
      (1) 下载源码,解压
            "tar -xvzf fink-0.31.3.tar.gz"    or    "tar -xvf fink-0.31.3.tar"
      (2) start boostrapping operation
            "./bootstrap"   or   "./bootstrap /path" (安装fink到另外的路径中)
      (3) 配置环境变量
            /sw/bin/pathsetup.sh
      (4) 重启终端窗口使用新的环境变量
        (5)下载description files和patches
      fink selfupdate-rsync
      fink index –f
      使用:fink install + name
    3. Macport
      第三方软件管理器,官方网站:http://www.macports.org/index.php
      安装: 
      (1) 下载.dmg文件安装
      (2) 设置环境变量
      export PATH=/opt/local/bin:$PATH
      export PATH=/opt/local/sbin:$PATH
      使用:
      - 更新ports tree和MacPorts版本,强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程。
      sudo port -v selfupdate
      - 搜索索引中的软件
      port search name
      - 安装新软件
      sudo port install name
      - 卸载软件
      sudo port uninstall name
      - 查看有更新的软件以及版本
      port outdated
      - 升级可以更新的软件
      sudo port upgrade outdated
      - Eclipse的插件需要subclipse需要JavaHL,下面通过MacPorts来安装
      sudo port install subversion-javahlbinding
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    "打开语法高亮
    syntax on

    "使用配色方案
    colorscheme desert

    "打开文件类型检测功能
    filetype on

    "不同文件类型采用不同缩进
    filetype indent on

    "允许使用插件
    filetype plugin on
    filetype plugin indent on

    "关闭vi模式
    set nocp

    "与windows共享剪贴板
    set clipboard+=unnamed

    "取消VI兼容,VI键盘模式不易用
    set nocompatible

    "显示行号, 或set number
    set nu

    "历史命令保存行数
    set history=100

    "当文件被外部改变时自动读取
    set autoread

    "取消自动备份及产生swp文件
    set nobackup
    set nowb
    set noswapfile

    "允许使用鼠标点击定位
    set mouse=a

    "允许区域选择
    set selection=exclusive
    set selectmode=mouse,key

    "高亮光标所在行
    set cursorline

    "取消光标闪烁
    set novisualbell

    "总是显示状态行
    set laststatus=2

    "状态栏显示当前执行的命令
    set showcmd

    "标尺功能,显示当前光标所在行列号
    set ruler

    "设置命令行高度为3
    set cmdheight=3

    "粘贴时保持格式
    set paste

    "高亮显示匹配的括号
    set showmatch

    "在搜索的时候忽略大小写
    set ignorecase

    "高亮被搜索的句子
    set hlsearch

    "在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
    set incsearch

    "继承前一行的缩进方式,特别适用于多行注释
    set autoindent

    "为C程序提供自动缩进
    set smartindent

    "使用C样式的缩进
    set cindent

    "制表符为4
    set tabstop=4

    "统一缩进为4
    set softtabstop=4
    set shiftwidth=4

    "允许使用退格键,或set backspace=2
    set backspace=eol,start,indent
    set whichwrap+=<,>,h,l

    "取消换行
    set nowrap

    Vim 的语法高亮/配色方案

    vim 的配色分两部分:编辑环境配色和文本区域配色

    1) 编辑环境配色:比如 vim 编辑区的前景背景色、状态栏颜色、错误提示颜色、查找、光标、圈选区、行号、折叠等的颜色

    这里列出几个配色组名及其含义(全部的详细信息查看帮助文件 :help hi 查找 highlight-group 即可):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Cursor        # 光标下的字符颜色  
    CursorLine # 光标所在行颜色
    ErrorMsg # 命令行出现的错误信息提示
    IncSearcg # 被搜索字符的颜色
    Normal # 普通字符
    Pmenu # 弹出的提示条目颜色
    PmenuSel # 弹出的提示条目中被选中条目的颜色
    SpellBad # 拼写错误字符颜色
    Visual # 可视化模式下选中字符的颜色

    2) 文本区域配色:可编辑的文本区域的字符配色(全部的详细信息查看帮助文件 :help hi 查找 *comment

    由于配色种类较多,vim 默认分了几大类(帮助信息中带*的):

    1
    2
    3
    4
    5
    *Comment        # 注释
    *Constant # 常量
    *statement # 常用关键字标示符
    *PrePoc # 预处理符号
    *Type # 数据类型

    下面是较为详细的组别:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    String          # 字符串常量: "string abc
    "
    Character # 单个字符常量: 'c', ' '
    Number # 数字常量: 234, 0xff
    Boolean # 布尔常量: TRUE, false
    Function # 函数名
    Conditional # 条件关键字: if, then, else, endif, switch, etc.
    Repeat # 循环关键字: for, do, while, etc.
    Operator # 操作符: "sizeof", "+", "*", etc.
    Exception # 异常关键字: try, catch, throw

    这样便可以更为详细的为每一个组别进行配色

    查看当前的 vim 配色情况 :hi/highlight

    另外,文本区域的配色可以关闭,但环境配色不能,通常 vim 给定的默认可选配色方案中同时包含了以上两个方面

    下面就一条具体的配色命令(对数据类型配色)解释每个字段的含义:

    1
    hi Type cterm=none ctermbg=White ctermfg=Green guibg=Gray guifg=Red

    hi: highlight 的缩写,配色命令

    Type: 配色组名,可以自定义(修改$VIMRUNTIME/syntax/下对应的文件可改变不同语言的高亮方案)其内容

    cterm,ctermbg,ctermfg,guibg,guifg: 代表了不同显示环境

    White,Green: 表示颜色(也可以用数字或者类似与html的16进制颜色表示方法)

    显示环境有三种,黑白终端、彩色终端、图形界面;三种环境下参数名称如下:

    1
    2
    3
    4
    5
    6
    7
    term        # attributes in a B&W terminal
    cterm # attributes in a color terminal
    ctermfg # foreground color in a color terminal
    ctermbg # background color in a color terminal
    gui # attributes in the GUI
    guifg # foreground color in the GUI
    guibg # background color in the GUI

    其中 term 仅有黑白两色,cterm 下颜色较为单一,GUI 模式颜色丰富

    若要仅修改某种语言(c、Java、pascal)的配色,则在配色组名前加语言名称即可,比如对 c/c++ 语言的数据类型单独配色:

    1
    hi cType ctermfg=Blue

    若是修改 java/pascal 的数据类型,则相应的将 cType 替换为 javaType/pascalType 即可。

    对于文本区域的语法高亮(即配色),我们可根据需求特殊化定制,比如自定义组: myUniqueWord, mySymbol,使用 syn/syntax 命令

    1
    2
    syn keyword myUniqueWord gang Gang swagger
    syn match mySymbol "[,.;(){}[]]" # 可使用正则表达式

    vim 目前 7.4 版本给出的可直接使用(colorscheme 命令加于 .vimrc 中即可)的配色方案位于目录:/usr/local/share/vim/vim74/colors,比如使用 desert.vim 中的配色,则于 .vimrc 中添加一行:colorscheme desert 即可

    网友提供的配色方案列表(带效果图),可参考:

    http://vimcolorschemetest.googlecode.com/svn/html/index-c.html

    http://www.oschina.net/news/32306/10-vim-color-schemes-you-need-to-own

    :hi/highlight 命令,可查看当前 vim 的颜色配置

    :help hi/highlight 显示帮助文件(syntax.txt)内容

    可访问官方在线版 http://vimdoc.sourceforge.NET/htmldoc/syntax.html ,介绍了颜色配置脚本中关键字的含义和使用方法

    相同配色 vim 脚本在不同的终端下可能显示不太一致,这是由终端下颜色设置不一致导致的,属正常情况。

    在/Users/username 下面建立文件.vimrc ,将设置信息写进文件中;这是用户的配置信息,优先级最高;

       下面是我的的设置,这里可以根据自己的需要进行选择性配置。

    set nocompatible " 关闭 vi 兼容模式
    syntax on " 自动语法高亮
    colorscheme molokai " dracula 设定配色方案 molokai
    set number " 显示行号
    set cursorline " 突出显示当前行
    set ruler " 打开状态栏标尺
    set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
    set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
    set tabstop=4 " 设定 tab 长度为 4
    set nobackup " 覆盖文件时不备份
    set autochdir " 自动切换当前目录为当前文件所在的目录
    filetype plugin indent on " 开启插件
    set backupcopy=yes " 设置备份时的行为为覆盖
    set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
    set nowrapscan " 禁止在搜索到文件两端时重新搜索
    set incsearch " 输入搜索内容时就显示搜索结果
    set hlsearch " 搜索时高亮显示被找到的文本
    set noerrorbells " 关闭错误信息响铃
    set novisualbell " 关闭使用可视响铃代替呼叫
    set t_vb= " 置空错误铃声的终端代码
    " set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
    " set matchtime=2 " 短暂跳转到匹配括号的时间
    set magic " 设置魔术
    set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
    set guioptions-=T " 隐藏工具栏
    set guioptions-=m " 隐藏菜单栏
    set smartindent " 开启新行时使用智能自动缩进
    set backspace=indent,eol,start
    " 不设定在插入状态无法用退格键和 Delete 键删除回车符
    set cmdheight=1 " 设定命令行的行数为 1
    set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)

    3、在设置中有一个比较重要的设置就是配色设置,这主要看个人喜欢什么样的颜色风格,网上有很多配色方案可以下载,配色方案为.vim后缀的文件。下载下来文件之后,在终端用

    open /usr/share/vim命令打开vim文件夹,打开vim73>>colors,

      然后将下载下来的配色方案放进colors文件夹。这样在.vimrc文件中配置coloscheme +配色方案名称;就可以应用新的配色方案了,我用的是molokai;

      另外,配方方案文件也是可以自己修改的。

    vim颜色主题设置:

    /usr/share/vim/vim80/colors。

     

    vim语法设置:/usr/share/vim/vim80/syntax。
     

    indent设置:/usr/share/vim/vim80/indent。

    $ ls /usr/share/vim/vim80/colors
    blue.vim      delek.vim    evening.vim  murphy.vim     README.txt  torte.vim
    darkblue.vim  desert.vim   koehler.vim  pablo.vim      ron.vim     zellner.vim
    default.vim   elflord.vim  morning.vim  peachpuff.vim  shine.vim

    然后再自己的~HOME/建立一个 .vimrc文档 
    [$ vi .vimrc
    :colorscheme evening 


    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

    将一下代码copy到 用户目录下 新建文件为  .vimrc
    保存即可生效; 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)
    "=========================================================================
    " DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console
    "
    " Last Change: 2010年08月02日 15时13分 
    "
    " Version: 1.80
    "
    "=========================================================================

    set nocompatible " 关闭 vi 兼容模式
    syntax on " 自动语法高亮
    colorscheme molokai " 设定配色方案
    set number " 显示行号
    set cursorline " 突出显示当前行
    set ruler " 打开状态栏标尺
    set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4
    set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格
    set tabstop=4 " 设定 tab 长度为 4
    set nobackup " 覆盖文件时不备份
    set autochdir " 自动切换当前目录为当前文件所在的目录
    filetype plugin indent on " 开启插件
    set backupcopy=yes " 设置备份时的行为为覆盖
    set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
    set nowrapscan " 禁止在搜索到文件两端时重新搜索
    set incsearch " 输入搜索内容时就显示搜索结果
    set hlsearch " 搜索时高亮显示被找到的文本
    set noerrorbells " 关闭错误信息响铃
    set novisualbell " 关闭使用可视响铃代替呼叫
    set t_vb= " 置空错误铃声的终端代码
    " set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
    " set matchtime=2 " 短暂跳转到匹配括号的时间
    set magic " 设置魔术
    set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
    set guioptions-=T " 隐藏工具栏
    set guioptions-=m " 隐藏菜单栏
    set smartindent " 开启新行时使用智能自动缩进
    set backspace=indent,eol,start
    " 不设定在插入状态无法用退格键和 Delete 键删除回车符
    set cmdheight=1 " 设定命令行的行数为 1
    set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
    set statusline= %<%F[%1*%M%*%n%R%H]%= %y %0(%{&fileformat} %{&encoding} %c:%l/%L%) 
    " 设置在状态行显示的信息
    set foldenable " 开始折叠
    set foldmethod=syntax " 设置语法折叠
    set foldcolumn=0 " 设置折叠区域的宽度
    setlocal foldlevel=1 " 设置折叠层数为
    " set foldclose=all " 设置为自动关闭折叠 
    " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
    " 用空格键来开关折叠


    " return OS type, eg: windows, or linux, mac, et.st..
    function! MySys()
    if has("win16") || has("win32") || has("win64") || has("win95")
    return "windows"
    elseif has("unix")
    return "linux"
    endif
    endfunction

    " 用户目录变量$VIMFILES
    if MySys() == "windows"
    let $VIMFILES = $VIM.'/vimfiles'
    elseif MySys() == "linux"
    let $VIMFILES = $HOME.'/.vim'
    endif

    " 设定doc文档目录
    let helptags=$VIMFILES.'/doc'

    " 设置字体 以及中文支持
    if has("win32")
    set guifont=Inconsolata:h12:cANSI
    endif

    " 配置多语言环境
    if has("multi_byte")
    " UTF-8 编码
    set encoding=utf-8
    set termencoding=utf-8
    set formatoptions+=mM
    set fencs=utf-8,gbk

    if v:lang =~? '^(zh)|(ja)|(ko)'
    set ambiwidth=double
    endif

    if has("win32")
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    language messages zh_CN.utf-8
    endif
    else
    echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
    endif

    " Buffers操作快捷方式!
    nnoremap <C-RETURN> :bnext<CR>
    nnoremap <C-S-RETURN> :bprevious<CR>

    " Tab操作快捷方式!
    nnoremap <C-TAB> :tabnext<CR>
    nnoremap <C-S-TAB> :tabprev<CR>

    "关于tab的快捷键
    " map tn :tabnext<cr>
    " map tp :tabprevious<cr>
    " map td :tabnew .<cr>
    " map te :tabedit
    " map tc :tabclose<cr>

    "窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
    "光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
    "时候会变得非常方便.
    nnoremap <C-h> <C-w>h
    nnoremap <C-j> <C-w>j
    nnoremap <C-k> <C-w>k
    nnoremap <C-l> <C-w>l

    "一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
    nnoremap <leader>1 :set filetype=xhtml<CR>
    nnoremap <leader>2 :set filetype=css<CR>
    nnoremap <leader>3 :set filetype=javascript<CR>
    nnoremap <leader>4 :set filetype=php<CR>

    " set fileformats=unix,dos,mac
    " nmap <leader>fd :se fileformat=dos<CR>
    " nmap <leader>fu :se fileformat=unix<CR>

    " use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
    " map <C-x>l <ESC>:cl<CR>
    " map <C-x>n <ESC>:cn<CR>
    " map <C-x>p <ESC>:cp<CR>
    " map <C-x>c <ESC>:cc<CR>


    " 让 Tohtml 产生有 CSS 语法的 html
    " syntax/2html.vim,可以用:runtime! syntax/2html.vim
    let html_use_css=1

    " Python 文件的一般设置,比如不要 tab 等
    autocmd FileType python set tabstop=4 shiftwidth=4 expandtab
    autocmd FileType python map <F12> :!python %<CR>

    " 选中状态下 Ctrl+c 复制
    vmap <C-c> "+y

    " 打开javascript折叠
    let b:javascript_fold=1
    " 打开javascript对dom、html和css的支持
    let javascript_enable_domhtmlcss=1
    " 设置字典 ~/.vim/dict/文件的路径
    autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict
    autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
    autocmd filetype php set dictionary=$VIMFILES/dict/php.dict

    "-----------------------------------------------------------------
    " plugin - bufexplorer.vim Buffers切换
    " e 全屏方式查看全部打开的文件列表
    " v 左右方式查看 s 上下方式查看
    "-----------------------------------------------------------------


    "-----------------------------------------------------------------
    " plugin - taglist.vim 查看函数列表,需要ctags程序
    " F4 打开隐藏taglist窗口
    "-----------------------------------------------------------------
    if MySys() == "windows" " 设定windows系统中ctags程序的位置
    let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
    elseif MySys() == "linux" " 设定windows系统中ctags程序的位置
    let Tlist_Ctags_Cmd = '/usr/bin/ctags'
    endif
    nnoremap <silent><F4> :TlistToggle<CR>
    let Tlist_Show_One_File = 1 " 不同时显示多个文件的tag,只显示当前文件的
    let Tlist_Exit_OnlyWindow = 1 " 如果taglist窗口是最后一个窗口,则退出vim
    let Tlist_Use_Right_Window = 1 " 在右侧窗口中显示taglist窗口
    let Tlist_File_Fold_Auto_Close=1 " 自动折叠当前非编辑文件的方法列表
    let Tlist_Auto_Open = 0
    let Tlist_Auto_Update = 1
    let Tlist_Hightlight_Tag_On_BufEnter = 1
    let Tlist_Enable_Fold_Column = 0
    let Tlist_Process_File_Always = 1
    let Tlist_Display_Prototype = 0
    let Tlist_Compact_Format = 1


    "-----------------------------------------------------------------
    " plugin - mark.vim 给各种tags标记不同的颜色,便于观看调式的插件。
    " m mark or unmark the word under (or before) the cursor
    " manually input a regular expression. 用于搜索.
    " clear this mark (i.e. the mark under the cursor), or clear all highlighted marks .
    " * 当前MarkWord的下一个 # 当前MarkWord的上一个
    " / 所有MarkWords的下一个 ? 所有MarkWords的上一个
    "-----------------------------------------------------------------


    "-----------------------------------------------------------------
    " plugin - NERD_tree.vim 以树状方式浏览系统中的文件和目录
    " :ERDtree 打开NERD_tree :NERDtreeClose 关闭NERD_tree
    " o 打开关闭文件或者目录 t 在标签页中打开
    " T 在后台标签页中打开 ! 执行此文件
    " p 到上层目录 P 到根目录
    " K 到第一个节点 J 到最后一个节点
    " u 打开上层目录 m 显示文件系统菜单(添加、删除、移动操作)
    " r 递归刷新当前目录 R 递归刷新当前根目录
    "-----------------------------------------------------------------
    " F3 NERDTree 切换
    map <F3> :NERDTreeToggle<CR>
    imap <F3> <ESC>:NERDTreeToggle<CR>


    "-----------------------------------------------------------------
    " plugin - NERD_commenter.vim 注释代码用的,
    " [count],cc 光标以下count行逐行添加注释(7,cc)
    " [count],cu 光标以下count行逐行取消注释(7,cu)
    " [count],cm 光标以下count行尝试添加块注释(7,cm)
    " ,cA 在行尾插入 ,并且进入插入模式。 这个命令方便写注释。
    " 注:count参数可选,无则默认为选中行或当前行
    "-----------------------------------------------------------------
    let NERDSpaceDelims=1 " 让注释符与语句之间留一个空格
    let NERDCompactSexyComs=1 " 多行注释时样子更好看


    "-----------------------------------------------------------------
    " plugin - DoxygenToolkit.vim 由注释生成文档,并且能够快速生成函数标准注释
    "-----------------------------------------------------------------
    let g:DoxygenToolkit_authorName="Asins - asinsimple AT gmail DOT com"
    let g:DoxygenToolkit_briefTag_funcName="yes"
    map <leader>da :DoxAuthor<CR>
    map <leader>df :Dox<CR>
    map <leader>db :DoxBlock<CR>
    map <leader>dc a <LEFT><LEFT><LEFT>


    "-----------------------------------------------------------------
    " plugin – ZenCoding.vim 很酷的插件,HTML代码生成
    " 插件最新版:http://github.com/mattn/zencoding-vim
    " 常用命令可看:http://nootn.com/blog/Tool/23/
    "-----------------------------------------------------------------


    "-----------------------------------------------------------------
    " plugin – checksyntax.vim JavaScript常见语法错误检查
    " 默认快捷方式为 F5
    "-----------------------------------------------------------------
    let g:checksyntax_auto = 0 " 不自动检查


    "-----------------------------------------------------------------
    " plugin - NeoComplCache.vim 自动补全插件
    "-----------------------------------------------------------------
    let g:AutoComplPop_NotEnableAtStartup = 1
    let g:NeoComplCache_EnableAtStartup = 1
    let g:NeoComplCache_SmartCase = 1
    let g:NeoComplCache_TagsAutoUpdate = 1
    let g:NeoComplCache_EnableInfo = 1
    let g:NeoComplCache_EnableCamelCaseCompletion = 1
    let g:NeoComplCache_MinSyntaxLength = 3
    let g:NeoComplCache_EnableSkipCompletion = 1
    let g:NeoComplCache_SkipInputTime = '0.5'
    let g:NeoComplCache_SnippetsDir = $VIMFILES.'/snippets'
    " <TAB> completion.
    inoremap <expr><TAB> pumvisible() ? "<C-n>" : "<TAB>"
    " snippets expand key
    imap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)
    smap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)


    "-----------------------------------------------------------------
    " plugin - matchit.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
    " % 正向匹配 g% 反向匹配
    " [% 定位块首 ]% 定位块尾
    "-----------------------------------------------------------------


    "-----------------------------------------------------------------
    " plugin - vcscommand.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
    " SVN/git管理工具
    "-----------------------------------------------------------------


    "-----------------------------------------------------------------
    " plugin – a.vim
    "-----------------------------------------------------------------

    在vim启动过程中,首先将查找配置文件并执行其中的命令。而这些初始化文件一般有vimrc、gvimrc和exrc三种。

    利用:version命令,可以得到配置文件的详细信息。

    version-vimrc

    注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。

    配置文件位置

    vimrc是主配置文件,它有全局和用户两种版本。

    全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:

    :echo $VIM

    默认情况下,系统vimrc存放在以下位置:

    Linux: /usr/share/vim/vimrc

    Windows: c:program filesvimrc

    用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:

    :echo $HOME

    默认情况下,用户vimrc存放在以下位置:

    Linux: /home/username/.vimrc

    Windows: c:documents and settingsusername\_vimrc

    注意:用户配置文件优先于系统配置文件。

    gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。

    默认情况下,系统gvimrc存放在以下位置:

    Linux: /usr/share/vim/gvimrc

    Windows: c:program filesvim\_gvimrc

    默认情况下,用户gvimrc存放在以下位置:

    Linux: /home/username/.gvimrc

    Windows: c:documents and settingsusername\_gvimrc

    exrc文件,仅用于向后兼容olvi/ex,它的全局和用户两种版本也放置于vimrc相同的目录里。除非你使用vi-compatible模式,否则不需要关注exrc配置文件。

    注意:在Unix和Linux下,vim的配置文件被命名为以点开头的隐藏文件;而在Windows下,配置文件则以下划线开头命名。

    编辑配置文件

    可以使用以下命令,新建缓冲区来编辑配置文件:

    :edit $MYVIMRC

    也可以使用以下命令,新建标签页来编辑配置文件:

    :tabedit $MYVIMRC

    例如,我们可以在配置文件中使用以下命令,来设置vim的选项:

    :syntax on "打开语法加亮功能

    :set shiftwidth=4 "设置缩进宽度为4个空格

    其中,单引号(")为注释内容。

    应用配置文件

    修改配置文件后,需要重新启动Vim,或使用:source命令来应用新的设置:

    :source $MYVIMRC

    我们可以在配置文件中增加以下命令,在保存后自动应用配置:

    autocmd bufwritepost .vimrc source $MYVIMRC

     

     
     
     
  • 相关阅读:
    WordPress研究心得
    Java之生成Pdf并对Pdf内容操作
    Java之生成条形码、PDF、HTML
    Redis口令设置
    Redis启动问题解决方案
    网狐6603手机棋牌游戏源码.rar
    LNK1179 无效或损坏的文件: 重复的 COMDAT“_IID_IDispatchEx”
    c++转C#
    error LNK1281: 无法生成 SAFESEH 映像 LNK2026 模块对于 SAFESEH 映像是不安全的 VS2015 /win10
    当两行的数据一样时,要删除一行的正则表达式解决办法。
  • 原文地址:https://www.cnblogs.com/timssd/p/4181225.html
Copyright © 2020-2023  润新知