1.vim是什么
vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
2.vim的基本概念
vim + 文件名就可以直接进入vim, (vim + 文件名 + n 进入vim之后,光标直接出现在第n行)
vim一共有三种常见的模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes
3.命令模式常见操作
3.1 插入模式
- 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
- 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
- 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
3.2 移动光标
- vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
- 按 「gg」: 定位到代码的第一行
- 按「G」:定位到代码的最后一行
- 按「n + shift + g」:定位到代码的第n行
- 按「 $ 」:移动到光标所在行的“行尾”
- 按「^」:移动到光标所在行的“行首”
- 按「n + l」:光标移到该行的第n个位置,如:5l,56l
- 按「w」:以单词为单位,向后移动,支持跨行
- 按「b」:以单词为单位,向前移动,支持跨行
3.3 复制
- 按 「yy」:复制当前行
- 按 「n + yy」:复制n行操作,从当前行开始
- 按 「dd」:剪切光标所在行
- 按 「n + dd」:剪切n行操作,从当前行开始
- 按 「p」:粘贴,粘贴到光标所在下一行
- 按 「n + p」:粘贴n次操作,从当前行开始
3.4 撤销
- 按 「u」:回到上一个操作。按多次“u”可以执行多次回复。
- 按 「ctrl + r」:撤销的恢复
3.5 修改
- 按「x」:每按一次,删除光标所在位置的一个字符
- 按「n + x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
- 按「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
- 按「n + X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
- 按「dd」:删除光标所在行
- 按「n + dd」:从光标所在行开始删除n行
- 按「shift + ~」:文本大小写的转换
- 按「r」:替换光标所在处的字符
- 按「n + r」:替换光标所在的向后n个字符
- 按「R」:替换光标所到之处的字符,直到按下「ESC」键为止。(进入替换模式)
3.6 查找
- 按「shift + #」:查找同名单词,按n同单词跳转
4.末行模式常见操作
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。
4.1 基础操作
- w(保存当前文件)
- q(退出vim)
- wq (输入「wq」,存盘并退出vim)
- q! (输入q!,不存盘强制退出vim)
4.2 列出行号
「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
4.3 跳到文件中的某一行
「#」: #号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
4.4 查找字符
「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
5.补充
5.1 注释
1.批量化注释
1. 按esc进入命令模式
2. 按ctrl + v (进入视图模式)
3. 按h/j/k/l选择区域
4. 按shift + i5. 按//
6. esc
2.批量化删除注释
1. 按esc进入命令模式
2. 按ctrl + v (进入视图模式)
3. 按h/j/k/l选择区域
4. 按d即可
5.2 多文件编辑
按esc进入命令模式,再按shift + ;( : )进入末行模式,输入vs 文件名,即可打开一个新文件进行编写
使用ctrl + ww 就可以切换文件光标,无论打开了多少个文件, 光标只有一个,光标在哪个区域,就代表当前正在编写的是哪个文件。