通过操作各种插件等配置你可以把vim武装成战斗机,但如果你刚接触vim的话,那么把精力放在vim命令的学习上会比费心费力去给vim装配各种功能要明智得多。
仅需以下几步就可达成我们对vim的基本需求,和谐的配色、目录树和常用配置
1.下载并安装vim ,这个自行下载安装无需多言。
2.配色方案
2.1:下载地址 https://github.com/altercation/vim-colors-solarized
2.2:解压后找到 colors 文件夹下的 solarized.vim文件,将其放在 vim 下的colors文件夹中
2.3:把以下代码写入到 _vimrc 中,分别是两种配色
syntax enable set background=dark colorscheme solarized 或 syntax enable set background=light colorscheme solarized
完成这些后,重启vim看发生了什么变化。
3.目录树 DERD Tree 的安装
3.1 :官方网站: The NERD tree : A tree explorer plugin for navigating the filesystem 下載 NERD_tree.zip
3.2 :解压缩之后,把 plugin/NERD_tree.vim 和doc/NERD_tree.txt分别拷贝到~/.vim/plugin 和 ~/.vim/doc 目录。
这样插件已经安装完成,并不需要其他的配置,启动VIM的时候,默认是不会激活该插件的,如要在命令模式下键入命令: NERDTree
3.3:ENRD Tree 命令简介
- 和编辑文件一样,通过h j k l移动光标定位
- 切换工作台和目录
ctr+w+h 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。
ctrl+w+w,光标自动在左右侧窗口切换 - o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中
go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能
i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能 - t 在标签页中打开
- T 在后台标签页中打开
- p 到上层目录
- P 到根目录
- K 到同目录第一个节点
- J 到同目录最后一个节点
- m 显示文件系统菜单(添加、删除、移动操作)
- ? 帮助
- q 关闭
- 为了方便,我们可以在.vimrc文件里定义快捷键:
在~/.vimrc 或 /etc/vim/vimrc文件里添加如下配置
:map < F8> < ESC>:NERDTree %< CR>
nnoremap < F10> :exe ‘NERDTreeToggle’< CR>
这样在VIM里按下F8就可以打开或关闭目录树,具体操作命令请查看插件doc目录下的帮助文件。
4. vim的基本设置
"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible "显示行号 set number "检测文件的类型 filetype on "记录历史的行数 set history=1000 "语法高亮度显示 syntax on "下面两行在进行编写代码时,在格式对起上很有用; "第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行; "第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编 "写上很有用 set autoindent set smartindent "第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格 set tabstop=4 set shiftwidth=4 "设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号 set showmatch "去除vim的GUI版本中的toolbar set guioptions=T "当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声 set vb t_vb= "在编辑过程中,在右下角显示光标位置的状态行 set ruler "默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示 set nohls "查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一 "个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依 "次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词 "时,别忘记回车 "解决中文乱码 set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1 set incsearch "修改一个文件后,自动进行备份,备份的文件名为原文件名加"~"后缀 if has("vms") //注意双引号要用半角的引号" " set nobackup else set backup endif