每日一Vim(28)全局命令
全局命令在Vim中有这举足轻重的作用,特别对于那些重复性的工作尤为有效,它能对匹配的所有行执行某个命令,先来看看它的语法:
:[range]global[!]/{pattern}/{command}
[range]
指定作用范围,默认global命令作用于整个文件,不像:normal
等命令,normal默认是作用于当前行。
{pattern}
:对于range范围内的文本,如果匹配pattern,就会执行command,[!]
:相当于取反(也可以用vglobal
),也就是不匹配patten的行。
command
默认是print
,打印文本行。
举例:
-
实现Linux命令
tac
的功能(与cat对应的一个命令,反向输入文本行):g/^/m 0
这里的^
表示所有行(包括空行),.
表示非空行,m 0
表示将当前行移至第0行。这样就实现了tac的功能。 -
grep
:使用Linux的朋友对grep再熟悉不过了,它其实就是:g/re/p
的缩写,re表示regular express,p表示print -
vred
:删除不匹配re的行,v就是vglobal的缩写,比如删除所有不包含href
的行::v/href/d
-
排序:对于下面的css片段:
div{ border:0; margin:0; padding:0; font-size:12px; font:inherit; vertical-align:baseline; }
我们想把{}中的样式按照字母的顺序排列成如下:
div{ border:0; font-size:12px; font:inherit; margin:0; padding:0; vertical-align:baseline; }
我们可以使用命令::g/{/ .+1,/}/-1 sort
,这个命令看起来很复杂,好像也不符合global的语法。其实对于global语法,可以扩展成::g/{pattern}/[range][cmd]
,就是说cmd前面还可以指定range.因此我们可以把上面的命令来做一次剖析:
.+1,/}/-1 sort
这个命令就相当于[range][cmd]
,这里的range范围为:当前行(.
)的下一行(+1
)直到(,
)匹配(}
)的前一行(-1
)。如此一来这条完整的命令就好解释了,表示{
的下一行一直到}
的上一行执行sort命令。
费了这么大心思就为了这么一小块代码排个序,看似有点不值,完全可以把大括号里面的内容选中后执行sort就得了嘛,干嘛这么费劲啊,你可别忘了,global的厉害,它可以作用于这个文件,如果css文件有上百行,甚至千行,如果使用V模式执行sort麻烦可大了。
转载请注明出处,谢谢合作!作者---zhijun
相关推荐
Vim文件编辑命令
### vim最全命令表(加重点) #### 一、打开文件操作 - **vi**: 进入vi编辑器,但不读取任何文件。 - **vifilename**: 打开并编辑指定名称的文件。 - **vifilename.filename**: 打开多个文件,依次进行编辑。 - **...
### vim常用命令总结 #### 一、概述 `vim`是一款功能强大的文本编辑器,在Linux环境中广泛使用。本文档旨在总结`vim`编辑器中常用的命令,这些命令可以帮助用户高效地进行文本编辑工作。总结包括查找命令、修改...
VIM工具命令的使用。VIM工具命令的使用。VIM工具命令的使用。
宏命令是Vim中一项非常有用的功能,允许用户录制一系列命令并在以后重新执行它们。这对于批量处理相似任务特别有效。 - **录制宏**:在正常模式下,使用`:qx`开始录制宏,其中`x`是用于存储宏命令的寄存器。例如,`...
VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结VIM命令总结
**vim编辑器简介** vim(Vi IMproved)是一款强大的文本编辑器,它是vi(Visual Editor)的增强版,...将包含这些命令的壁纸作为桌面背景,无疑是一种很好的记忆辅助方式,可以在工作中随时查阅,提升vim操作技能。
由于其独特的操作模式和丰富的命令,Vim成为了许多程序员和系统管理员钟爱的编辑器之一。下面详细介绍一些常用的Vim命令,帮助用户更高效地使用这一强大的工具。 首先,进入Vim的基本命令是`vim [filename]`,这会...
### Vim命令大全与新手入门指南 #### 一、Vim简介与强大之处 Vim,全称Vi IMproved,是一款源自Unix系统下的Vi编辑器的高级版本,它不仅继承了Vi的强大功能,还在此基础上增加了许多改进和扩展,使之成为当今最...
`vim`支持命令模式、插入模式以及可视模式等多种编辑方式,并且可以通过一系列丰富的命令来高效地进行文本编辑工作。本文将围绕提供的文件中的内容,对`vim`的常用命令进行详细解析。 #### 二、具体知识点解析 ###...
Linux下的ViM编辑器是一款强大的文本编辑工具,其全称为Vi Improved,是经典的Vi编辑器的增强版本。ViM在shell环境下使用,适用于系统管理和日常编程任务。通过掌握ViM的基本命令和操作模式,可以极大地提升Linux...
本来不算写 Vim 使用教程的,因为我想网上应该会有很多,然后我去搜了一下看到别人写的好丑好乱啊,于是... 跳至指定行4、Last line mode下命令简介A) 列出行号B) 跳到文件中的某一行C) 查找字符D) 保存文件E) 离开 Vim
vim常用命令 我汇总的一些vim常用的指令和按键操作,和一些NERDTree菜单插件的命令,尤其是NERDTree,这个vim插件装上之后,感觉完全可以把vim当IDE来用,实在是我辈码农的装逼利器。 1. 功能指令 按键 解释 ...
`vim命令图解.png`可能是详细解析各种Vim命令的图表,这些命令包括文本对象选择(如aw - 一个单词,ip - 一个句子),可视模式(`v`,`V`,`Ctrl + v`分别对应字符、行、块选择),以及文本操作(`.`重复上一次动作...
为了提高工作效率,许多VIM用户会寻找并安装各种插件,其中LeaderF就是一款备受好评的全局搜索插件。LeaderF提供了快速、全面且方便的搜索功能,能够帮助用户在VIM环境中高效地查找和定位代码、文件、历史命令等。 ...
本图片包含大量的常用vim使用命令和操作,而且对所使用的命令进行了分类,方便查阅
【vim命令文档】详解 ...了解并熟练运用这些基础命令,是深入学习Vim的第一步。随着经验的积累,你会发现Vim不仅是一个编辑器,更是一种高效的工作工具。不断探索和实践,你将能够发掘出更多Vim的强大功能。
在Linux操作系统中,`vim`(Vi Improved)是一款强大的文本编辑器,被广泛用于创建、修改和查看文本文件。这个“Linux的vim命令合集”包含两个文档,旨在帮助学习者深入理解和掌握`vim`的基本操作和高级特性。以下是...
- **进入vim编辑器**:可以通过命令 `vim 文本名` 来打开一个已存在的文件或者创建一个新的文件进行编辑。 - 如果文件已经存在,则vim将加载该文件到编辑器中;如果文件不存在,则会在指定位置创建该文件。 - **不...