vim(vi)
vim文本编辑器有三种模式,命令模式
,插入模式
以及编辑模式
,我们刚刚进入vim是在命令模式。敲击的没一个字符都是当做命令来,i
进入插入模式,ESC
退出插入模式
进入命令模式
,我们就可以编辑我们的文本,:
进入编辑模式,回车
退出编辑模式
进入命令模式
。
vim 文件名
,如果文件已经存在,打开一个已经存在的文件,如果文件不存在,创建一个新文件并进入vim
在命令模式
下输入命令进入插入模式
:
a
在光标所在字符后
插入
A
在光标所在行尾
插入
i
在光标所在字符前
插入
I
在光标所在行行首
插入
o
在光标下
插入新行
O
在光标上
插入新行
定位命令
:set nu
显示行号
:set nonu
取消显示行号
gg
到第一行
G
到最后一行
nG
和:n
到指定一行
0
到行首
$
到行尾
删除和复制粘贴命令
x
删除光标所在处字符
nx
删除包括光标
在内的后n个字符
dd
删除
或者剪切
光标所在行
ndd
删除
或者剪切
包括光标在内的n行
dG
删除包括光标
所在行到结尾
的内容
D
删除光标所在位置到行尾
的内容
:3,5d
删除第三
行到第五
行的内容
yy
复制当前行
nyy
复制包括当前行
的后n行
p
粘贴在光标的下
一行
P
粘贴在光标的上
一行
替换和取消命令
r
替换光标所在位置的字符
R
从光标所在处开始替换,Esc结束输入
u
撤回,window的Ctrl + z
搜索命令
/要搜索的字符
输入:set ic
忽略大小写,:set noic
区分大小写,n
跳转到下一个搜索位置
:3,5s/要替换的字符/替换成的新字符/g(c)
在第三
行到第五
行之间替换字符,g
替换时不询问,c
替换时询问
:%s/要替换的字符/替换成的新字符/g(c)
全文替换
保存退出
:w
保存修改
:w 新文件名
另存为文件,备份
:wq
或者ZZ
保存修改并退出
:q!
不保存修改退出
:wq!
强转保存修改退出,只有root
还有文件的所有者
有权限去执行
vim使用的小技巧
:r 文件名
在光标所在位置导入文件内容
:!命令
不会退出vim,在vim中显示命令执行的结果
:r !date
在光标位置导入时间(前边两个命令的组合)
自定义快捷键
:map 快捷键 触发命令
定义命令快捷键,一版快捷键是Ctrl
的组合键
:map ^p I#<ESC>
在行首插入(I
)#
号,并退出到命令模式(<ESC>
),尖角号是Ctrl+v
敲出来的,可以直接Ctrl+v+p
,定义Ctrl+p
为添加注释
:map ^x 0x
Ctrl+x
删除行首元素
:map ^e a邮箱地址<ESC>
Ctrl+e
在光标所在字符后插入自己的邮箱地址
连续行注释
:2,5s/^/#/g
在第二行到第五行开头(^
)加上#
号
:2,5s/^#//g
在第二行到第五行开头
的#
替换为空(取消注释
)
:2,5s/^/\/\//g
在第二行到第五行的开头
加上//
\
表示转义字符
:ab myname xiao_dong_gua
每次输入myname
回车或者空格以后就会变成xiao_dong_gua
,也算是一个替换的小技巧
永久生效
以上命令都是临时命令退出vim再进入就失效,如果想永久生效就要在用户的宿主目录下做相应的配置
root用户
在 /root/.vimrc
普通用户
在 /home/用户名/.vimrc