VIM快速入门
详情可参考:【教程】Vim 快速入门
目录
VIM模式
VIM模式
基本模式 普通模式、插入模式、可视模式、选择模式、命令行模式和Ex模式
派生模式 操作符等待模式、插入普通模式、插入可视模式、插入选择模式和替换模式- 普通模式:输入【vi 文件名】即可进入VIM普通模式
插入模式:在进入普通模式后,键入小写【i】即可进入插入模式
补充
进入插入模式的各种方法:
【i】:在光标的前边进入插入模式
【I】:在光标所在行的行首进入插入模式
【a】:在光标的后边进入插入模式
【A】:在光标所在行的行尾进入插入模式
【o】:在光标所在行的下方插入空行并进入插入模式
【O】:在光标所在行的上方插入空行并进入插入模式
【s】:删除光标指定的字符并进入插入模式
【S】:将光标所在行清除并进入插入模式- 退出插入模式返回普通模式:输入【Esc】 键即可
从普通模式退出VIM:
键入【:q!】:强制退出文件,同时不保存修改
键入【:wq】:退出文件,同时保存修改
键入【shift+ZZ】:效果同上
移动光标(普通模式)
- 如图所示为hjkl四个按键代表的移动方向(左下上右)
k
h l
j
补充 motion( 表示操作范围的指令 ),具体的motion代表键如下:
【0】:将光标定位到行首的位置
【^】:效果同上
【$】:将光标定位到行尾的位置
【b】:将光标定位到光标所在单词的起始处
【e】:将光标定位到光标所在单词的结尾处
【w】:将光标定位到下一个单词的起始处
【gg】:将光标定位到文件的开头
【G】:将光标定位到文件的末尾数字的奥义:单纯输入hjkl,移动的是单个字符位;当需要移动多个字符位时,可以键入【数字+h/j/k/l】来移动多个位置,如 10h 表示向前移动10个字符位
删除、撤销和恢复命令
删除命令
插入模式下通过移动光标,外加delete键进行文本删除
普通模式下进行文件删除:
键入【x】:删除单一字符;键入【d+motion】:删除更多字符
普通模式删除内容
【数字+motion】=重复多个motion
【d+数字+motion】=删除多个motion范围补充内容:更多删除命令
【d0】:删除光标从当前位置(不包含)到该行行首的所有字符
【d^】:效果同上
【d$】:删除从光标当前位置(包含)到该行行尾的所有字符
【db】:删除从光标当前位置(不包含)到单词起始处的所有字符
【de】:删除从光标当前位置(包含)到单词结尾处的所有字符
【dw】:删除从光标当前位置(包含)到下个单词起始处的所有字符
【dh】:删除光标前边一个字符
【dl】:删除光标指定的字符
【dj】:删除光标所在行以及下一行的所有字符
【dk】:删除光标所在行以及上一行的所有字符
【dd】:删除光标所在行的字符
【dgg】:删除光标所在行到文件开头的所有字符
【dG】:删除光标所在行到文件末尾的所有字符撤销和恢复命令
键入【u】:撤销最后一次修改
键入【U】:撤销对整行的修改
键入 【Ctrl+r】:恢复撤销的内容
注意 以上的”删除“操作并不是真的删除,实际上是将”删除的内容“放入VIM的一个缓冲区中,相当于Windows的剪切功能
粘贴、替换和修改命令
粘贴命令
使用【p】命令可以将最后一次删除的内容粘贴到光标之后
使用【P】 命令可以将最后一次删除的内容粘贴到光标之前
注意
如果需要粘贴的是整行为单位,那么【p】命令将在光标的下一行开始粘贴
如果拷贝的是非整行的局部字符串,那么【p】命令将在光标后开始粘贴拷贝命令
普通模式拷贝内容
【y+数字+motion】= 删除多个motion范围(数字为可选)替换命令
【r】命令用于替换光标所在的字符,做法是先将光标移动到需要替换的字符处,按一下【r】键,然后输入【新的字符】即可;而在键入r命令前输入【数字】,表示从光标处开始,将多个字符统一替换为新字符
【R】命令将一步到位进入替换模式,输入多少字符就会替换多少字符;而如果此时采用【退格键】,将会恢复替换前的字符,退格键几次即恢复几个字符修改命令
注意 修改会进入插入模式,而替换不会进入插入模式
【c+数字+motion】= 修改多个motion范围(数字为可选)
文件信息、跳转和匹配括号
文件信息
键入【ctrl+g】:查看文件信息跳转
键入【行号+G】:跳转到指定的行号
键入【:行号】:效果同上匹配括号
键入【%】:快速匹配到指定括号的另一半
具体操作:将光标定位到小括号、中括号或者大括号的一半,键入【%】即可快速匹配括号的另一半缩进:自动缩进
【数字+>>】:实现多行同步缩进
【数字+<<】:实现多行同步反缩进
搜索命令和替换命令
搜索命令
键入【 /+关键词 】:搜索关键词,方向从 光标开始向后;再键入【n】向后搜索下一个相同关键词 (键入【N】向前搜索下一个相同关键词)
输入【?+关键词】:搜索关键词,方向从 光标开始向前 ;再键入【n】向前搜索下一个相同关键词 (键入【N】向后搜索下一个相同关键词)
补充:
去除文本高亮,键入【:nohl】即可
不可以直接搜索的字符:【.】、【 *】、【[】、【]】、【^】、【%】、【/】、【?】、【~】和【$】(如果搜索,需要另外再键入【 】)替换命令(区别于之前所讲的r/R命令,此命令是替换相同关键词)
键入【:s/原字符/替换字符】:将光标定位到指定位置,将原字符替换为替换字符
键入【:s/原字符/替换字符/g】:将整行的原字符替换为替换字符
键入【:%s/原字符/替换字符/g】:将整个文档的原字符替换为替换字符
键入【:%s/原字符/替换字符/gc】:效果同上,区别在于每次替换前会提示
键入【:行号1,行号2s/原字符/替换字符/g】:将行号1~行号2之间的所有原字符替换为替换字符
执行shell命令、文件另存和合并文件
执行shell命令
键入【:!+shell命令】:执行文件以外的shell命令,执行完毕键入【Enter】即可返回VIM文件另存
键入【:w 新文件名】:将整个文件另存为新的文件- 局部另存为
- 先进入可视模式:键入【v】即可进入
- 键入【:w 新文件名】:将选中的文本另存为新的文件
- 键入【:w! 文件名】:覆盖所输入文件名的文件内容
合并文件
键入【:r 文件名】:将所输入文件名的文件内容读取到目前编辑中的文件打开多个文件
输入【vi -o 文件名1 文件名2 文件名3】:垂直并排打开文件1、文件2、文件3,光标默认在第一个文件中
输入【vi -O 文件名1 文件名2 文件名3】:水平并排打开文件1、文件2、文件3
输入【ctrl+w+w】:将光标切换到下一个文件
输入【ctrl+w+上/下】:是垂直并排文件的上、下文件切换
输入【ctrl+w+左/右】:是水平并排文件的左、右文件切换
键入【:qa】:表示同时退出全部文件(未做修改的情况下)
键入【:wqa】:表示保存修改,并退出所有文件
键入【:qa!】:表示不保存修改,直接退出所有文件
尾声:以上仅是Vim入门知识,但个人感觉,如果基本掌握了,应该足以很好地使用Vim了吧