7. vim编辑器
vim:
模式化的编辑器
基本模式:
编辑模式,命令模式
输入模式
末行模式
内置的命令行接口
打开文件:
vim [options] [file ..]
选项:
+3 :表示打开文件后直接让光标处于第3行行首
[root@myEcs tmp]# vim +3 b.txt
+/PATTERN:打开文件后,直接让光标处于第一个被PATTENR匹配到的行的行首
[root@myEcs tmp]# vim +/her b.txt //表示将光标放在匹配到的her的行的行首。
+:将光标放在文件的最后一行的行首
模式转换:
编辑模式:打开文件时默认处在编辑模式
编辑模式 --> 输入模式
i:insert;在光标所在处输入
a:append;在光标所在处的后方输入
o:在光标所在处下方打开一个新行
I:表示在光标所在行的行首输入
A:在光标所在行的行尾输入
O:在光标所在处的上方打开一个新行输入
输入模式 ---> 编辑模式
ESC
编辑模式 ---> 末行模式
:
末行模式 ---> 编辑模式
ESC
关闭文件:
在编辑模式下:
ZZ:保存并退出
在末行模式下:
:q 退出
:q! 强制退出,不保存。
:wq! 保存并退出。
:x 保存并退出
:w /tmp/a.txt 另存为;将文件内容保存到/tmp/a.txt
光标的跳转:
字符见跳转
h:光标向左跳转一个字符
l:光标向右跳转一个字符
j:向下跳转
k:向上跳转
单词间跳转
w:光标转跳至下一个单词的词首
b:光标转跳至当前或前一个单词的词首
e:光标转跳至前一个单词的词首
行首行尾跳转
A:光标跳转至行首的第一个非空白字符
0:光标跳转至行首
$:光标跳转至行尾
行间跳转
5G:光标跳转至第5行的行首
1G;gg:光标表示跳转至第一行行首
G:光标跳转至最后一行
句间跳转
)
(
段间跳转
}
{
翻屏:
ctrl + f:向文件尾部翻一屏
ctrl + b:向文件首部翻一屏
ctrl + d:向文件尾部翻半屏
ctrl + o:向文件首部翻半屏
Enter:按行向后翻
vim的编辑命令:
字符编辑:
x:删除光标所在处的字符
3x:删除光标所在处起始的3个字符
xp:交换光标所在处的字符与其后面的字符的位置,位置交换
替换命令
r:替换光标所在处的字符
先点击键盘上的r在点击要替换的字符
删除命令
d:删除命令,可结合光标跳转字符,实现范围删除
d$:删除当前光标所在处到行尾的内容
dd:删除一整行
3dd:删除三行
粘贴命令
p:缓冲区中的内容如果为整行,则粘贴当当前光标所在行的下方;否则,则粘贴至当前光标坐在处的后方。
P:缓冲区中的内容如果为整行,则粘贴当当前光标所在行的上方;否则,则粘贴至当前光标坐在处的前方。
复制命令
y:复制,工作行为相似与d命令
y$
y^
y0
ye
yw
yb
yy:复制一整行
3yy复制三行
改变命令:
编辑模式 --> 输入模式,又能实现删除操作
c$
c^
c0
cb
ce
cw
cc:删除光标所在处的行,并转换成输入模式
其他编辑操作:
可视化模式:
v:按照字符选中
V:按照行选中
结合编辑命令使用:d c y p
撤销操作:
u:撤销此前的操作zz
4u:撤销此前的四次操作
撤销此前的撤销操作:
ctrl + r
重复执行前一个编辑操作:
.
vim末行模式:
内建的命令行接口
(1)地址定界
:start_pos[,end_pos]
5:特定的#行,例如5即5行。
5,6:指定行范围,左侧为起始行,右侧为结束行。
5, +1:指定行范围,左侧为起始行绝对编号,右侧为相对左侧行号的偏移量;例如:3, +7
. :表示当前行
.,$-1:表示从当前行到倒数第二行
%:表示全文
/str:表示从光标所在行的起始向文件尾部第一次被模式匹配到的行。
/first, $
/pat1, /pat2/:光标所在处起始,第一次由pat1匹配到的行开始,直至第一次由pat2匹配到的行结之间的所有行
可同编辑命令一起使用,实现编辑操作:
d
y
c
w/tmp/test.txt:将范围内文本保存到指定文件中
r/tmp/a.txt:将指定的文件中的文本读取并插入到指定位置
(2)查找
/str:从当前光标所在处向文件尾部查找当前模式匹配到的所有字符串
?str:从当前光标所在处向文件首部查找当前模式匹配到的所有字符串
n:下一个,与命令方向相同
N:与命令方向相反
(3)查找并替换
s:末行模式的命令;使用格式:
s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用正则表达式
替换为的内容:不能使用正则表达式,但是可引用。
修饰符:
i:忽略大小写
g:全局替换,意味着一行中如果匹配多次,则都替换
可以把分割符“/”换成其他的符号进行分割
如:s@要查找的内容@ 替换为的内容@修饰符
s##
vim的多文件模式:一次打开多个文件
多文件
vim FILE1 FILE2...
大文件间切换:
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
退出所有文件:
:wqall 保存所有文件并退出
:wall
:qall
多窗口:
-o:水平分割窗口
-O:垂直分割窗口
在窗口间进行切换:Ctrl+w,ARROW
注意:单个文件也可以分割成多窗口进行查看:
Ctrl+w, s:水平分割窗口
Ctrl+w, v:垂直分割窗口
定制vim的工作特性:
注意:在末行模式下的设定,仅仅对当前vim进程有效
永久有效:
全局:/etc/vimrc
用户个人:~/.vimrc;可能不存在需要创建
1.行号
末行模式下:
set nu:显示行号
set no mu:取消行号
2.自动缩进
set ai:启用自动缩进。
set noai:取消缩进
3.高亮搜索
set hisearch:启用
set nohisearch:禁用
4.语法高亮
syntax on:启用
syntax off:禁用
5.忽略字符大小写
set ic:启用
set noic 禁用
获取帮助:
:help
:help subject

浙公网安备 33010602011771号