vim可进入到对应的行:vim +number filename。
-
- 工作模式:命令模式(command mode)、扩展命令模式(extended command mode)、编辑模式(edit mode)和可视模式(visual edit mode)
- vim filename;打开文件进入命令模式。在该模式下可以移动光标位置,可以通过快捷键对文件内容进行 移动光标、复制、粘贴、剪切、删除、撤销与恢复操作。
- ←↑→↓方向键可移动光标
- yy键复制、5yy往下复制5行
- y键复制,在可视模式中使用
- p键粘贴
- u键撤销最近的编辑(对应windows的ctrl+z)
- ctrl+r恢复撤销(对应windows的ctrl+y)
- x键可删除单个字符
- dd键可删除行
- 按字移动光标:
- 字有两种字:
- 广义字:两个空格之间的任何内容
- 侠义字:英文单词、标点符号和非字母字符均被当成是一个字。
- w:把光标移到下一个字的字首(侠义字),W:将光标移动到下一个字的字首(广义字)
- e和E命令:将光标移到字尾,如果处于字尾,则将光标移动到下一个字字尾。
- b和B命令:将光标移到字首,如果处于字首,则将光标移动到下一个字首。
- 字有两种字:
- 按句移动光标:
- 在vim中,句子被定义为以逗号、句号、问号和感叹号结尾,且其后面跟着至少两个或两个以上空格(外国人使用打字机留下的习惯)或一个换行符的字符序列。这个定义和习惯的用法有很大出入,注意使用。
- (命令:将光标移至上一个句子的开头
- )命令:将光标移至下一个句子的开头
- 搜索:
- /pattern:从光标处向文件尾搜索pattern
- ?pattern:从光标处向文件首搜索pattern
- n:在同一方向重复上一次搜索命令
- N:在反方向上重复上一次搜索命令
- 从命令模式可通过击键进入编辑模式
- 按i:在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
- 按I:在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行i命令。
- 按o:在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本。
- 按O:在光标所在行的上面插入新的一行。光标停在空行首,等待输入文本。
- 按a:在当前光标所在位置之后插入随后输入的文本。
- 按A:在当前光标所在行行尾插入随后输入的文本,相当于光标移动都行尾再执行a命令。
编辑模式通过Esc按键,切换到命令模式。
-
- 从命令模式通过击键进入扩展命令模式
- 先按键盘左上角的esc键,然后输入:,即可进入该模式。
- :w:保存文件,不退出
- :q:编辑后不保存,退出vim
- :q!:强制退出vim,不保存文件
- :wq:保存文件并退出vim编辑器
- :x!:强制保存并退出
- ZZ:命令行模式直接连续输入两个大写的字母ZZ,shift zz大写字母:用于保存文件内容后退出编辑器。
- :num1 num2 w filename,将指定行另存到其他文件。
- :! command:在vim执行外部命令,后按enter再次进入vim中。
- 替换:
- :s/p1/p2/g:将当前行中所有p1均用p2替代
- :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
- :g/p1/s//p2/g:将文件中所有p1均用p2替代
- 从命令模式通过击键进入扩展命令模式
按ESC键退回到命令模式。
-
- 从命令模式通过击键进入可视模式
- 按ctrl+v:进入可视块
- 按ctrl+V:进入可视行
- 按v:进入可视模式
- 从命令模式通过击键进入可视模式
然后按↑↓←→方向键来选择需要复制的区块,按下y键进行复制(不要按下yy),最后按下p键粘贴,退出可视模式按esc。
使用场景1:复制粘贴进入可视模式,使用y键和p键进行复制粘贴。
使用场景2:为多行添加注释,esc退到命令模式,按g切换到第一行,按ctrl+v进入可视化区块模式(列模式),在上手使用上下键选择需要注释的多行。按下大写I,进入插入模式(shift+1)。输入#注释符。输入完成后,连续按两次esc即可完成多行注释的过程。
使用场景3:去除多行注释:按esc退出到命令模式,按gg切换到第一行,按ctrl+v进入可视区块模式(列模式),使用键盘上的方向键上下选中需要移除的#号注释,直接按delete键即可完成删除注释的操作。
vim中使用ctrl+z可以挂起当前任务,使用jobs可以查看当前挂起的任务及编号,使用bg number可以实后台挂起的任务运行,使用fg number可以返回任务。