Linux操作系统--文本编辑器vim的常用操作
vim简介:vim是vi improve的缩写,表示vi的增强版本,也就是说vim的早期版本就是vi。
vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
vim特点:没有菜单,只有命令。
vim的工作模式:命令模式、插入模式和编辑模式。如图1所示:
图1 vim工作模式
其中:
1 命令模式:
输入:vi/vim filename 即可进入vim默认的命令模式。其中filename表示已经存在或者待创建的文件名。
在vim的命令模式下,输入任何一个字符,系统都会把它当做是一个命令来处理。
2 插入模式:
要进入插入模式,需要输入相应的插入命令,其中,i、a、o就是vi比较常用的插入命令。
插入模式下操作完成之后按ESC键即可返回到命令模式。
3 编辑模式
进入编辑模式的标志就是在命令模式下输入“:”,注意,一定要是在命令模式下输入才行。
以上是对vim的三种模式的简单介绍,下面给大家列举一些命令模式和编辑模式下的常用命令功能解析
(1)插入命令(从命令模式进入插入模式的常用命令):
i 在光标所在字符前插入
a 在光标所在字符后插入
o 在光标所在行下插入新行
I 在光标所在行行首插入
A 在光标所在行行尾插入
O 在光标所在行上插入新行
(2)光标定位命令:
:set nu 设置行号(nu是number的简写)
:set nonu 取消行号
gg 光标定位到第一行
G 光标定位到最后一行
nG 光标定位到第n行
:n 光标定位到第n行
$ 移至行尾
0 (数字0)移至行首
(3)删除命令:
x 删除光标所在处的字符
nx 删除光标所在处后n个字符(包含光标所在处字符)
dd 删除光标所在行
ndd 删除光标所在行后n行(包含光标所在行)
dG 删除光标所在行到文件末尾的所有内容
D 删除光标所在处到行尾的所有内容
:n1,n2d 删除指定范围内的行(包含边界处的第n1行和第n2行)
(4)复制和剪切命令:
yy 复制当前行
nyy 复制当前以下n行(包含当前行)
dd 剪切当前行
ndd 剪切当前以下n行(包含当前行)
p、P 粘贴在当前光标所在行下(p)或行上(P)
(5)替换和取消命令
r 取代光标所在处字符
R 从光标所在处开始替换字符,按ESC键结束
u 取消上一步操作
(6)搜索和搜索替换命令:
/string 搜索指定字符串(默认是区分大小写的),
如果想取消区分大小写,可输入“:set ic”,
要想还原成区分大小写,可输入“:set noic”
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串。
:n1,n2s/old/new/g 在一定范围内替换指定字符串
注意:
替换操作有固定的模式:
:替换范围/待替换的原字符串/替换的新字符串/g
直接执行替换操作,不提示是否确认
:替换范围/待替换的原字符串/替换的新字符串/c
执行替换操作前提示是否执行确认操作
其中:
: 表示进入编辑模式
:%s 表示全文替换
:n1,n2s 表示替换指定的范围,即“起始行,终止行s”。
(7)保存和退出命令
:w 保存
:w [filename] 另存为指定文件名
:q 不保存并退出
:q! 不保存并强制退出
:wq 保存并退出
:wq! 保存并强制退出(文件所有者及root可使用)
:wq! [filename] 以指定文件名保存并强制退出
zz 快捷键,保存修改并退出