目录
vim是什么
vim是一个高度可配置的文本编辑器,旨在实现高效的文本编辑,它有六种基本模式:普通模式、插入模式、可视模式、选择模式、命令行模式和替换模式。其中,普通模式、插入模式和命令行模式是最常用的。
在这里主要讲解普通模式、插入模式、命令行模式
- 正常/普通/命令模式
所有按键都是命令,通过控制光标的移动,进行字符、字或行的删除,移动复制某区段及进入插入模式或进入底行模式
- 插入模式
像普通文本编辑器一样输入文字,按【ESC】键可以回到普通模式,这一模式是我们后面使用最频繁的编辑模式。在命令模式下按i可进入插入模式
- 命令行模式/底行模式/末行模式
在底部输出命令执行。在这一模式下进行文本的保存或退出,也可以进行文字替换,找字符串等操作。在命令模式下按"shift+;"可进入底行模式。
想要查看所有的模式可以在底行模式输入help vim-modes
vim的基本操作
- 进入vim,在系统提示符后面输入vim+文件名称后,可进入vim全屏编辑画面(进入vim后,默认出入正常模式,只有进入插入模式才能输入文字)
- 【正常模式】切换为【插入模式】:输入a/i/o
- 【正常模式】切换为【底行模式】:shift+;
- 【插入模式】或【底行模式】切换为【正常模式】:按esc
- 退出vim及保存文件,这需要进入底行模式进行:'w'(保存当前文件);'wq'(保存并退出vim);'q!(不保存强制退出vim)
vim正常模式的命令集
- 移动光标
- vim可以通过键盘中↑↓←→控制光标的移动,但正规的操作则是用小写英文字母'h'、'j'、'k'、'l',分别控制光标左下上右移动
- 'G(shift+g)':移动到文本的最后
- 'gg':移动到文本的开始
- '$(shift+4)':移动到光标所在行的行尾
- '^(shift+6)':移动到光标所在行的行首
- 'w':光标移动到下一个字的开头
- 'e':光标移动到下一个字的字尾
- 'b':光标移动到上一个字的开头
- '#|(|是shift+\)':光标移动到当前行的第#个位置,其中#是一个数字
- 'ctrl+b':屏幕往上移动一页
- 'ctrl+f':屏幕往下移动一页
- 'ctrl+u':屏幕往上移动半页
- 'ctrl+d':屏幕往下移动半页
- 删除
- 'x':删除光标所在位置的一个字符
- '#x':删除光标所在位置及后面的#个字符(包含'自己'在内)
- 'X':删除光标所在位置的前面的一个字符
- '#X':删除光标所在位置的前面的#个字符
- 'dd':删除光标所在行
- '#dd':从光标所在行开始删除#行
- 复制
- 'yw':将光标所在位置到字尾的字符复制到缓冲区
- '#yw':复制#个字到缓冲区
- 'yy':复制光标所在行到缓冲区
- '#yy'复制从光标所在行开始向下数#行文字
- 'p':将缓冲区内的字符粘贴到光标所在位置
- 替换
- 'r':替换光标所在位置的字符
- 'R':替换光标所到之处的字符,直到按esc结束
- 撤销上一次操作
- 'u':可以回到上一个操作,可以多次执行
- 'ctrl+r':撤销恢复
- 更改
- 'cw':更改光标所在之处的字,直到字尾
- 'c#w':更改#个字
- 调到指定行
- 'ctrl+g':列出光标所在行的行号
- '#G':移动光标至第#行
vim底行模式命令集
- 列出行号
- 'set nu':在文件中的每一行前面列出行号
- 跳到文件中的某一行
- '#':#表示一个数字,在底行模式下,在:后面输入一个数字后按回车即可跳转至该行
- 查找字符
- '/关键字':在底行模式下,先输入/,再输入想要搜索的字符,如果找到的不是你想要的可以按n向后找。/是向下查找
- '?关键字':在底行模式下,先输入?,再输入想要搜索的字符,如果找到的不是你想要的可以按n向前找。?是向上查找
- 保存文件
- 'w':在:后面直接输入字母w即可保存文件
- 退出vim
- 'q':在:后面输入q就可以退出vim,如果无法退出,可以再q后面加一个!,强制退出vim。建议退出时搭配'w'使用