Vim几句话介绍
Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也有移植的版本,方便了Windows上的用户。Vim的文本编辑功能非常强大,强大的有些让人吃惊!并且非常稳定,你的文档不用经常存盘,它不会出现类似于“程序内部错误!”等等现象,程序曾经让我欲哭无泪啊!
开始使用Vim吧!
启动:在命令提示符后输入vim,然后回车,就启动了vim,然后进入vim的界面。如果在命令提示符后输入vim ### 并回车,则表示希望编辑###这个文件,例如vim .xinitrc,则编辑.xinitrc这个文件,如果这个文件不存在,则表示新建这个文件并编辑。好了,你赶快试试吧,然后我将告诉你如何输入一些文本。
vim的工作模式
别着急,要想输入文本,要先熟悉一下Vim的工作模式。(我第一次就是在输入了vim后,就开始劈里啪啦的输入,可是怎么没反映啊!?)
vim的工作模式有三种,分别是正常(Normal)模式、插入(insert)模式和可视(visual)模式。这就是说Vim在不同的模式下工作的表现形式是不同的。在进入vim后,默认的模式是Normal模式,这时可以输入一些命令,不过别急,咱们先输入一些文本看看。在Normal模式下,单击i或者a,则进入insert模式,这时你可以输入了。为了后面的学习,你多输入些内容。输入结束后,单击Esc键,回到Normal模式,然后输入:w filename,如果你启动vim时已经包含文件名,输入:w(注意包括冒号),则将文件存盘。
OK,恭喜你!你现在已经能够启动vim,输入内容并存盘了。
下面我们我们简单介绍一下模式的内容。
前面说过,vim在不同的模式下有不同的工作方式,例如输入文本内容在insert模式下,其他进行修改、删除、拷贝、粘贴等在Normal模式下。因此当你发现输入错误想修改时必须切换到Normal模式下进行,是不是很麻烦啊!我当初也是这样认为的,但是你一旦习惯后,你就会觉得它的好处了!切换到Normal模式就是单击Esc键,vim的屏幕下面有当前工作模式的提示。进入输入文本的insert模式是输入i或者a。i和a这俩个指令的区别就是i代表在光标前插入字符,a代表在光标后插入字符,就是这么简单,OK,如何用就看你的了!
编辑文本
进行文本编辑,应该是Unix初学者最开始碰到的问题。Unix下的默认配置文件经常要修改的啊!所以掌握编辑方法是非常重要的。并且本文的目的就是让初学者掌握简单而又实用的编辑、修改命令。至于其他的高级使用方法,可以参考其他书籍!
OK,咱们就开始学习吧!
移动光标是最基本的,下面都是移动光标的命令,看看那个好记,就记住吧。
在Noraml模式下,键盘上的h、j、k、l 分别代表左、下、上、右移动光标。OK,在你刚才编辑的文档中试试移动光标,爽吧!再也不用移动手指到那4个方向键了!
什么?你说这4个键一次只能移动一个字符和一行,太慢了!OK,下面几个快速移动光标的方法你有精力就记住吧!
一次移动一个字(word)
w和b指令一次分别向后/向前移动一个字。
注:(1)可以用数字来进行移动多个Word,例如3w,2b就是分别向右(向后)移动3个word, 和2个word。
(2)中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。
移动到一行的头和尾
^ :行头 $ :行尾
注:行尾$,可以用3$移动到下面第3行尾,行首^ 不支持数字。
如何跳到指定行?
nG
注:(1)n表示第n行,例如10G,则跳到第10行,且光标在行首。
(2)如果没有n,只有G,则跳到最后一行,且光标在行首。
我想用G命令,但是如何知道第几行?OK,在Normal模式下输入:set number就可以显示行号了,如果想关闭行号,则输入:set nonumber。
好了,移来移去,来点别的吧,例如如何修改,复制。OK,GO!
先来看看如何进行修改吧。Word和其他的一些文本编辑器都是编辑和输入混杂在一起的,输入的同时就可以修改。而Vim的这些编辑指令必须在Normal模式下,切记!
修改命令
删除:
在word等编辑器下,如果输入错了,我们可以用Delete和Backspace键删除,然后再重新输入,vim也可以这样,x就是删除光标所在处的字符(char),dw就是删除一个字(word),然后在输入i或者a进行新内容的输入。
删除整行如何操作?dd就可以删除光标所在行。
那删除光标所在处到本行的结尾呢?D或者d$就可以了。还记得$吗?代表什么来着?
删除结束还要在输入i 或者a 才能输入真麻烦!有没有删除后就进入inster模式的指令呢?当然有,就是关于c的指令,cw是删除一个Word,cc删除整行,c$和C都是删除光标所在处到本行的结尾。你可能已经明白了,其实c的指令是修改指令。
好了,你是否已经把内容删干净了,没有可以编辑的内容了呢?呵呵,没关系,u指令可以让你恢复删除的内容。在Normal模式下,输入u,就恢复了,重复输入u就把整个内容都恢复了,u就是其他文本编辑器里的Undo的指令,对应的Redo指令就是[Ctrl]r。需要注意的是在不同模式下,u 的含义是不同的。如果在instert模式下输入然后在Normal模式下执行u,则会删除上一次输入的所有内容。如果是在 Normal 模式下执行其他的指令例如x,然后再执行u,就恢复一次 Normal 下的指令。Redo也一样。
OK,让我们来学习更加重要的功能吧!
剪切、复制、粘贴等相关
剪切、复制等这些指令都是同块(block)相关的操作,因此无论如何都要先了解一下块的基本知识。vim里用mark来定义一个标记,然后用y指令把指定的内容进行复制到缓存中,然后用p来粘贴。!@#¥%^&,天啊,太复杂了。没关系,咱们用个例子来说明吧,很简单的!
例如下面的文本:
this is the first line
this is 2nd line
我们可以先把光标移动到第一行的行首,然后切换到Normal模式(还记得如何切换吗?),输入ma(表示标记a),然后移动光标到第2行的2nd处,输入y`a(表示把标记a到光标所在处复制到缓存中),然后移动光标到你希望粘贴的地方输入p(表示粘贴)。OK你已经完成了最基本的复制、粘贴功能。
下面我们看看这几个命令(m,y,p)的情况。
m指令。m指令非常简单,他就是做标记,你可以做从a到z的26个标记例如ma,mb,mc等。他在很多指令中会用到,例如删除,这本入门就不介绍了,你可以参考其他书籍。
y指令表示yank,其实就是拷贝。不过他有其他的指令形式,例如yy复制整行。
p指令就是粘贴。例如上面的例子。
OK,既然你知道了yy指令,那希望复制一行并粘贴的话,我想你应该知道如何操作了吧(yy,p)。
也许你用m做标记感觉不是很舒服,OK,我们来个可视的块的选择方法。那就是v指令。
记得在其他的文本编辑器里我们可以用鼠标选择一些文本,然后copy,paste,在vim里一样可以,当然希望用鼠标最好用gvim。现在来试试v的指令吧。
在Normal模式下,输入v(看到屏幕下面的visual模式提示了吗?),然后移动光标,看到被选择的内容了吧 。选择好了,你可以输入d把他们删除,也可以输入y将他们复制到缓存中,然后用p来粘贴到你希望的地方。什么多次粘贴,多按几次p就可以了,也可以输入#p,#代表连续粘贴的次数,例如粘贴100次,就输入100p。
OK,我想你一定喜欢上v命令了,还有V和[CTRL]v呢!V(大写)是表示可视行,就是代表你移动光标时,选择的范围是行,不像小写的v是一个字符。另外[CTRL]v是选择方块,你可以试试,就清楚了!
好了,基本的东西就这些了,当然还有几个也不错的命令东东,很简单,它能高效的配合你上面的基本工作,那还犹豫什么!开始吧!
连接行
你在编辑的时候,一定会碰见希望把两行或者多行合并成一行的情况。好,vim已经给你设计好了,就是J指令,注意是大写(j是什么?)。J表示将光标所在行和下一行合并成一行,如何合并多行,可以输入#J,#代表希望合并的行数,例如3J。
插入新行
怎么插入新行?用o或者O指令(不是零)。o是在当前行下插入新行,大写O是在当前行上插入新行。真是简单,而且直接进入instert模式,不错,设计的很贴心。
如何在一行内查找一个字符(或者一个中文单字)?
使用fx,Fx,tx,Tx指令。其中x代表欲查询的字符。他们的区别是:fx(向右)查x,且光标停在x上,Fx(向左)查x,且光标停在x上,tx(向右)查x, 且光标停在x前,Tx(向左)查x, 且光标停在x后。
如何查找字符串?
使用/xxxxx。其中×××××为需查找的内容。当查到多个内容时,可以输入n来将光标定位到下一个位置。此外查找命令有历史记录功能,可以输入/,然后用光标上、下键来切换已经查过的内容。要注意的是几个特殊的字符必须在前面加。这几个字符为:.*[]^%/?~$。如果想往回查找,则输入?,改变查找顺序,再输入n来进行定位。当然也可以用N来反向查找。
如何翻页(半页)?
使用[ctrl]u和[ctrl]d。其中u为向上翻半页,d为向下翻半页。
如何插入一些特殊的字符,例如:∮等?
使用:digraphs来显示特殊字符的列表,然后输入CTRL+K+显示出来的2个字符来输入特殊字符,例如输入CTRL+K+I+o,则为∮。
哦!忘记了告诉你如何退出vim!
在Normal模式下,输入ZZ就可以保存文档并退出。
在Noraml模式下,输入:q!可以强制退出,就是不保留修改退出。
好了,享受Vim吧!
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
- 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 - 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 - 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
d) 退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
3、命令行模式(command mode)功能键
1). 插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按「ESC」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
4). 删除文字
「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5). 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
7). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9). 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
A) 列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
D) 保存文件
「w」:在冒号输入字母「w」就可以将文件保存起来。
E) 离开vi
「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。
「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
5、vi命令列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字符
l
右移光标一个字符
k
光标上移一行
j
光标下移一行
^
光标移动至行首
0
数字“0”,光标移至文章的开头
G
光标移至文章的最后
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
x
删除光标后的#个字符
X
(大写X),删除光标前面的字符
X
删除光标前面的#个字符
dd
删除光标所在的行
dd
删除从光标所在行数的#行
yw
复制光标所在位置的一个字
yw
复制光标所在位置的#个字
yy
复制光标所在位置的一行
yy
复制从光标所在行数的#行
p
粘贴
u
取消操作
cw
更改光标所在位置的一个字
cw
更改光标所在位置的#个字
2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename
wq filename
储存正在编辑的文件为filename,并退出vi
q!
放弃所有修改,退出vi
set nu
显示行号
/或?
查找,在/后输入要查找的内容
n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。
对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)
(h,j,k,l,w,b等等)或者是指行号.
(这里#代表一个数字)
执行n次后面的命令...
: 进入ex模式
) 下一句
( 上一句
} 下一段
{ 上一段
]] 下一节
[[ 上一节
0 行的开头
$ 行的末尾
^ 行的第一个非空白字符
下一行的开头
上一行的开头
(空格) 下一个字符
(回车) 下一行
/ 向前搜索
? 向后搜索
% 查找当前小(中,大)括号的匹配字符
, 逆向重复上一个f,F,t或T操作
; 重复上一个f,F,t或T操作
. 重复上一个操作
` 转到标记处
' 转到标记所在行的开头
`` 查找前回到上一个做标记的地方
'' 查找前回到上一个做标记所在行的开头
~ 切换字符的大小写
" 保存到寄存器中
!! 重复上一次SHELL命令
! 把后面的文本送给命令, 取代输出(例如,
!}fmt把当前的段落
送给命令fmt处理,然后用fmt返回的东西替换输出.)
右移当前段落一个移动宽度(shiftwidth)
<< 左移当前段落一个移动宽度(shiftwidth)
%
从当前到匹配小(中,大)括号之间的文本右移
<%
从当前到匹配小(中,大)括号之间的文本左移
(似乎漏了一个符号|, 移动到某一列----译注)
a 在当前位置之后添加
A 在当前行的末尾添加
^a 没有使用
b 上一个单词的开头
B 上一个单词的开头,忽略标点符号
^b 上移一屏
c 覆盖...
C 覆盖到行末尾
^c 终止插入模式,在命令模式没有用
d 删除...
D 删除到行末尾
^d
下移半屏,如果在插入模式下则移到上一个移动宽度(ShiftT-ab)处
e 单词的末尾
E 单词的末尾,忽略标点符号
^e 屏幕下卷一行
f 查找...
F 向后查找...
^f 下移一屏
g 未用
G ...跳至[缺省是到文件末尾]
^g 显示状态栏
h 左移
H 屏幕上的第一行
^h 在插入模式下是退格,命令模式下是左移
i 在当前的位置前面插入
I 在本行的第一个非空白字符前面插入
^i 插入模式下是制表键,命令模式下未用
j 下移
J 把下一行合并到本行
^j
命令模式下是下移,插入模式下是建一个新行
k 上移
K 未用
^k 未用
l 右移
L 屏幕中的最后一行
^l 重绘屏幕
m 把当前位置标记到寄存器中
M 屏幕的中间行
^m 回车
n 重复上次查找
N 逆向重复上次查找
^n 命令模式下是下移
o 在当前行的下面建一个新行
O 在当前行的上面建一个新行
^o 未用
p 在当前行的下面粘贴
(译注--应为在当前位置的后面粘贴)
P 在当前行的上面粘贴
(译注--应为在当前位置的前面粘贴)
^p 命令模式下是上移
q 未用
Q 退出并且启动ex
^q 未用
r 覆盖当前的字符
R 在插入模式下一直覆盖字符
^r 在命令模式下面重绘屏幕
s 替换
S 替换整行
t 到...
T 向后到...
^t 移到下一个移动宽度(shifttab)处
u 撤消上一次操作
U 撤消对本行的所有修改
^u 上移半屏
v 未用
V 未用
^v 未用
w 下一个单词的开头
W 下一个单词的开头,忽略标点符号
^w
命令模式下未用,在插入模式下是到上一个单词的开头处
x 删除当前字符
X 删除前一个字符
^x 未用
y 复制...
Y 复制整行
^y 屏幕上卷一行
z 重新配置当前行周围的屏幕
ZZ 保存之后退出
^z 未用
(译注--在命令模式下,^z执行了UNIX暂停操作)
6.1 - 命令模式的输入选项(:命令)
(注: 这不是一个规范的列表,,
我只是列出了一些最重要的命令)
:r <文件> 把<文件>读入到当前文档
:r !<命令> 把<命令>的输出插入到当前文本中
:nr <文件> 把<文件>插入到第n行
:!<命令> 运行<命令>,然后返回
:sh 转到SHELL
:so <文件> 读取<文件>,再执行文件里面的命令
(译注--文件中的命令应该都是一些ex命令)
:x 保存之后退出
:wq 保存之后退出
:l1,l2w
<文件>把第l1和第l2行之间的文本写到<文件>中去,如果没-有指定<文件>,
vi就假定是当前文件,如果没有指定l1,l2,就假定是整个文-件(就成了:w)
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:w! 覆盖当前文件
:q 退出
:q! 不存盘就退出
:e <文件> 不离开vi编辑<文件>
:e! 重新编辑当前文件,忽略所有的修改
:n 编辑下一个文件
:e +n <文件>
从第n行开始编辑<文件>,如果超过了末尾,就从末尾开始编辑
:e#
编辑替换文件(如果使用了命令:e<文件>,替换文件就指的是原-始文件)
:args 显示所有要编辑的文件
:rew 重新回到第一个编辑的文档
:map m n 创建一个宏(使 m 做 n)
:map! m n 创建一个插入模式的宏(使 m 做 n)
:unmap m 删除宏m
:unmap! m 删除插入模式的宏m
:ab <1> <2> 缩写,敲<1>的时候用<2>取代
:unab <1> 取消缩写<1>
:set <选项> 设置<选项>...
6.2 - 设置选项(set)
可以使用括号中的缩写形式. 语法:
:set <选项> <参数> (如果需要参数的话)
也可以在一行中指定多个选项
:set <选项>? 显示出当前这个选项的参数值
:set all 则显示所有的选项值
对那些无须参数的选项来说,使用:set
no<选项>就可以把它给关了
选项: 缺省值: 含义:
autoindent (ai) noai
使新行自动缩进,和上(下)行的位置对齐
autoprint (ap) ap
每条命令之后都显示出修改之处
autowrite (aw) noaw
在:n,:!命令之前都自动保存文件
beautify (bf) nobf
在输入的时候忽略所有的控制字符
(除了制表键(tab),换行(newline),进纸(for-mfeed))
directory= (dir=) /tmp 存放缓冲区的目录名
edcompatible noedcompatible
在替换的时候使用类ed的用法
errorbells (eb) errorbells 出错的时候响铃
exrc (ex) noexrc
允许在主目录(home)外面之外放.exrc文件
hardtabs= (ht=) 8 设置硬制表的边界
ignore case (ic) noic 正规式里忽略大小写
lisp nolisp 打开lisp模式
list nolist
显示所有的制表键和行的结尾
magic magic
可以使用更多的正规表达式
mesg mesg 允许向终端发送消息
number (nu) nonumber 显示行号
open open 允许开放和可视化
optimize (opt) optimize
优化吞吐量,打印时不发回车
paragraphs= (para=) IPLPPPQPPLIbp 设置{ & }的分界符
prompt prompt
命令模式下的输入给出:的提示符
readonly (ro) noro
除非用!号否则不准保存文件
redraw noredraw 当编辑的时候重绘屏幕
remap remap 允许宏指向其他的宏
report= 5
如果影响的行数>这个数的话就报告
scroll 1/2 window
下卷屏幕时滚动屏幕的数目,
同样这也是z命令输出的行数(z 输出2倍滚屏的大小)
sections= SHNHH HU
定义节的末尾(当使用命令[[ 和 ]] 时)
shell= (sh=) /bin/sh
缺省的SHELL,如果设置了环境变量SHELL的话,就使用变-量
shiftwidth= (sw=) 8
当使用移动(shift)命令时移动的字符数
showmatch (sm) nosm 显示{, }, (, ), [, 或者 ]
的匹配情况
showmode noshowmode
显示你处在什么模式下面
slowopen (slow)
插入之后不要立刻更新显示
tabstop= (ts=) 8
设置制表停止位(tabstop)的长度
taglength= (tl=) 0
重要标记的字符个数(0表示所有的字符)
tags= tag, /usr/lib/tags
定义包含标记的文件路径
term= 设置终端类型
terse noterse 显示简短的错误信息
timeout (to) timeout 一秒钟后键盘映射超时