命令模式

dd            删除(剪切)光标所在行
ndd            删除(剪切)从光标处开始的n行
yy            复制光标所在行
nyy            复制从光标处开始的n行
x            删除光标所在位置的字符
p            粘贴(将删除或复制的数据粘贴到光标下一行)
P            粘贴(将删除或复制的数据粘贴到光标上一行)
u            撤销(后退)
Ctrl + r    重做上一次被撤销的操作(前进)

h/j/k/l        将光标向左/下/上/右移动一个字符/行

w            将光标向后移动一个词(以空格或标点符号分隔)
b            将光标向前移动一个词
0(数字)      将光标移动到当前行的行首
$            将光标移动到当前行的行尾
gg            将光标移动到文件的第一行
G            将光标移动到文件的最后一行

Ctrl+f        向下滚动一页
Ctrl+b        向上滚动一页
Ctrl+d        向下滚动半页
Ctrl+u        向上滚动半页

i    从当前光标插入
I     从当前所在行的第一个非空格符处插入(即从开头插入)

a     从当前光标的下一个字符处插入
A     从当前所在行的最后一个字符处插入(即从行末尾插入)

o     当前光标的下一行插入新的一行,光标移动到行首
O     当前光标的上一行插入新的一行,光标移动到行首

r     替换光标所在的字符
R     一直替换光标所在的字符,直到按下Esc键为止

ZZ 退出vim

命令行模式

:wq            保存数据并退出vim
:w            将编辑的数据从内存写入硬盘
:w!            若文件属性为只读,强制写入
:q            退出vim环境
:q!            强制退出,且不保存文件
:wq!        强制保存并退出
:set nu        显示行号
:set nonu    不显示行号
:n            光标移动到第n行
:%d            清空当前文件
:w 文件名      将当前文件保存为指定的文件名

:set number                开启行号显示
:set tabstop=4            设置制表符(Tab)的宽度为4个空格
:set ff=unix            设置文件的行尾格式为Unix
:set encoding=utf-8        设置文件的编码格式为UTF-8
:set mouse=a            使用鼠标进行文本选择、滚动和其他操作
这些设置是临时的,如果要永久保存设置,可以将它们添加到Vim的配置文件(通常是~/.vimrc或~/.vim/vimrc)中

可视模式

y        复制选中的文本到剪贴板
d        剪切选中的文本到剪贴板
p        在光标位置粘贴剪贴板中的内容

>        向右缩进选中的文本
<        向左缩进选中的文本
=        自动对齐选中的文本

x        删除选中的文本
s        删除选中的文本,并进入插入模式以输入替换的文本
r        替换选中的文本为输入的字符

J        将选中的多行文本合并为一行
~        反转选中文本的大小写
U        将选中文本转换为大写
u        将选中文本转换为小写

export EDITOR="/usr/bin/vim" #用vim打开crontab
crontab -e