vim编辑器基本使用
基本模式:
编辑模式,命令模式:
插入模式:
末行模式:
内置的命令行接口
:set nu
:1,20
打开文件:
vim [option] file
vim n file
vim +
转换模式:
i:insert,在光标所在处(前)输入
a:append,在光标所在处后输入
o:open,在光标所在行的下方打开新行
I:在光标所在行行首输入
A:行尾
O:上方打开一个新行
c:
C:
输入模式 --> 编辑模式
ESC
编辑模式 --> 末行模式
:
末行模式 --> 编辑模式
ESC
关闭文件:
:q 退出
:q! 不保存退出,强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
:w /PATH 另存为
:ZZ 保存退出
光标跳转:
字符间跳转:
h,j,k,l
h:左
l:右
j:下
k:上
COMMAND n:
l 10 右跳10
单词间跳转:
w:下一个单词的词首
e:当前或下一个单词的词尾
b:当前或前一个单词的词首
COMMAND n:指定一次跳转的单词数
行首行尾跳转:
^:跳转至行首第一个非空白字符
0:跳转至行首
$:跳转至行尾
行间移动:
nG:跳转至第n行
G:最后一行
1G,gg:第一行
句间移动:
):下一个句子
(:上一个
段落间:
}:上一段
{:下一段
编辑命令:
字符编辑:
x:删除光标处的字符
nx:删除从光标处起的n个字符
xp:交换光标所在处的字符及其后面字符的位置
删除命令:
d:删除命令,可结合光标跳转字符,实现范围删除
d$:删除光标到行尾
d^:删除光标到行首
d0:
dw:
de:
db:
dd:删除光标所在的一整行
ndd:删除n行
粘贴命令:p,put,paste
p:缓冲区存的如果为整行内容,则粘贴至当前光标所在行的下方,否则粘贴至光标所在处的后面
P:缓冲区存的如果为整行内容,则粘贴至当前光标所在行的上方,否则粘贴至光标所在处的前面
复制命令:y,yank
y:类似于d
y$:
y0:
y^:
ye
...
nyy:
改变命令:c,change
c:修改
编辑模式-->输入模式
c$
c^
c0
cb
ce
cw
cc:删除整行并修改
ncc
可视化模式:
v:按字符选定
V:按行选定
经常结合编辑命令:
d,c,y
撤销此前的编辑:
u:undo,撤销此前的操作
nu:指定次数的操作
撤销此前的撤销:
Ctrl+r
重复前一个编辑操作:
.
翻屏操作:
Ctrl+f:向文件尾部翻一屏
Ctrl+b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
末行模式:
内建命令行接口
地址定界
:start_pos,end_pos
n 具体地n行,例如2表示第2行
n,m n开始,m结束
n,+m 1,+3表示从第一行开始再加3行
. 当前行
$ 最后一行
.,$-1
% 全文相当于1,$
/pat/,/pat/:
从第一次被pat1模式匹配到的行开始,到第一次被pat2匹配到的行结束
#,/pat/
/pat/,$
使用方式:
后跟一个编辑命令:
d,y,w,r
w /PATH 将范围内的行另存为指定文件中
r /PATH 在指定位置插入指定文件中的所有内容
查找:
/PATTERN:从先前光标所在处向文件尾部查找
?PATTERN: 从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
查找并替换
s:在末行模式下完成查找替换操作
s/要查找的内容/替换的内容/修饰符
要查找的内容:可使用模式
要替换的内容:不能使用模式,但可以使用\1,\2..等后向引用,还可以使用“&”引用前面查找到的内容
修饰符:
i:忽略大小写
g:全局替换,默认情况下,每一行只替换第一次出现
查找替换中的分隔符/可替换为其他字符,例如
s@@@
s###
多文件模式:
vim file1 file2 file3
:next
:prev
:first
:last
:wall 保存所有
:qall 退出所有
窗口分割模式:
vim -o | -O file file
-o:水平分割
-O:垂直分割
在窗口切换:Ctrl+w,Arrow
单文件分割:
Ctrl+w,s:split水平分割
Ctrl+w,v:vertical,垂直分割
定制vim的工作特性:
配置文件:永久生效
全局:/etc/vimrc
用户:~/.vimrc
末行:当前vim进程有效
(1)行号
显示:set number,set nu,不显示:set nonu
(2)括号匹配
匹配:set showmatch,set sm,取消:set nosm
(3)自动缩进
启用:set ai,禁用:set noai
(4)高亮搜索结果high light search
启用:set hlsearch,禁用 set nohlsearch
(5)语法高亮
启用:syntax on,禁用 syntax off
(6)忽略字符大小写
启用:set ic,不忽略:set noic(默认不忽略)
教程:
[root@localhost tmp]# vimtutor
在末行模式:help或:help + 关键字
vim --help
vimtubor