编辑 / 打开文件
-
打开文件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) - 0
or^
光标至行首 - $
光标至行尾 - %
光标在行年内号间切换 - -
标记移动
命令 功能 示例 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 关闭其他文件