# 编辑操作
# 移动光标
# 屏幕向前滚动一页
- ctrl + b
# 屏幕向后滚动一页
- ctrl + f
# 屏幕向前滚动半页
- ctrl + d
# 屏幕向后移动半页
- ctrl + u
# 向右移动 n 个字符
- n 空格(如何改行字符数小于n,则光标继续从下行开始向右移动,一直到n)
# 移动到当前行 行首
- 0
- shift + 6
^
# 移动到当前行 行尾
- shift + 4
$
# 移动光标到当前屏幕的最顶行
- H
# 移动光标到当前屏幕中间那一行
- M
# 移动光标到当前屏幕的最底行
- L
# 移动光标到文本的最后一行
- G
# 移动到当前文本的第 n 行
- nG
# 移动到文本的首行
- gg
# 光标向下移动 n 行
- n 回车
# w , b 向后或向前移动一个单词
# ctrl + f , ctrl + b 前后翻页
# 查找内容
- /word 向光标后寻找字符串 word
- ?word 向光标前寻找字符串 word
# 在 n1 行到 n2 行间查找字符,并替换字符
n1, n2s/word1/word2/g
在 n1 和 n2 行间查找 word1 并替换为 word2
# 删除字符
x 向后删除字符
X 向前删除字符
nx 向后删除 n 个字符
# 删除行
- dd 删除当前行
- ndd 删除光标所在 n 行
- d1G 删除光标所在行到第一行的所有数据
- dG 删除光标所在行到行末的所有数据
# 复制数据
- yy 复制光标所在行
- nyy 复制从光标所在行起向下 n 行
- y1G 复制光标所在行到第一行的所有数据
- yG 复制光标所在行到末行的所有数据
# 粘贴
- p 从光标下一行粘贴
- P 从光标上一行粘贴
# 将光标所在行与下一行的数据结合成一行
- j
# 撤销
- u
# 编辑模式
- i 在当前字符串插入字符
- I 在当前行行首插入字符
- a 在当前字符后插入字符
- A 在当前行行末插入字符
- o 在当前行下插入新的字符
- O 在当前行上插入新的字符
- r 替换光标所在位置的字符,只替换一次
- R 一直替换光标所在字符,一直到 按下
ESC
# 保存文件
- :w 将编辑过的文本保存
- :w! 若文本只读时,强制保存
- :q 退出 vim
- :q! 不管编辑或未编辑都不保存退出
- :wq 保存,退出
- :e! 将文档还原为原始状态
- ZZ 保存 退出
- :w [filename] 保存后的文件另存为 filename
# 显示行号
- set nu 在每行的行首显示行号
- set nonu 取消行号
# 执行其他文件
- :! command 暂时离开 vim 运行某个命令
← Travis-CI持续集成 docker →