目录
vi/vim键盘图
1、vim的基本概念
2、vim的基本使用
3、vim命令模式命令集
4、vim底行模式命令集
5、参考资料
vi/vim键盘图
1、vim的基本概念
vi和vim的区别:vi和vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。
vim其实有好多模式,但是我们其实只需了解其中三种基本的模式就够了,它们分别是命令模式、插入模式和底行模式,各模式的功能如下:
正常/普通/命令模式
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式,或者到底行模式。
插入模式
只有在插入模式下,才可以输入内容,按ESC键可回到命令模式。该模式是我们以后用的最频繁的编辑模式。
底行模式
文件保存或退出,也可以进行字符替换,查找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:在底行模式下直接输入help vim-modes。
我这总共有这么多模式,可以看看你们的。
2、vim的基本使用
进入vim:输入vim和文件名称后,就进入vim全屏幕模式编辑画面:
例如:vim mytest.c
当你进入vim之后,此时是处于命令模式,你要切换到插入模式才能够进行输入。
命令模式->插入模式:
- 按 i 进入插入模式,是从当前光标位置开始输入内容
- 按 a 进入插入模式,是从当前光标所在位置的下一个位置开始输入内容
- 按 o 进入插入模式,是插入新的一行,从行首开始输入内容
- 按 A 进入插入模式,光标所在行的行尾插入
插入模式->命令模式:
按ESC键转到命令模式
命令模式->底行模式:
按下shift+: 进入底行模式
在底行模式下保存文件和离开vim命令集
- :w(保存当前文件)
- :wq (保存并退出vim)
- :q!(不保存强置退出vim)
- :wq!(保存并强置退出vim)
3、vim命令模式命令集
移动光标
- vim可以直接用键盘上的控制键区来进行上下左右移动,但标准的vim是用小写英文字母 h、j、k、l,分别控制光标左、下、上、右移一格
- G:光标移动到文本的最后
- #G:光标移动到第#行行首,例如:2G,移动到第2行行首
- $:光标移动到光标所在行的行尾
- ^:光标移动光标所在行的行首
- w:光标跳到下个字的开头
- e:光标跳到下个字的字尾
- b:光标回到上个字的开头
- #l:光标移到该行的第#个位置,例如:2l,移动到该行的第二个位置
- gg:光标回到文本开始
- shift+g:光标回到文本末端
- Ctrl+b:屏幕往后移动一页
- Ctrl+f:屏幕往前移动一页
- Ctrl+u:屏幕往后移动半页
- Ctrl+d:屏幕往前移动半页
删除
- x:删除光标所在位置的一个字符
- #x:删除光标所在位置的后(包括自己在内)的#个字符,例如:2x,删除后两个字符
- X:大写的X,删除光标所在位置的前一个字符
- #X:删除光标所在位置的前#个字符,例如:2X,删除前两个字符
- dd:删除光标所在行
- #dd:删除从光标所在行的#行,例如:2dd,删除两行
复制
- yw:将光标所在之处到字尾的字符复制到缓冲区中
- #yw:复制#个字符到缓冲区,例如:2yw,复制两个字符到缓冲区
- yy:复制光标所在行到缓冲区
- #yy:复制光标所在的该行开始往下的#行到缓冲区,例如:2yy,复制两行到缓冲区
粘贴
- p:将缓冲区内的字符贴到光标所在位置。需和复制命令搭配使用
替换
- r:替换光标所在处的字符
- R: 替换光标所在之处的字符,直到按下ESC键为止
撤销
- u:撤销回到上一个操作,按多次u可执行多次撤销
- Ctrl+r:对 u 进行撤销的恢复
更改
- cw:更改光标所在处的字到字尾处
- c#w:表示更改#个字,例如,c2w,表示更改2个字
列出行号
- Ctrl+g:列出光标所在行的行号
4、vim底行模式命令集
列出行号
- set nu:在每一行前面列出行号
跳到文件中的某一行
- #:#号表示输入一个数字,在按回车键就会跳到该行
查找
- /关键字:先按 / 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往后寻找到您要的关键字为止
- ?关键字:先按 ? 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往前寻找到您要的关键字为止
/和?区别是:/是从上向下查找,?是从下向上查找。
保存和退出
见上
大家打开的vim会发现你的vim和我的不一样,是因为我的vim做了相关的配置,你也可以去搜一下相关的配置教程,对你的vim进行配置。
5、参考资料
想了解更多更详细的可以参考vim从入门到精通
如有写的不好的地方还望指出,谢谢 !!!