vim的基本用法汇总

 引言

vim作为编辑器之神(不管了,先吹一波),有着非常强大的功能,而且十分小巧灵活。特别是在linux这种以文件为基础的操作系统,能够熟练使用像vim这种文本编辑器简直爽的不要不要的。下面我给大家分享一些vim比较实用的功能(功能实在太多了,我也只了解了这些,如果还有其它实用的功能请在评论区补充)(补充一点:vi是linux自带的文本编辑器(类似于Windows的记事本),vim则相当于vi的加强版,很多linux没有自带vim,需要自己安装)。

vim的三个模式

vim可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式/末行模式(last line mode),各模式的功能区分如下:

(1) 命令模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

(2) 插入模式(Insert mode)
只有在Insert mode下,,按「ESC」键可回到命令行模式。

(3) 底行模式(last line mode)
将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。通常按「:」(英文冒号)j键或「」键进入last line mode。


用法

vim [path1] [path2]  #这里的path指的是要打开的文件的路径(可以打开多个)

在命令模式下(command mode)

光标的移动

按方向键或小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格,推荐使用方向键。

按「G」键:光标移动到当前文件最后一行的起始位置。

按「)」键:光标移动到当前文件最后一行的末尾。

按按「#G」(#代表数字键,不要按小键盘上的数字,vim中小键盘上的数字并不是代表输入数字!!!(下面的也一样))光标跳转到第#行的起始位置。

按两下「g」(小写!!!)键:光标移动到当前文件第一行的起始位置。(这个比较好记,gg了就重头开始)

按「$」键(Shift+数字4):移动到光标所在行的行尾。

按「^」键(Shift+数字6):移动到光标所在行的行首。

按「Ctrl」+「G」键:显示光标所在行的行号,当前文件的总行数,以及当前所在行占总行数的百分比。

按「ctrl」+「b」键:屏幕往后移动一页。

按「ctrl」+「f」键:屏幕往前移动一页。

按「ctrl」+「u」键:屏幕往后移动半页。

按「ctrl」+「d」键:屏幕往前移动半页。

下面的命令不是很常用,了解一下就行了:

按「w」键:光标跳到下个字的开头(vim中以特殊字符(如空格、分号等)区分字段)。

按「e」键:光标跳到下个字的字尾。

按「b」键:光标回到上个字的开头。

按「#l」键:光标移到该行的第#个位置,如:5l,10l


文字的复制、粘贴、删除等操作:1.删除:

「x」键:每按一次,删除光标所在位置的后面一个字符。

「#x」:删除光标所在位置后面#个字符。例如,「10x」表示删除光标所在位置的后面10个字符。

「X」(大写的X):每按一次,删除光标所在位置的前面一个字符。

「#X」:删除光标所在位置前面#个字符。例如,「20X」表示删除光标所在位置的前面20个字符。

(重要)「dd」(按两下「d」键):删除光标所在行(其实「dd」是剪切操作,但是不粘贴的话和删除一个效果)。

「#dd」:从光标所在行开始删除#行。例如「3dd」,表示删除三行(光标所在行+后面2行)。

2.复制和粘贴:

「yy」:复制光标所在行到缓冲区。

「#yy」:表示拷贝从光标所在的该行往下数#行文字。例如,「6yy」表示拷贝从光标所在的该行往下数6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

「r」:替换光标所在处的字符。具体操作:按下「r」键后再输入你想替换的字符。

「R」:替换光标所到之处的字符,按下「ESC」键停止。具体操作:按下「R」输入你要替换成的字符,输入的字符将会替换光标所在处的字符,按下「ESC」键退出此模式。

3. 撤销:

「u」(小写):如果错误执行了一个命令或操作,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。


末行模式(last line mode)

进入末行模式的方法:按下「:」键或「/」键。

退出末行模式的方法:按两下「ESC」键立即退出;按一下「ESC」键退出会有略微延迟;按「Backspace」键删除末行模式下输入的所有命令立即退出。

以下是常用的命令:

按下「:」+「q」:退出vim。

按下「:」+「q!」:强制退出vim(不会保存更改,如果更改过文件,又不想保存更改,可以使用此操作)。

按下「:」+「wq」:保存并退出vim。按下「:」+「w」:保存当前文件。

按下「:」+「w!」:若文件属性为『只读』时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的权限有关。

按下「:」+「w」+ [filename]:将文件另存为。

按下「:」+「x」(小写)(推荐使用):自动判断,如果文件发生更改则相当于「:」+「wq」,如果文件未发生更改则相当于「:」+「q」。

这里要说明一下「wq」和「q」的区别:使用「q」退出不会更新文件的修改时间,使用「wq」退出则会更新文件的修改时间,所以

在文件未发生改动时不要使用「wq」退出(切记!!!),推荐使用「x」(小写)退出!!!

按下「:」+「X」(大写):加密文件,会提示你输入密码,如果按错了或不想加密提示输入密码时按两下回车就行了。

按下「:」+「u」(小写):撤销一次对文件的更改。

按下「:」+「r」:恢复一次撤销操作(如果撤销错了,可以使用此操作恢复到上一次撤销前的状态)。

按下「:」+「nohl」(小写):取消代码高亮(仅本次编辑有效),这是“no high light”的缩写。

按下「:」+「set nu」:显示行号(仅本次编辑有效)。

按下「:」+「set nonu」:取消显示行号(仅本次编辑有效)。

按下「:」+「!」+「command」(比较有用):在vim内使用外部命令,如输入「:!ls」相当于在外面执行了“ls”命令,同时会显示结果,按下回车键会返回vim中;这个操作非常有用,当你写完代码后,可以使用该操作进行编译(前提是要先保存文件)。

按下「/」+「要查找的字符」:在文件总查找目标,找到后会高亮显示;如果找到多个,按「n」键切换到下一个符合要求的目标,按「b」键切换到上一个符合要求的目标。


插入模式(Insert mode)

进入插入模式的方法:按下「a」键(是从目前光标所在位置的下一个位置开始输入文字)或「i」键(从光标当前位置开始输入文字)即可进入插入模式,进入插入模式后就可以进行自由编辑了,方向键控制光标方向移动。

命令模式下按下「o」键:是插入新的一行,从行首开始输入文字。

退出插入模式的方法:按下「ESC」键即可退出光标模式,进入命令模式。

手机上阅读

本文由 giao创作, 采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文地址:《vim的基本用法汇总》

 最后一次更新于2018-12-21

0 条评论

添加新评论

Markdown is supported.