VIM 启动文件的初始配置

VIM 是一个很棒的文本编辑工具,但是在安装完成后,还必须根据个人的使用习惯来进行一些初始的启动配置。可找到文件$vim/_vimrc, 也可以通过中文菜单“编辑”-》“启动设定” 打开该文件,然后进行编辑。下面是一些常用的一些配置:

  • 显示文本行号

set nu!  设置文本显示行号,这在行操作中很方面,如:123gg,直接将光标定位到123行。

  • 设置字符编码

set encoding=utf-8  设置当前字符编码为 UTF-8。 UTF-8 是支持字符集最多的编码之一, 在 UTF-8 下进行工作, 会带来许多方便之处。 由于 VIM 在运行过程中切换 encoding 会造成许多问题, 如提示信息乱码、 register 丢失等, 因此强烈在启动 VIM 的时候把 encoding 设置为 UTF-8, 可以避免很多麻烦。在编辑非 UTF-8 的文件时, 通过 fileencoding 来进行转码。

  • 使用中文菜单

set langmenu=zh_CN.UTF-8  设置菜单使用 UTF-8 编码。 如果没有这句的话, 在非 UTF-8 的系统, 如 Windows 下, 用了 UTF-8 的 encoding 后菜单会乱码。但是根据我本人的经验,使用该行设置并不能消除中文菜单的乱码现象。最后的解决办法是在_vimrc文件中添加如下文本:

source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

  • 使用中文提示信息

language message zh_CN.UTF-8  如果没有这句的话, 在非 UTF-8 的系统, 如 Windows 下, 用了 UTF-8 的 encoding 后系统提示会乱码。

  • 设置 Tab 键缩进宽度

set ts=4  设置当按下 Tab 键后缩进 4 个字符。默认 Tab 键缩进为 8 个字符。

  • 设置自动缩进

set sw=4 设置自动缩进为4个字符,默认自动缩进为8个字符。重新设置后,按下 shift + ,/。 键使文本缩进时移动幅度为4个字符。

  • 自动对齐

set autoindent 也就是把上一行的对起格式应用到当前行。

  • 设置新建文档快捷键

map <F11> :tabnew <CR>  按下 F11 键后将会创建一个新的空文档。

  • 设置关闭文档快捷键

map <F12> :close <CR>  按下 F12 键后将会关闭当前编辑的文档。

  • 修改配色方案

colors desert  修改当前的配色方案为 desert 颜色方案,当然我们也可以修改 desert 配色方案的具体配置项。该配置方案在 $Vim/vim70/colors/desert.vim 中有具体描述。

 

修改后的启动配置文件_vimrc完整内容如下:

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set nu!
set encoding=utf-8
set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language message zh_CN.UTF-8
set ts=4

set sw=4
set autoindent
map <F11> :tabnew <CR>
map <F12> :close <CR>
colors desert

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '/<cmd'
      let cmd = '""' . $VIMRUNTIME . '/diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '/diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '/diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

你可能感兴趣的:(cmd,vim,文档,文本编辑,encoding,colors)