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