# 前言
vim 模式:
理解:vim接口本身是一种编程
# 查看帮助
tldr vim
man vim
- 命令模式下输入
:help <参数>
, 可以通过前缀进一步指定上下文, 更多上下文及说明参见 help-summary (opens new window)
# 正常模式
u
: 撤销你做的最后一次更改(编辑模式下的全部内容,或可视模式下的删除、替换等)ctrl r
: redo
# 移动
详见官方中文文档 (opens new window)非常详细
hjkl
: 左下上右
k
h l
j
1
2
3
2
3
w
(word): 光标向后移动一个词b
(backward): 光标向前移动一个词e
(end): 光标移动到单词末尾,已在末尾则移动到下个词尾0
: 移动到行首$
: 移动到行尾^
: 移动到行中第一个非空ctrl u
: 向上滚动(约半屏)ctrl d
: 向下滚动(约半屏)G(大写)
: 滚动到尾f 2
: 找到后面的2F 2
: 找到前面的2t 2
: 找到后面的2,光标停在2前面T 2
: 找到前面的2,光标停在2后面%
: 如过当前光标停留不同类型的分组上,如(),[],可使用%
在匹配的括号之间来回跳转;
: 重复前次 "f"、"F"、"t" 或 "T" 命令,
: 以相反方向重复前次 "f"、"F"、"t" 或 "T" 命令
# 编辑
x
: 删除当前字符r 2
: 替换当前选中字符为2~
: 大小写转换
d: 删除
尝试与上面移动键组合
o
: 在当前行的下一行进入编辑模式d w
: 删除后面一个单词d b
: 删除前一个单词d d
: 删除当前行
c(change): 删除并编辑
尝试与上面移动键组合,它会删除从当前位置到光标移动到的目标位置 的全部内容。
c c
: 删除当前行,光标移动到行首进入编辑模式
y: 复制****
尝试与上面移动键组合,它会复制从当前位置到光标移动到的目标位置 的全部内容。
p:粘贴
# 计数
尝试与上面编辑、移动符号组合
d4d
: 删除4行
5j
: 向下移动5行
d5w
: 删除5个词
# 修饰符
i
: inside
a
整体
eg:
ci(
: 删除光标()中的内容,进入编辑模式
c%
: 如当前光标停留在(,删除()及()中的内容
da(
: 删除光标所在,被()包裹的内容
# 可视模式
正常模式按 v
进入,按移动键选择
# VISUAL BLOCK 模式
正常模式按ctrl v
进入,按移动键选择,跨行选择矩形文本块
# 命令模式
正常模式按:
进入
:tabnew
: 新建tab
:/关键词
:搜索关键词,光标跳转到关键词处
:set mouse=a
: 启动对鼠标的支持
:qa!
: 离开 Vim,(当心,所有的改动都会丢失!)
set nu
或者 set number
: vim显示行数
# 相关链接
[2] 官方中文手册-总览 (opens new window)
# 随记
- -g: E25: GUI cannot be used: Not enabled at compile time