进入:登陆字符界面,输入vim或者vim filename即可进入。进入后按i进入编辑界面。
退出:按Esc进入命令模式,按ZZ(大写,两个)即可存盘退出。另外,按" :q ”退出vim,按" :q! "强制退出、按" :w " 保存文档、按" :w! "强制保存。
2.打开保存过的文本:vim filename
3.在vim中查找关键字:进入命令模式," /关键字 "
以下是在网上找到的vim的资料,用到的时候查查。我自己用到的就上面那几种。
VI 的使用
1. 启动与退出vim
由于vim 的功能很多,首先来看如何启动和退出vim。
(1) 在Linux 提示符下键入vim(或使用vim myfile 来编辑已经存在的文件)即可
启动它。
(2) 要退出vim,先按下Esc 键回到命令行模式,然后键入“:”,此时光标会停
留在最下面一行,再键入“q”,最后按下Enter 键即可,见图2-1。
技巧:
在 X-Window 下也可以通过在“开始”菜单里找到“编程”︱Vi I Mproved 来运
行X-Window 下的vim。此时其界面如图2-2 所示。
13
X-Window 下的vim 界面
2. 命令行模式的操作
命令行模式提供了相当多的按键及组合按键来执行命令,帮助用户编辑文件。由
于这些命令相当多,在此仅作简单介绍。
(1) 移动光标
在命令行模式和插入模式下,都可以使用上、下、左、右4 个方向键来移动光标
的位置。但是有些情况下,如使用telnet 远程登陆时,方向键就不能用,必须用命令
行模式下的光标移动命令。这些命令及作用见表。
常用的移动光标的命令
命 令 操 作 说 明
h 将光标向左移动一格
l 将光标向右移动一格
j 将光标向上移动一格
k 将光标向下移动一格
0 将光标移动到该行的最前面
$ 将光移动到该行的最后面
G 将光标移动到最后一行的开头
W 或w 将光标移动到下一个字
e 将光标移动到本单词的最后一个字符。如果光标所在的位置为本单词的最后一
个字符,则跳动到下一个单字的最后一个字符。标点符号如“.”、“,”或“/”
等字符都会被当成一个字
b 将光标移动到单词的最后一个字符,如果光标所在位置为本单词的第一个字
符,则跳到上一个单词的第一个字符
{ 将光标移动到前面的“{”处。在C 语言编程时,如果按两次就会找到函数开
14
头“{”处,如果再次连续按两次还可以找到上一个函数的开头处
} 同“{”的使用,将光标移动到后面的“}”
Ctrl+b 如果想要翻看文章的前后,可以使用Page Down 和Page Up;但当这两个键不
能使用时,可以使用Ctrl+b 将光标向前卷一页,相当于Page Up
Ctrl+f 将光标向后卷一页,相当于Page Down
Ctrl+u 将光标向前移半页
Ctrl+d 将光标向后移半页
Ctrl+e 将光标向下卷一行
Ctrl+y 将光标向后卷一行
N+/ 将光标移至第n 行(n 为数字)
(2) 复制文本
复制文本可以节省重复输入的时间,vim 也提供了以下的操作命令,见表。
常用的复制文本的命令
命 令 操 作 说 明
y+y 将光标目前所在的位置整行复制
y+w 复制光标所在的位置到整个单词所在的位置
n+y+w 若输入3yw,则会将光标所在位置到单词结束以及后面两个单词(共3 个单词)
一起复制
n+y+y 若按3yy,则将连同光标所在位置的一行与下面两行一起复制
p 将复制的内容粘贴光标所在的位置。若复制的是整行文本,则会将整行内容粘
贴到光标所在的位置
(3) 删除文本
删除文本命令一次可删除一个字符,也可以一次删除好几个字符或是整行文本,
见表。
常用的删除文本的命令
命 令 操 作 说 明
d+左方向键连续按d 和左方向键,将光标所在位置前一个字符删除
d+右方向键将光标所在位置字符删除
d+上方向键将光标所在位置行与其上一行同时删除
d+下方向键将光标所在位置行与下一行同时删除
d+d 连按两次d,可将光标所在的行删除,若是连续删除,可以按住d 不放
d+w 删除光标所在位置的单词,若是光标在两个字之间,则删除光标后面的一
个字符
n+d+d 删除包括光标所在行及向下的n 行(n 为数字)
n+d+上方向键删除包括光标所在行及向上的n 行
n+d+下方向键同 n+d+d 命令
15
D 将光标所在行后所有的单词删除
x 将光标所在位置的字符删除
X 将光标所在位置前一个字符删除
n+x 删除光标所在位置及其后的n 个字符
n+X 删除光标所在位置及其前的n 个字符
(4) 找出行数及其他按键
当我们编写程序时,常常需要跳到某一行去修改,因此每一行的行号就相当重要。
vim 为此提供的命令见表。
常用的找出行数的命令
命 令 操 作 说 明
Ctrl+g 在最后一行中显示光标所在位置的行数及文章的总行数
nG 将光标移至n 行(n 为数字)
r 修改光标所在字符
R 修改光标所在位置的字符,可以一直替换字符,直到按下ESC 键
u 表示复原功能
U 取消对行所做的所有改变
. 重复执行上一命令
Z+Z 连续两次输入z,表示保存文件并退出vi
% 符号匹配功能,在编辑时,如果输入“%(”,系统将会自动匹配相应的“)”
3. 命令行模式切换到输入模式
进入vim 时,默认的模式是命令行模式,而要进入输入模式输入数据时,可以用
下列按键:
● 按“a”键从目前光标所在位置的下一个字符开始输入。
● 按“i”键从光标所在位置开始插入新输入的字符。
● 按“o”键新增加一行,并将光标移到下一行的开头。
4. 最后行模式的操作
vim 的最后行模式是指可以在界面最底部的一行显示的输入命令,一般用来执行
查找特定的字符串、保存及退出等任务。在命令行模式下输入冒号“:”,就可以进入
最后行模式了,还可以使用“?”和“/”键进入最后行模式。比起命令行模式的诸多
操作命令,最后行模式的操作命令就少多了。
16
最后行模式主要的操作命令
命 令 操 作 说 明
e 在vi 中编辑时,可以使用e 创建新的文件
n 加载新文件
w 写文件,也就是将编辑的内容保存到文件系统中。vim 在编辑文件时,先将编辑内
容保存在临时文件中,如果没有执行写操作直接退出的话,修改内容并没有保存到
文件中
w! 如果想写只读文件,可以使用w!强制写入文件
q! 表示退出vim,但是文件内容有修改的话,系统会提示要先保存,如果不保存退出,
需要使用命令q!强制退出
set nu set 可以设置vim 的某些特性,这里是设置每行开头提示行数。想取消设置,使用
命令set none
/ 查找匹配字符串功能。在编辑时,想查找包含某一个字符串,可以用“/字符串”
自动查找,系统会突出显示所有找到的字符串,并转到找到的第一个字符串。如果
想继续向下查找,可以按n 键;向前继续查找则按N 键
? 也可以使用“?字符串”查找特定字符串,它的使用与“/”相似,但它是向前查
找字符串
5. vim 的注意事项
由于 Linux 系统的vim 编辑器是从UNIX 下的vi 发展而来的,而UNIX 下的vi 编
辑器是从行编辑器ed 发展而来的。因此,vim 不如目前流行的微软推出的同类编辑器
易用、直观,但是它的强大功能却是微软同类产品无法比拟的。因此一些人学习时可
能会感到有一些不便和困惑。针对这类问题,这里列出了使用vim 中应注意的一些事
项。当然要熟练使用vim,还需要平时操作中不断地提高和积累。
● 插入编辑方式和命令方式切换时出现混乱
这种情况产生的原因通常是:还未输入插入命令便开始进行文本输入,从而无法
在正确位置输入文本;另外,当插入信息后,还未按Esc 键结束插入方式,就又输入
其他的命令信息,从而使命令无法执行。
当出现这种情况时,首先要确定自己所处的操作方式,然后再确定下一步做什
么工作。若不易搞清楚当前所处的状态,还可以使用Esc 键退回到命令方式重新进
行输入。
● 在进行文档编辑时,vim 编辑器会产生混乱
这种状态的产生往往是由于屏幕刷新有误,此时可以使用Ctrl+l 键对屏幕进行
刷新,如果是在终端,可以用Ctrl+r 进行屏幕刷新。
● 对屏幕中显示的信息进行操作时,系统没有反应。
17
出现这种情况可能是由于屏幕的多个进程被挂起(如不慎用了Ctrl+s 键等),此
时可用Ctrl+q 进行解脱,然后重新进行输入。
● 当编辑完成后,不能正确退出vim
出现这种情况的原因可能是系统出现了意外情况。如:文件属性为只读、用户对
编辑的文件没有写的权限。如果强行执行退出命令“:w!”仍无法退出,可以用“:w
newfile”命令将文件重新存盘后再退出,以减少工作中的损失,这个新文件newfile
应是用户有写权限的文件。
如果暂时没有可以使用的文件,可以借用/tmp 目录建一个新的文件。因为Linux
系统中的/tmp 是一个临时目录,系统启动时总要刷新该目录,因此操作系统一般情况
下不对此目录下进行保护。但当处理完成后,切记应将新文件进行转储,否则依然会
造成信息损失。
● 在使用vim 时,万一发生了系统掉电或者突然当机的情况怎么办?
工作时发生了掉电和当机,对正做的工作无疑是一种损失,但是vim 程序可使损
失降到最小。因为,对vim 的操作实际上是对编辑缓冲区的数据操作,而系统经常会
将缓冲区的内容自动进行保存。因此,当机后用户可以在下次登陆系统后使用-r 选项
进入vi,将系统中最后保存的内容恢复出来。例如,在编辑cd 文件的时候突然断电
或者系统崩溃后的恢复命令为:
[david@DAVID david]$ vi cd -r
vim 的学习应侧重于实际的应用,在了解vim 的使用规则后应该多上机操作,不
断积累经验,逐步地使自己成为vi 编辑能手。