vi/vim
模式
标准模式
可以使用快捷键命令,或按:输入命令行
插入模式
可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式
可视模式
正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式
替换模式
正常模式下,按R进入
启动
- vim -c cmd file: 在打开文件前,先执行指定的命令;
- vim -r file: 恢复上次异常退出的文件;
- vim -R file: 以只读的方式打开文件,但可以强制保存;
- vim -M file: 以只读的方式打开文件,不可以强制保存;
- vim -y num file: 将编辑窗口的大小设为num行;
- vim + file: 从文件的末尾开始;
- vim +num file: 从第num行开始;
- vim +/string file: 打开file,并将光标停留在第一个找到的string上。
- vim –remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim –remote file在已有的gvim中打开文件
常用命令
保存文件
| 命令 | 说明 |
|---|
| :w | 保存保存 |
| :w file | 另存为文件 |
| :q | 退出 |
| :q! | 放弃修改退出 |
| :wq | 保存修改并退出 |
编辑文件
| 按键 | 描述 |
|---|
i | 在当前光标字符前插入 |
a | 在当前光标字符后插入 |
I | 在当前行首插入 |
A | 在当前行尾插入 |
o | 在下方开一新行,插入 |
O | 在上方开一新行,插入 |
r | 替代字符,将当前字符替代为紧跟着输入的字符 |
R | 进入替代模式,将当前及之后的字符都替代为紧跟着输入的字符串,直到按 `` 返回 Normal 模式 |
移动命令
| 按键 | 描述 |
|---|
h | 光标左移 |
j | 光标下移 |
k | 光标上移 |
l | 光标右移 |
0 | 跳到行首,可以理解为无穷大的h |
^ | 跳到行首开始的第一个非空白字符 |
$ | 跳到行尾,可以理解为无穷大的l |
gg | 跳到首行,可以理解为无穷大的k |
G | 跳到末行,可以理解为无穷大的j |
w | 跳到下一个词首 |
ge | 跳到上一个词尾 |
b | 跳到单词开头 |
e | 跳到单词尾部 |
| 5k | 向上移动5行 |
| 5j | 向下移动5行 |
| 5w | 向后移动5个词 |
| fx | 向前移动到字符x上 |
| Fx | 向后移动到字符x上 |
| tx | 移动到字符x前 |
| Tx | 向后移动到字符x前 |
删除命令
| 按键 | 说明 |
|---|
| x | 删除当前光标所在处的字符 |
| X | 删除当前光标左边的字符 |
| d$ | 删除从光标到一行末尾的整个文本 |
| d0 | 删除从光标到一行开头的所有单词 |
| dd | 删除当前光标处的一整行 |
| 5dd | 删除从光标开始处的5行代码 |
| dgg | 删除从光标到文本开头 |
| dG | 删除从光标到文本结尾 |
| di" | 删除在引号之间的内容 |
| dit | 删除HTML标签内容 |
| dtx | 向后删除字符直到遇到第一个 x 字符 |
| dw | 删除到下一个单词的词首 |
| dW | 删除到右边界 |
| daw | 删除到左或边界,适合删除HTML属性 |
| diw | 删除光标所在单词 |
| daw | 删除光标所在单词,包括空格 |
| D | 删除到行尾 |
| C | 删除到行尾,进入插入模式 |
| c^ | 删除到行首 |
| c$ | 删除到行尾 |
复制粘贴
| 按键 | 说明 |
|---|
| y | 复制 |
| p | 贴 |
| yy | 复制一整行 |
| 2yy | 复制从当前光标所在行开始的2行 |
| yit | 复制标签内容 |
| yat | 复制完整标签 |
| yG | 复制到最后 |
| y{ | 复制到段落开始 |
| y} | 复制到段落结尾 |
修改替换
| 按键 | 说明 |
|---|
| cw | 删除从光标处到单词结尾的文本并进入到插入模式 |
| cb | 删除从光标处到单词开头的文本并进入到插入模式 |
| cc | 删除一整行并进入到插入模式 |
| r | 替换当前光标下的字符 |
| R | 进入到替换模式 |
| ctx | 向后修改内容到 x,也就是意味着删除光标到 x 中间内容,并进入插入模式 |
| ci" | 改写双引号中的内容 |
| cc | 编辑当前行 |
| c^ | 删除到行首,并进入编辑模式 |
| c$ | 删除到行尾,并进入编辑模式 |
注释操作
查找替换
| 按键 | 说明 |
|---|
| :/string | 正向查找 |
| :?string | 反向查找 |
| fx | 向后查找x字符,按 ; 继续查找 |
| Fx | 向前查找x字符,按 ; 继续查找 |
快速跳转
| 按键 | 说明 |
|---|
| gg | 跳转到第一行 |
| G | 跳转到最后一行 |
| 5G | 跳到第5行 |
| :5 | 跳转到第5行(命令模式) |
| { | 到段首 |
| } | 到段尾 |
撤销命令
| 按键 | 说明 |
|---|
| u | 撤销上一步的操作 |
| ctrl+r | 将原来的插销重做一遍 |
窗口管理
| 命令 | 说明 |
|---|
| :vs 或 :vsplit | 左右分屏 |
| :sp 或 :split | 上下分屏 |
| :vertical resize 80 | 设置宽度 80% |
| :resize 80 | 设置高度 80% |
| ctrl+w c | 关闭当前窗口 |
| ctrl+w o | 关闭其他窗口 |
| ctrl+w l | 切换左边窗口 |
| ctrl+w j | 切换上边窗口 |
| ctrl+w k | 切换下面窗口 |
| ctrl+w l | 切换右面窗口 |
| ctrl+w w | 窗口间循环切换 |
| ctrl+w x | 窗口互换 |
| ctrl+w H | 从水平布局到垂直布局 |
| ctrl+w J | 从垂直布局到水平布局 |
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
倚天屠龙记之九阳神功
伟大遗产
偷食抢食搵饭食
文字流畅如丝,语言优美动人,读来令人心旷神怡。