如何设置vimrc?

< 由于我们的需求是在不断地变化的,所以呢,我希望这篇文章能够根据我的需求不断地写下去。

  • 一般在文件保存退出以后,再次代开的时候,都会产生一个swp文件,然后vim会询问你这个swp文件已经存在,要不要编辑?这样真的好烦。为了避免这个问题,可以在vimrc里面设置一句话,就可以完全解决这个问题。但是你一定要注意,这样你将会失去备份文件,不可以大量使用,推荐用下面的方法。将备份文件放到另一个目录下面。

        set noswapfile
    
  • Backups

如果你保持开着一个vim进程, 并且在其中更改了文件, vim会创建一个 "备份"(译注: 我想作者想说的是'swap'交换文件) 文件. 然后当你从另一个不同的vim会话中打开文件的时候, vim就会抱怨你在谋略编辑一个已经正在被编辑的文件. 此 '备份' 文件是通过在当前目录下的文件(名)后面追加一个 '~'符号来创建的. 这在你想要浏览器目录的同时会变得很烦, 所以我应用了以下的设置来移动备份文件到/tmp目录中.

      set backup                          "make backup file
      set backupdir=~/.vim/back  "where to put backup files
      set directory=~/.vim/tmp     "directory to place swap file in

尽管这可能很惹人烦, 但总比丢失掉大量的已编辑但未保存的工作成果要好.如果你正常退出以后,swap文件将会自动删除,而不会占用其内存空间。所以这个设置真的是防止文件丢失的好方法,推荐大家使用。

  • Colors

        colorscheme badwolf 
    

设置颜色

  • 语法高亮

        syntax enable           " enable syntax processing.
    

另外, 许多 vim 中的设置既有长名又有短名. 例如 background 和 bg 是一样的. 为了此后的可读性, 我强烈建议使用长名.

  • Spaces & Tabs.

    set tabstop=4       " number of visual spaces per TAB
    

tabstop 就是视觉上显示的一个 算作的空格个数. 所以, 当 vim 打开文件读取到一个 字符时, 就会使用这么多个空格来显示 .

  set softtabstop=4   " number of spaces in tab when editing

编辑时一个 算作的空格数. 所以这既是你插入 时插入的空格数, 也是你用 backspace 移除的 (译注: 连续的) 空格数.

  set expandtab       " tabs are spaces

expandtab 会将 tap键转换为多个空格. 仅此而已. 所以 tap键仅仅成为了 "插入4个空格" 的快捷键.

  • UI Config

       set number              " show line numbers
    

显示行号, 不解释.

    set showcmd             " show command in bottom bar

showcmd 显示在最右下角展示最近输入的命令.

    set cursorline          " highlight current line

cursorline 会突出显示(或加下划线, 取决于你的本色方案)你的光标当前所在水平行. 我发觉当你 vim 的多个窗口来回切换或离开 vim 后再切换回来, 这样更容易找到离开时那一行.

  • 自动补全

     set wildmenu            " visual autocomplete for command menu
    

这是一个相当酷的特性, 我以前都不知道Vim有它. 你知道 Vim 会自动补全类似文件名的东西, 如果你开启了 wildmenu, 你就可以循环遍历它们.
set wildmenu.PNG
简而言之,就是在命令行,tab键能够补全列出所有的命令。

  • Searching

    set incsearch           " search as characters are entered
    set hlsearch            " highlight matches
    set ignorecase
    map <F2><space> :nohlsearch
    

这些设置是自解释的. 它们使得搜索更棒.vim 从搜索开始直到你下一个搜索期间会保持高亮, 或者你可以手动停止旧有的搜索使用 :nohlsearch. 或者是入上面所述将F2键映射成这个命令。

  • 解决兼容性问题

      set nocompatible  "去掉有关vi一致性的模式,兼容
    

解决一些兼容性问题

  • 设置字体

       set guifontset= 
       set guifont=Consolas:h12
    
  • 不设定在插入状态下无法用退格键和delete键删除回车符

       set backspace=indent,eol,start
    
  • 在vim窗口的左下角显示模式,没有显示时代表的是常规模式。

      set showmode
    
  • 现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。
    这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。

     set list
    set listchars=tab:>-,trail:-
    

现在,TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"。看起来好多了,是吧?

  • 在此之后,如果在一行的开头输入空格或制表符,那么后续的新行将会缩进到相同的位置。

      set autoindent
    
  • 自动切换当前目录为当前文件所在的目录

      set autochdir
    
  • 设置行和列高亮,并设置高亮的颜色

     set cursorcolumn
     hi cursorcolumn guibg=darkred
     set cursorline
     hi cursorline guibg=darkred
    
  • 只编辑UTF-8的中文文件

      set fileencodings=utf-8
    
  • 键盘键的映射,将gb快捷键映射为:bd回车键。即新建一个vim窗口。

      map gb :bd<CR>
原文地址:https://www.cnblogs.com/xuqing125/p/9648489.html