一:vim编辑器命令(简单使用)
所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。因为vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
安装vim编辑器
[root@network ~]# yum install vim -y
基本上vim共分为三种模式,分别是: 命令模式,插入模式,底行模式
1.1 命令模式(Command mode)
用户刚刚启动vim,便进入了命令模式。
此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
i o a
1.2 插入模式(Insert mode)
(1)在命令模式下按下i就进入了插入模式。在插入模式中,可以使用以下按键:
1:字符按键以及Shift组合,输入字符
2:ENTER,回车键,换行
3:BACK SPACE,退格键,删除光标前一个字符
4:DEL,删除键,删除光标后一个字符
5:方向键,在文本中移动光标
6:HOME/END,移动光标到行首/行尾
7:Page Up/Page Down,上/下翻页
8:Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
9:ESC,退出插入模式,切换到命令模式
1.3 底线命令模式(Last line mode)
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
(1)在底线命令模式中,基本的命令有(已经省略了冒号):
q退出程序
w保存文件
按ESC键可随时退出底线命令模式。
二:vim使用实例
1.使用 vim 进入一般模式
如果你想要使用vim来建立一个名为 example.txt 的文件时,你可以这样做:
[root@bogon z3]# vim example.txt
直接输入 vim 文件名 进入 vim 的一般模式。
注意:记得vim后面一定要加文件名,不管该文件存在与否!
按下i进入插入模式(也称为编辑模式),开始编辑文字。在插入模式当中,你可以发现在左下角状态栏中会出现-- INSERT–的字样,那就是可以输入任意字符的提示。
时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。按下ESC按钮回到一般模式。
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下Esc 这个按钮即可!马上你就会发现画面左下角的– INSERT –不见了!
在一般模式中按下:wq 储存后离开vi。
OK,我们要存档了,存盘并离开的指令很简单,输入:wq 即可保存离开!
OK,这样我们就成功创建了一个runoob.txt的文件。
三:vim按键说明
除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
#按键 #说明
h 或向左方向键 游标向左移动一个字元
j 或向下方向键 游标向上移动一个字元
l 或向右方向键 游标向右移动一个字元
[ctrl]+[f] 屏幕向下移动一页,相当于[Page Down](常用) #常用
[ctrl]+[b] 屏幕向上移动一页,相当于[Page Up](常用) #常用
[ctrl]+[d] 屏幕向下移动半页
[ctrl]+[u] 屏幕向上移动半页
n+[Space] n 表示数字,按下数字后再按空格键,游标会从当前位置向右移动n个字元。
功能键[Home]或 0 游标移动到这一行的第一个字元处
功能键[End]或 $ 游标移动到这一行的最后一个字元处(常用) #常用
H 游标移动到这个屏幕最上方那一行的第一个字元
M 游标移动到这个屏幕中央那一行的第一个字元
L 游标移动到这个屏幕最下方那一行的第一个字元
G 游标移动到这个档案的最后一行(常用) 常用
nG n 为数字。游标移动到这个档案的第 n 行
gg 游标移动到这个档案的第一行(常用) #常用
n+[Enter] n 为数字。游标向下移动 n 行(常用)#常用
3.1 删除复制及粘贴
按键 说明
[Del]或x 向后删除一个字元(常用) #常用
X 向前删除一个字元(常用) #常用
nx n 为数字,表示连续向后删除 n 个字元
dd 删除游标所在的那一行(常用) #常用
ndd n 为数字,删除游标所在的那一行往下数 的 n 个行(常用) #常用
d1G 删除游标所在的那行到第一行的所有数据
dG 删除游标所在的那行到最后一行的所有数据
d$ 删除游标所在处到该行的最后一个字元
d0 是数字 0,删除游标所在处到该行的第一个字元
yy 复制游标所在的那一行(常用)
nyy n 为数字, 复制游标所在的那一行往下数 n 行(常用) #常用
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制游标所在的字元到该行行首的所有数据
y$ 复制游标所在的字元到该行行尾的所有数据
p 将已复制的数据粘贴在游标所在的那一行的下一行(常用) #常用
P 将已复制的数据粘贴在游标所在的那一行的上一行,原来游标所在的那一行会被推后一行(常用) #常用
J 将游标所在的行与下一行的数据合并为一行
u 撤销前一个操作(常用) #常用
[ctrl]+r 重做上一个被撤销的操作(常用) #常用
. 这是小数点,表示重复前一个操作(常用) #常用
最后三个按键乃是神器,熟悉后记得经常使用它们,会让你觉得使用 vim 是一件很快乐的事情
3.2 查找替换
按键 说明
/word 在当前游标所在位置往下寻找关键字为 word 的字符串(常用) #常用
?word 在当前游标所在位置往上寻找关键字为 word 的字符串
n 这里的 n 是按键 n。代表重复前一个搜索动作
N 这里的 N 是按键 N。功能与 n 相反,代表反向执行前一个搜索动作
:n1,n2s/word1/word2/g n1 与 n2 都为数字,表示行数。可在第 n1 行与第 n2 行之间寻找 word1 字符串,并替换为 word2(常用) #常用
:1,$s/word1/word2/g 表示从第一行到最后一行,将 word1 字符串替换为 word2(常用) #常用
:1,$s/word1/word2/gc 表示从第一行到最后一行,也是将 word1 字符串替换为 word2,不同之处是在替换前显示提示字元,由用户确认是否最终替换(常用) #常用
使用 /word 的同时,配合使用 n 或者 N,搜索可以变得很方便。
3.3 一般指令模式切换到编辑模式
按键 说明
i 进入插入模式;从目前游标所在处插入
I 进入插入模式;从目前游标所在行的第一个非空白字元处插入(常用) #常用
a 进入插入模式;从目前游标所在处的下一个字元开始插入
A 进入插入模式;从目前游标所在行的最后一个字元开始插入(常用) #常用
o 是字母,表示进入插入模式;从目前游标所在行的下一行处插入新的一行
O 是字母,表示进入插入模式;从目前游标所在行的上一行处插入新的一行(常用) #常用
r 进入取代模式;只会取代游标所在的那个字元一次
R 进入取代模式;会一直取代游标所在的文字,直到按下 [Esc] 为止(常用) #常用
[Esc] 从编辑模式返回到一般指令模式(常用) #常用
在左下角处看到 INSERT 或 REPLACE 时,才表示已经进入编辑模式。
3.4 一般指令模式切换到指令列模式
按键 说明
:w 将编辑的文件写入硬盘 (常用) #常用
:w! 如果文件为只读状态,可以强制写入硬盘,是否写入成功,与你所拥有的文件权限有关
:q 离开 vi (常用) #常用
:q! 即使文件未保存,仍强行离开 vi #常用
:wq 文件写入硬盘后(即保存)离开 vi (常用) #常用
:wq! 文件强制写入硬盘后(即保存)离开 vi
ZZ 大写字母 Z,如果文件没有修改,则直接离开;如果文件被修改,则保存后离开
:w [filename] 将当前文件另存为另一个文件,这个新文件的保存路径为当前路径
:r [filename] 在当前文件中读入另一个文件的数据,插入到当前游标所在列的后面
:n1,n2 w [filename] 将第 n1 行到第 n2 行的数据储存为新的文件
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果
* ! 表示强制执行
3.5 vim 环境的变更
按键 说明
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
注意:在vi中,数字是很有意义的!数字通常代表重复做几次的意思!也有可能是代表去到第几个什么什么的意思。
举例来说,要删除50行,则是用『50dd』,数字加在动作之前,如我要向下移动20行呢?那就是『20j』或者是『20↓』即可。