所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
Vi/VIM的三种模式:
- 命令模式(Command mode)(一般模式)
- 输入模式(Insert mode)(a,i,o进入)
- 底线命令模式(Last line mode)(:)
进入VI:
- vi file 打开/新建文件,光标置于第1行行首
- vi file +n 打开文件,光标置于第n行行首
- vi file + 打开文件,光标置于最后一行行首
- vi file +/pattern 将表表置于第一个与pattern匹配的字符串处
- vi -r file 在使用vi时发生系统崩溃,恢复
- vi file ... file 打开多个文件,依次进行编辑
编辑模式:
- i,I 插入光标前
- a,A 插入光标后
- o,O 插入新的一行
- r,R 替换
- r 会替换光标所指的那一个字符
- R 会一直替换光标所指的文字,直到按下ESC为止
命令模式(一般模式)
一般模式(命令模式):切换行首行尾,第一行最后一行
- 第一行:gg
- 最后一行:shift+g
- 行首:Home键,shift+^
- 行尾: End键,shift+$
- 切换到指定行:ngg,n为指定行号
一般模式:块选择
- v 字符选择
- V 行选择
- ctrl+v 块选择
- y 复制已选
- d 删除已选
一般模式:删除
- x 删除当前光标所在处的字符,向后删除
- X 向光标前删除一个字符
- dd 删除游标所在的那一整行(常用)
- ndd 删除光标所在的向下n行
- 3dd 向光标所在的向下3行(包含光标所在的行和下面2行)
- d1G 删除当前行至第一行
- dG 删除当前行至最后一行
- d$ 删除光标至行尾
- d0 删除光标至行首
一般模式:移动到某行
- ngg 切换到指定行,n为指定行号
- n[Enter] n为数字,向下移动n行
- H 光标移到当前窗口最上方那一行
- M 光标移到当前窗口中间的那一行
- L 光标移到当前窗口最下方那一行
一般模式:复制粘贴
- yy 复制当前行
- nyy 复制当前行和向下n行(总共n行)
- p 在下一行粘贴
- P 在上一行粘贴
一般模式:撤销
底线命令模式
底线命令模式:行号
- :set nu 显示行号
- :set nonu 取消显示行号