编辑 / 打开文件
-
打开文件filename[,并将光标定位到n行]
vim filename [+n] -
其他命令
:e xxx 切换编辑文件 eg. :e. 显示当前目录下文件,回车进入编辑 :e hello.py 编辑当前目录下hello.py文件 :w 写入文件(后+文件名则为另存为) eg. w cpoy.py 将文件另存为 copy.py :q 关闭文件 :q! 强制关闭 :wq 保存并关闭,同 :x
移动命令
-
全文范围移动(go)
命令 功能 示例 gg光标至文件头 - G光标文件尾 - nG光标至n行 10G -
屏幕范围移动
命令 功能 示例 H光标至屏幕内首行(head) - M光标至屏幕内中间行(middle) - L光标至屏幕内尾行(low) - Ctr+f向前翻页(forward) - Ctr+b向后翻页(back) - -
段落范围移动
命令 功能 示例 {光标至上一个段落开始点 - }光标至下一个段落结束点 -
-
行内范围移动
命令 功能 示例 w光标至下一个单词开始word) - b光标至上一个单词开始(back) - 0or^光标至行首 - $光标至行尾 - %光标在行年内号间切换 - -
标记移动
命令 功能 示例 mX在该行打个标记 X(mark)注意范围在a-z和A-Z中的一个mS打个S标记'X光标至 X标记处'S移动到S标记
选择命令
| 命令 | 功能 | 示例 |
|---|---|---|
v |
以字符为单元可视模式 | - |
V |
以行为单元可视模式 | - |
Ctr+v |
一矩形为单元可视模式 | - |
删除命令
-
基本命令
命令 功能 示例 dd删除当前行 - ndd删除从此行往下n行 - D删除至行尾 - -
组合命令(
d+移动命令)dw #删除一个单词 d{ #删除至段落开始 dG #删除之文件结尾 …… 可视模式下选中后+
d删除选中部分
复制命令
-
基本命令
命令 功能 示例 yy复制当前行 - nyy复制n行 - 组合命令(
y+移动命令)
参考删除命令
粘贴命令
`p` 在光标右方或下方粘贴(删除命令实际效果为剪切命令)
撤销/重做
`u` 撤销 / `Ctr+r`重做
缩进命令
>> 增加缩进
<< 减少缩进
可视模式下 + < or > 增加/减少缩进
进入编辑模式
i 在当前位置插入
I 在行首插入
a 在当前位置后方插入
A 在行末插入
o 在下方插入空行
O 在上方插入空行
查找命令
/str 查找str
# 查找当前位置的单词
n 下一个
N 上一个
替换命令
r 替换当前位置字符
Shift+r 连续替换
查找替换命令
1.全局替换
:%s/old/new/g 将old全部替换为new
eg. :%s/hello/world/g 将`hello`替换为`world`
:%s/old/new/gc 将old替换为new,替换时提示是替换
eg. :%s/hello/world/gc 将`hello`替换为`world`,替换时提示是替换
2.部分替换
首先在可是模式下确认替换区域
再输入命令,将%s 改为 s即可
eg. :s/hello/world/g 将`hello`替换为`world`
eg. :s/hello/world/gc 将`hello`替换为`world`,替换时提示是替换
分屏命令
:sp y方向分屏
:vps x方向分屏
以下命令执行前先按 Ctr+w
w 切换屏幕(window)
r 交换屏幕位置
c 关闭当前屏(不可关闭最后一个)
q 关闭当前文件(可关闭最后一个)
o 关闭其他文件