# vim 1.py +16
- 打开文件光标定位到第16行
# vim 1.py +
- 打开文件光标定位到最后
# vim 的三种工作模式
- 命令模式:vim 打开文件进入的模式就是命令模式 i 进入编辑模式 :进入末行模式
- 末行模式:执行保存退出的操作 wq(x) esc 从末行模式回到命令模式
- 编辑模式:正常编辑文件 esc 从编辑模式回到命令模式
末行模式下的一些命令
- :set number 显示行号
- :wq 保存退出
- :q! 退出不保存
- :e /root/ 浏览 root 下的文件
- :n hello.py 在当前目录下创建一个 hello.py 文件
- :%s/hello/java/g 全局替换 将 hello 替换为 Java
- :sp [文件名] 横向增加分屏
命令模式下的一些命令
行数移动
- j 相当于向下箭头
- k 相当于向上箭头
- l 相当于右方向键
- h 相当于左方向键
- gg 光标定位到文件顶部
- G 光标定位到文件末尾
- 7gg 光标定位到第七行
屏幕移动
- ctrl + b 向上翻页
- ctrl + f 向下翻页
- H 屏幕顶部(不是文件顶部)
- M 屏幕中间
- L 屏幕底部
段落移动
- 一个空行为一个段落
- { 上一段
- } 下一段
括号切换
- %
标记命令
- mx 表示在当前行添加标记x (x可以替换为任意英文字母)
- 'x (单引号标记) 光标直接定位到标记所在行
- 标记标记的行如果被删除、标记也会被删除
- 如果在其他行添加了相同的标记、该标记会被覆盖
选中命令
- v 可视模式 从光标位置开始按照正常模式选择文本
- V 可视行模式 选中光标经过的完整行
- ctrl + v 可视块模式 垂直方向选中文本
删除和撤销
- d 删除 (在 vim 中 删除命令类似于剪切操作)
- dd 删除光标所在行
- D 删除到行尾
- u 撤销
- ctrl + r 反撤销
复制和粘贴
- y(移动命令)
- yy 复制一行
- p 粘贴
替换命令
- r 替换当前字符
- R 替换当前光标之后的字符
缩排和重复执行
- >> 向右增加4个空格的缩进
- << 向左添加4个空格的缩进
- . 重复执行上次命令
查找命令
- /hello
- n 查找下一个
- N 查找上一个
全局替换
- :%s/旧文本/新文本/g
可视区域替换
- 先选中要替换的区域
- s/旧文本/新文本/g
插入命令
- o 在当前行后方插入一空行
- O 在当前行前方插入一空行