打开文件[OPTION]...FILE
+# 打开文件后,让光标处于第#行的行首,+默认行尾
+/PATTERN 打开文件后,直接让光标处于第一个被PATTERN匹配到的行首
-b file 二进制方式打开文件
-d file1 file2... 比较多个文件
-m file 只读打开文件
ex file 或 vim -e 直接进入ex模式
如果该文件存在,文件打开并显示内容;如果该文件不存在,当编辑后第一次存盘创建它
vim:一个模式编辑器
三种模式 命令模式 插入模式 扩展命令模式
Esc键 退出当前模式
扩展命令模式 :进入扩展命令模式
w 写(存)磁盘文件
:q 退出
:q! 强制退出
:wq 保存退出
:x 保存退出
r filename 读文件内容写入另一个文件
w filename 读当前文件内容写入另一个文件
!command 执行命令
r!command 读入命令输出
命令模式
ZZ 保存退出
ZQ 不保存退出
字符间跳转:
h:左 l:右 j:下 k:上
#COMMAND: 跳转由#指定的个数的字符
单次间跳转:
w:下一个单词的词首
e:当前或下一单词的词首
b:当前或前一个单词的词首
#COMMAND: 由#指定一次跳转的单词数
当前页跳转:
H:页首 M:页中间行 L:页底
zt:将光标所在当前行移动到屏幕顶部
zz:将光标所辖当期行移动到屏:幕中间
zb:将光标所在当前行移动到屏幕底部
行首行尾跳转:
^:跳转至行首的第一个非空白字符
0:跳转至行首
$:跳转至行尾
行间移动:
#G、扩展命令模式下:#跳转至由# 指定行
G:最后一行
1G,gg:第一行
句间移动:
):下一句 (:上一句
段落间移动:
}:下一段 {:上一段
翻屏操作:
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
字符编辑:
x:删除光标处的字符
#x:删除光标处起始的#个字符
xp:交换光标所在处的字符及其后面字符的位置
~:转换大小写
J:删除当前行后的换行符
替换命令(r,replace)
r:替换光标所在处的字符
R:切换成REPLACE模式
删除命令(d,delete):
d:删除命令,可结合光标跳转字符,实现范围删除
d$:删除到行尾 d^:删除到非空行首 d0:删除到行首 dw: de: db: #COMMAND
dd:删除光标所在行 #dd:多行删除
D:从当前光标位置一直删除到行尾,等同于d$
改变命令(c,change):
c:修改后切换成插入模式 命令模式->插入模式 c$ c^ c0 cb ce cw #COMMAND
cc:删除当前行并输入新内容,相当于S C:删除当前光标到行尾,并切换成插入模式
复制命令(y,yank):
y:辅助,行为类似于d命令 y$ y0 y^ ye yw yb #COMMOND
yy:复制行 #yy:复制多行
Y:辅助整行
粘帖命令(p,paste):
p:缓冲区存的如果为整行,则粘帖当前光标所在行的下方;否则则粘帖至当前光标所在处的后面
P:缓冲区存的如果为整行,则粘帖当前光标所在行的上方;否则则粘帖至当前光标所在处的前面