1.vimrc文件
也许你早已厌倦于手工键入那些常用的命令。要使你喜好的选项和映射一次性准备就绪,你可以把它们统统写进一个叫vimrc的文件。Vim在启动时会读取该文件。 |
:version"命令也会列出Vim是在哪些目录寻找该文件的。 |
对Unix和Macintosh系统而言通常是文件--这也是推荐的文件 ~/.vimrc 对MS-DOS和MS-Windows来说可以从下面的文件中选用一个: $HOME/_vimrc $VIM/_vimrc |
2.vimrc示例
set nocompatible让Vim工作于not-compatible增强模式下 |
set backspace=indent,eol,start 这条命令告诉Vim在Insert模式下退格键何时可以删除光标之前的字符。选项中以逗号分隔的三项内容分别指定了Vim可以删除位于行首的空格,断行,以及开始进入Insert模式之前的位置。 |
set autoindent 这个命令让Vim在开始一个新行时对该行施以上一行的缩进方式。这样,你在Insert模式下按回车或在ormal模式下按o来添加新行时该行将会与上一行有相同的缩进。 |
set showcmd 在Vim窗口的右下角显示一个完整的命令已经完成的部分。比如说你键入"2f", Vim就会在你键入下一个要查找的字符之前显示已经键入的"2f"。一旦你接下来再键入一个字符比如"w",那么一个完整的命令"2fw"就会被Vim 执行,同时刚才显示的"2f"也将消失。 |
set history=50设置冒号命令和搜索命令的命令历史列表的长度。 :set nowrapscan不循环搜索 :set showmode 现在是什么工作模式? :set magic关闭遇到错误时声音提示 :set showmatch显示匹配的行号 :set showcmd在状态栏显示命令 :set mouse=a控制台启用鼠标 :set encoding=utf-8设置VIM内部的编码 :set termencoding=utf-8设置终端编码,就是VIM显示的编码 :set fileencoding=zh_CN.utf-8设置文件编码 |
3.选项窗口
如果你要查找一个选项,可以使用这个命令: :options 该命令会打开一个新窗口,在该窗口的最开头的注释下面是一个选项列表,每行一个,对每个选项有一个对应的简短说明。这些选项根据主题分组。把光标移动到你想了解的主题词上按下回车键就可以跳转到对该主题的详细解释。再按下回车键或CTRL-O就又会回到该选项列表。 |
万一你把一个选项值改到自己难以收拾残局,还可以在该选项的后面放一个&符号使它恢复其默认值,如: :set iskeyword& |
4.忽略大小写
默认情况下Vim的搜索是大小写敏感的。
现在打开ignorecase选项:
:set ignorecase
下面的命令又可以暂时关闭这一选项:
:set noignorecase
现在打开smartcase选项:
:set ignorecase smartcase
如果你要搜索的内容中至少包括一个大写字母,整个搜索就会是大小写敏感的。这样设计你就不必总是输入大写字符了,你想要进行大小写敏感的搜索时准确键入就行了。这看起来智能多了。
设了上面这两个选项,下面的所有word都可以搜索得到:
word word, Word, WORD, WoRd, etc.
Word Word
WORD WORD
WoRd WoRd
5.备份
:set backupext=.bak生成.bak的备份文件。
:set backupdir 它指定备份文件将被置于哪个目录下
:set backup 生成的备份文件名将是原文件名后面附加一个~。
备注: 如果backup选项是关闭的但writebackup选项是打开的,Vim还会生成一个备份文件。但是,一旦该文件被成功地保存它就会被自动删除。
:set patchmode=.orig如果你第一次开始编辑data.txt,改一些东西后存盘,Vim会保留一份该文件的原始版在data.txt.orig中。
如果你把patchmode选项设置为空(默认情况正是如此),文件的原始副本就不会被额外保存。
6.有色或无色(:syntax enable)
:syntax clear暂时关闭语法高亮,新开窗口时又会应用彩色显示。 |
:syntax off将彻底禁用语法高亮功能,并立即对各个缓冲区生效。 |
:set syntax=ON当前缓冲区打开语法高亮功能。 |
7.告诉你当前位置
使用CTRL-G命令。会得到一些类似于下面的信息行(假设ruler选项已关闭) "pad.sed" line 233 of 650 --35%-- col 45-52 |
:set number 显示列号 :set nonumber不显列号 |
:set ruler 显示列号 :set norouler 不显行号 |
8.常用选项
不要折行 Vim通常会把超出当前显示窗口显示宽度的行折到下一行显示,这样你还是可以看到整行的内容。有时候让它不管多长都放到窗口最右边去会更好。这时你要看这些超出当前视野的部分就要左右滚动该行了。控制长行是否折到下一行显示的命令是: :set nowrap |
Vim会自动保证你把光标移动到某字符上时它会显示给你看,必要时它自动左右滚动。要查看左右10个字符的上下文,用命令: :set sidescroll=10 |
跨行移动命令 Vim中多数移动光标的命令会在遇到行首或行尾时停止不动。whichwrap选项可以用来控制这些移动光标的命令此时的行为 规则。下面的设置是它的默认值 :set whichwrap=b,s |
这样光标位于行首时按退格键会往回移动到上一行的行尾。同时在行尾按空格键也会移动到下一行的行首。 要让左右箭头键3在遇到行的边界时也能智能地上上下下,使用命令: :set whichwrap=b,s,<,> |
这些都是只针对于Normal模式。要让左右箭头键在Insert模式下也能如此: :set whichwrap=b,s,<,>,[,] |
查看制表符 文件中含有制表符时,你并不能看到它们。要让这些制表符成为可见的字符: :set list |
现在每个制表符都会以^I显示。同时每行行尾会有一个$字符,以便你能一眼看出那些位于一行尾部的多余空格。 这样做的缺点是文件中制表符很多时整个屏幕看起来就很抱歉了。如果你的终端支持彩色显示,或者使用的是GUI, Vim就可以把制表符和空白字符高亮起来显示。这要配合使用下面的listchars选项: :set listchars=tab:>-,trail:- 现在每个制表符会以">---"显示,同时行尾空格以"-"显示,看起来会好一点,你觉得呢? |