之前学习时整理的内容
第一级:入门级
- 模式分类
a. 命令模式(Command mode)
b. 插入模式 (Insert mode)
c. 底线命令模式 (Last line mode)
用户启动vi/vim后,便进入命令模式,此状态下敲击键盘被vim识别为命令。进入插入模式可编辑文本。因为命令模式只有一些基本的命令,底线命令模式可输入更多命令。
- i 切换到插入模式,按ESC回到命令模式
- x 删除光标所在位置的字符
- : 切换到底线命令模式,按ESC回到命令模式
- dd 删除当前行
- p 粘贴剪贴板
- w 保存文件
- q 退出程序
- :wq 存盘退出
- :q! 不保存并强制退出
命令模式移动光标可使用hjkl---> 左下上右
第二级:提高级
掌握以上内容后基本上可以进行简单的文本处理了,接下来学习更多的命令。
插入命令
- I 在目前所在行第一个非空格处插入
- a 从目前光标所在的下一个字符插入
- A 从光标所在行最后一个字符处插入
- o 从光标所在的下一行处插入新的一行
- O 从光标所在的上一行处插入新的一行
替换命令
- r 进入取代模式,取代光标所在的那一个字符一次
- R进入取代模式,取代光标所在的文字,直到按下ESC为止。
行号设置
- set nu 显示行号
- set nonu 取消行号
行移动光标
- 0 数字0,到行头
- ^ 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
- $ 到本行行尾
- g_ 到本行最后一个不是blank字符的位置
整个文件移动光标
- nG 到第n行
- gg 到第一行
- G 到最后一行
字符串替换
:s/old string/new string/flags
flags为空,只替换第一个, 为g 替换所有,
:s/r2/r1/ 替换当前行第一个 r2为 r1
:s/r2/r1/g 替换当前行所有 r2为 r1
:2,10s/r2/r1/ 替换2,10行的第一个r2为 r1
其他
- ZZ 存盘退出
- u 撤销undo
- cltr + r 重做redo
补充
- shift + d 删除当前字符到行位
- 数字 + 上下左右(kjhl) 快速移动
底线命令行模式中的一些操作 - :cd 切换目录
- :open filename 打开新文件(覆盖当前文件)
- :vsp/sp filename 同一屏幕打开另一文件(分屏),双击ctrl + w切换窗口,vsp横向分割,sp 纵向分割
- :shell 切换到shell命令行(exit退出)
- :!shell命令 直接执行shell命令