vim程序编辑器分为3个模式,分别为一般模式,命令模式(末行模式),编辑模式:
①以vi打开一个文件就直接进入一般模式了,这是默认的模式;
②在默认模式下只要按下“i,l,o,a,A,r”等任何一个字母都会近入到编辑模式,如果想要回到一般模式下,则必须要按下【Esc】按键,即可推出编辑模式;
③在一般模式下输入“:、/、?”3个中的任何一个按钮,就可以进入命令行模式,也就是末行模式,这就可以将光标移动到vim编辑器的最下面那一行。
Ⅰ 光标的移动
在vim的三中模式中,只有一般模式可以与编辑,命令行模式切换,编辑模式和命令行模式之间是不能切换的
首先脚本编程的个格式为开头行为#!/bin/bash,第二行开头为#。
在一般模式下输入“:wq”就是保存文件后离开,输入
:q! 不保存强制退出
:q 不保存退出
:w! 强制保存并退出文本编辑器。
在一般模式下,可以通过上下左右箭头来移动光标:
h或左箭头,代表光标向左移动一个字符;
j或向下箭头,代表光标向下移动一个字符;
K或向上箭头,代表光标向上移动一个字符;
l或右箭头代表光标向右移动一个字符;
【Ctrl】+f屏幕向尾部翻一屏;
【Ctrl】+b屏幕向首部翻一屏;
【Ctrl】+d屏幕向尾部翻半屏;
【Ctrl】+u屏幕向首部翻半屏;
+ 将光标移动到非空格符的下一行
- 将光标移动到非空格符的上一行
数字0 将光标移动到光标所在行的行首
$ 将光标移动到光标所在行的行尾
H 将光标移动到这个屏幕的最上方那一行的第一字符
M 将光标移动到这个屏幕的中间那一行的第一字符
L 将光标移动到这个屏幕的最下方那一行的第一字符
G 将光标移动到这个文件的最一行
nG 将光标移动到这个文件的第n行,n为输入的数字,如12G,则会移动到这个文件的第12行
gg 将光标移动到这个文件的第一行,相当于1G
Ⅱ 替换、查找
:n1,n2s/word1/word2/g n1,n2为数字。在n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
如,:4,9s/boot/BOOT/g,在第4行和第9行之间,将boot替换成BOOT
:1,$s/word1/word2/g 从第一行到最后一行查找word1替换成word2
:%s/word1/@s/g 全局查找到word1并替换成word1s,@为引用前面查找到的字符串并替换成
/word 向下寻找一个名称为word的字符串。如,要想在文件中查找if这个字符串,则输入/if后按下【Enter】即可
?word 向上寻找一个名称为word的字符串。
Ⅲ 删除
x,X 在一行文字中,x为删除光标所在字符的后面的一个字符,X为删除光标所在字符的前面的一个字符
nx 删除光标所在字符后面的第n个字符
dd,D 删除光标所在的那一整行
ndd 删除光标所在的向下n行(不含光标所在的那一行),例如,5dd则是删除光标所在的下5行
d$ 删除光标所在处行到最后的一个字符
d0 删除光标所在处到最前面的一个字符
:.,nd n为数字,将光标所在行和向下n行全部删除
:.,$d 将光标所在行到最后一行全部删除
:.,+n 将光标所在行和下n行全部删除
:.,-n 将光标所在行和上n行全部删除
Ⅳ 复制
yy 复制光标所在那行
nyy n为数字,复制光标所在的向下n行。 如,5yy就是复制光标所在那个行和下面的3行一块复制
yG 复制光标所在行到最后一行的所有数据
y1G 复制光标所在行到第一行的所有数据
y0 复制光标所在字符到该行行首的所有数据
y$ 复制光标所在字符到改行行尾的所有数据
1yl 复制光标所在的字符:1(数字)、y、l(小写L)
v 复制指定字符
首先进入正常模式(按ESC就行),然后按v键,移动方向键选中要复制的字符,然后按y键,就复制成功了,按p键粘贴
Ⅴ 粘贴
p,P p将以复制的数据粘贴在光标所在的下一行,大P为将以复制的数据粘贴在光标所在的上一行
u 撤销前一个操作
【Ctrl】+r 重做上一个操作
:set nu 在每一行前面显示行号
:set nonu 取消行号
:set ai 缩进
:set noai 不缩进
:syntax on 语法高亮开启
:syntax off 语法高亮关闭
Ⅵ 多文件编辑:vim多窗口功能
使用vim可以同时打开多个文件:vim file1 file2 file3 ,同时开file1 file2 file3这三个文件
此时输入
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个vim打开的所有文件
【Ctrl】+w v 垂直分割文件
【Ctrl】+w s 水平分割文 输入:q 可以退出窗口分割
Ⅶ vim多窗口功能
vim -o file 水平分割文件
vim -O file 垂直分割文件