vim有多种模式,但是常用的就是三种模式:命令模式、插入模式、末行模式(还有可视模式)
命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到末行模式下。
插入模式:只有在插入模式下,才可以做文字输入,按ESC键可回到命令行模式。
末行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+冒号,即可进入该模式。在低行模式直接输入:help vim-modes
进入插入模式及插入模式下的命令:
- i:进入插入模式之后是从光标当前位置开始输入文件
- a:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
- o:进入插入模式后,是插入新的一行,从行首开始输入文字
移动光标:
- G:移动到文章最后
- $:移动到光标所在行的行尾
- ^:移动到光标所在行的行首
- w:光标跳到下个字的开头
- e:光标跳到下个字的字尾
- b:光标回到上个字的开头
- gg:进入文本开始
- shift+g:进入文本末端
删除文字:
- x:每按一次,删除光标所在位置的一个字符
- #x:例如:6x表示删除光标所在位置的后面6个字符(包括自己)
- X:大写的X,每按一次,删除光标所在位置的前面一个字符
- #X:例如:20X表示删除光标所在位置的前面20个字符
- dd:删除光标所在行
- #dd:从光标开始删除#行
复制:
- yw:将光标所在之外到字尾的字符复制到缓冲区
- #yw:复制#个字到缓冲区
- yy:复制光标所在行到缓冲区
- #yy:拷贝从光标所在行向下数#行
- p:将缓冲区内的字符贴到光标所在位置
替换:
- r:替换光标所在处的字符
- R:替换光标所到之处的字符,直到按下ESC键停止
撤销恢复:
- u:回到上一个操作
- ctrl+r:恢复撤销
更改:
- cw:更改光标所在处的字到字尾处
- c#w:例如:c3w表示更改3个字
跳至指定的行
- Ctrl+g:列出光标所在的行号
- #G:移动至#行行首
末行模式下的命令:
注意:末行模式下的命令都在冒号后面输入的
列出行号
- set nu:会在文件中的每一行前面列出行号
跳到文件中的某一行
- #:#表示一个数字,在冒号后面输入一个数字,再按回车键就会跳到该行
查找字符
- /关键字:第一次找到的不是你想要的就可以一直按n往后寻找
- ?关键字:和/关键字类似
两者区别:/是向前也就是向下找,而?是向后也就是向上找