vim 是vi的升级版本,它不仅兼容vi的所有指令,
而且还有一些新的特性在里面。
但是正常编辑文本的情况下,没什么太大区别
命令区分大小写
最重要
最重要的三种模式
终端输入 vi或vim filename 开始编辑,进入命令模式
1.命令模式: 可以移动光标、删除字符等。
按Esc进入命令模式
2.插入模式: 可以输入字符
一般在命令模式下输入命令进入此模式
3.末行模式: 可以保存文件、退出vi、设置vi、查找等功能
(末行模式也可以看作是命令模式里的)。
先进入命令模式,再按 'Shift' + ':' 进入末行模式
末行模式
保存,退出操作
:w //保存文件
:w file //保存至file文件里,若不存在,当前目录创建
:q //退出编辑器,如果文件已修改请使用下面的命令
:q! //退出编辑器,且不保存
:wq //退出编辑器,且保存文件
设置行号
:set nu //显示行号
:set nonu //取消显示行号
命令模式下
移动光标
1、使用上下左右方向键 (好像有时不可用)
2、命令模式下:h向左 j向下 k向上 l向右。
空格键 向右
Backspace 向左
Enter 移动到下一行首
- 移动到上一行首。
插入文本或行(进入插入模式)
a //在当前光标位置的右边添加文本
A //在当前行的末尾位置添加文本
i //在当前光标位置的左边添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
R //替换(覆盖)当前光标位置及后面的若干文本
J //合并光标所在行及下一行为一行(依然在命令模式)
删除操作
x //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前行
ndd //向下删除当前行在内的n行
u //撤销上一步操作
U //撤销对当前行的所有操作
复制粘贴
建议使用 Ctrl Shift C 或 V 进行复制或粘贴(一般情况可用)
以下命令只在vim内部可使用
yy //将当前行复制到缓存区,也可以用 "qyy 复制,"q 为缓冲区
nyy //将当前行向下n行复制到缓冲区,也可以用 "qnyy 复制
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到行首的内容。
y$ //复制从光标到行尾的内容。
p //粘贴剪切板里的内容在光标后,若使用了'qyy'可使用"qp 进行粘贴。
P //粘贴剪切板里的内容在光标前