linux vim最常用的经典操作技巧总结
vim的强大毋庸置疑,那么,这个编辑器(文本的)的强大体现在哪?怎么感觉别人用的时候十分快速,自己用的时候反而束手束脚的极度慢呢?原因很简单,没有正确的方法,在好的工具也体现不出来优越。那么,我就来介绍下快速的提高文本编辑效率的一些操作方法、
首先,我们需要明确vim是个文本编辑器,也就是说和文本打交道的一个工具,文本编辑效率的提升在于你能否快速定位到你需要编辑的地方,打字的速度到不是特别重要的,重要的事情说N遍,快速定位,快速定位,快速定位,快速定位~~!!!!
在Linux中,我们使用vim通常都是用在第一,编辑配置文件,第二,编写脚本文件,这两种情况。编写脚本文件这就不用说了,通常是全新的一个文件,从头开始写,一步一步按照脚本的格式编写即可。编辑配置文件这种情况是一个默认的模板文件,修改其中的内容,修改哪?修改需要适配现有系统的地方,通常根据行数来定位,或者通过行关键字来定位,对吧、也就是说,要么你知道改哪一行的内容,要么知道要修改的行的关键字,找到具有关键字的那一行,然后进行修改即可。
假设你现在有一个文件,这个文件的首行末行和中间的几个不连续行的内容需要修改,如何快递定位到需要修改的地方将决定你的文件编辑效率。下面,我就以系统中的httpd服务的配置文件httpd.conf来做例子。
vim /etc/httpd/conf/httpd.conf
第一行写 welcom vim
1.修改31行的ServerRoot "/etc/httpd" 更改为ServerRoot "/usr/local"
2.修改42行的 listen 80 更改为 listen 8088
3.修改66行和67行 的user apache和group apache 为 user root group root
4,修改86行 serverAdmin root@localhost 为 serverAdmin apache@localhost
5.最后一行 添加 Good bye vim!!!
======================================================================
暂定就修改这么几行内容,但可以使用到很多技巧。
1.首先定位到文首,添加welcome vim。
按键盘的g 连按两次就定位到文首,在按shift+o,即可在文首输入要写入的 welcome vim。
5.写完后,定位到文末,首先按esc退出编辑模式,shift+g,即可定位到文末,在按小写字母o,即可进入编辑模式,输入 Good bye vim!!!
2.定位到33行,首先确定不再编辑模式,按esc,然后按数字33,在按shift+g,即可定位到33行,这一行修改是修改行末添加88.
那么按shift+4,也就是$符号即可定位到行末,在按小写字母i,输入数字88,即可完成这行的修改
3,同样的定位到67行,数字67,shift+g,shift+4,b字母,d字母+shift+4,在按a 输入root,这一行即可完成修改。68行按字母j,shift+4,b字母,d字母+shift+4,输入root,即可完成。
4,同样的定位到86行,假设我们不知道是哪一行,按左斜杠 / 输入ServerAdmin,回车即可定位到这一行,修改的是这一行的第二个单词,那么最快的就是按w字母,定位到root这个单词的开始,shift+r,进入替换模式,输入apache,退出替换模式,该行修改即完成了、
总结:
1,文首,也就是文档的第一行,文末,文档的末尾,快速定位是gg和大写的G,也可以另一种方式,1G定位到文首$G-定位到文末。
2,大o ,也就是大写O,是在光标所在行的上一行进入编辑模式
3,大i,也就是大写 I,光标所在行的行首进入编辑模式,对应的 大A是光标所在行的行尾进入编辑模式
4,w,光标所在行字母的字首,在按一次进入下一个单词的字首,e,是单词的词尾,b是上一个单词的词尾。
5,大写的r,也就是R,进入连续的替换模式,直到esc退出该模式,每一次键盘的敲击都会作用在当前光标处。
小写r,仅仅替换当前光标所在处的字符一次,少量的书写错误更改十分实用
6.关键字定位,左斜杠,输入的内容会在文本内高亮显示,如有多处都有该关键字,n和N切换位置
7,数字定位准确行数,数字加G立刻跳转到相应数字的行位置,只要你知道准确的行数,可以快速跳转到该位置。
8.假设光标在某一行的中间位置,只想要这一行的前面的内容,光标后面的内容都删除,d$即可助你达成。相反的,只想保留光标后的内容,这一行光标前的内容删除,d^即可。
9,在一个行的行首和行尾跳转,- 和$即可。当然,home键和end键也是一样的效果。
10,取消高亮显示, :nohl,某些时候查找文本字段后,通篇都是高亮,影响阅读,取消高亮 就输入nohl
11,快速翻屏,光标定位到一屏的下面,ctrl+f,向下翻屏,ctrl+b向上翻屏。ctrl+e,一行一行的下移,等于enter。
12,e和b 单词间首尾跳转,大e和大b 字符串间首尾跳转,也就是说遇到空格停止,在按一次到下一个空格。
13,w和大w这一对是和b和大b这一对方向相反的,一个是从上往下,一个是从下往上。
14.w,b,e 是以单词为界限跳转,大w,b,e是以空格为界限跳转。
15,k和j 是上下移动一行
16,ctrl+f和ctrl+b是上下翻屏,记住,只是屏幕的移动。
17.shift+* 光标停留在你想搜索的单词处即可,这个是快速搜索单词。
18.光标停留在单词词首处,yw 即可复制该单词。
19.set list 和set list! 开启和关闭显示特殊空格tab符号。(仅显示制表符例如tab ^I,和行结束符$),yaml这样的对格式非常敏感的文件需要查看(如果出错的话,yaml这样的文件通常用做配置文件,ansible和saltstack等)。
当然了,vim不止这么一点技巧,更多的可以写一本比较薄的书都没问题,需要在大量的实践中总结。
以上这些基本在使用vim中十分常见,熟练的话,基本vim没有什么问题了。