vim 基础学习之global
global命令可以在指定模式下,匹配行上进行Ex命令 使用格式:
:[range]g[lobal]/{pattern}/[cmd] range-是执行范围(如果缺省,是%) global-命令关键字 pattern-匹配内容 cmd-Ex命令操作(缺省是print)
这个命令还有两个反向命令
global! vglobal(v)
他们的意思是,在没有匹配pattern的行上,执行cmd操作
global这个命令使用的时候,包括两步,
第一步是获得已经拥有标记的pattern匹配内容,如果这个值是缺省值,那么会使用当前拥有标记的行
产生标记的行方式有搜索结果、×选中等
第二步才是执行cmd命令
下面我们进入简单演示 看下面这段内容
my name is xiaoming my name is xianghua my year is my class is
现在我们使用global删除所有包含name的行
方法1.:global/name/d 方法2. )执行pattern标记行-/name )执行global命令-global//d
现在我们把这篇文章中的所有包含name字符串的行,放到寄存器a中
:global/name/y a
原以为上面的操作可以完成我们的需求,不过,你使用
reg a
会发现,输出的结果是
:global/name/y a。
原来,使用global执行cmd是一条条执行的,当我们使用 小写的a调用寄存器的时候,是覆盖寄存器的内容,这时候我们使用A(追加)就可以了。
如下
:global/name/y A
如果我们想对下面的几行进行排序,我们怎么做?
aeeufs rofwjejf roqfjljfa wpirgusjf qw[pegj
vim中排序命令是sort 所以,我们可以使用如下的方法
方法一:命令行选中上面的五行内容,然后用命令行:sort就行了
方法二:直接命令行:32,36 sort就行了
上面只对一处排序,很简单。假如现在有如下内容
a< rofwjejf aeeufs roqfjljfa
qw[pegj wpirgusjf /> a< aeeufs
roqfjljfa rofwjejf wpirgusjf />
a< rofwjejf aeeufs roqfjljfa
qw[pegj wpirgusjf /> a< aeeufs
roqfjljfa rofwjejf wpirgusjf />
我们可以使用如下命令
:g/</+,/\/>/- sort
它的意思就是,从 /</+1开始到/\/>/-1为止的匹配项中执行sort操作
它其实是
:[range]g[lobal]/{pattern}/[cmd]的扩展形式
:g/{star}/,/{end}/ cmd
这个感觉跟前种形式都是一致的,都是给cmd明确一个执行的范围。
:g 定位范围 命令
vim 基础学习之global的更多相关文章
- vim 基础学习之替换
替换命令substitute可以用来查找跟替换操作. :[range]s[ubstitute]/{pattern}/{string}/[flags] [count] range-命令作用范围(缺省的情 ...
- vim 基础学习之查找
普通模式下 /->正向查找 n-向下查找 N-向上查找 ?->反向查找 N-向下查找 n-向上查找 <C-r><C-w> <C-r>-引用,例如引用寄存 ...
- vim基础学习之搜索功能
当我们使用vim看源码的时候,我们可能会碰到一个方法或者变量,我们想要知道这个变量在其他地方的使用情况.这时候我们经常的做法就是退出当前的文件,或者是重新切换一个终端,然后使用grep或者find等s ...
- vim基础学习之自动补全功能
本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...
- vim基础学习1---简单命令
1:vim abc:如果有abc文件,则打开,否则创建之后打开 2:输入"i",才可以输入东西 3:按Esc,它是底行模式,再敲":wq 回车" 保存退出. 4 ...
- vim 基础学习之文件跳转
1. ''-当前文件上次跳转之前的位置2. '.-当前文件上次修改的位置,只要是发生了可能导致变化的命令操作就会被标记,哪怕实际结果没有变化3. '^-当前文件上次插入的位置,只要是发生了插入操作命令 ...
- vim基础学习之EX命令
:tabnew -创建新标签 :split(sp)-垂直分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 :vsplit(vsp)-水平分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 ...
- vim 基础学习之可视模式
1. 选择模式这个模式必须通过可视模式进入.在可视模式下,我们通过 <C-g>来把我们的可视选中块作为选择模式下的操作块. 这时候我们输入可见字符,就会把这个块给覆盖掉.例如aaa bbb ...
- vim 基础学习之插入模式
插入模式1.字符编码,插入特殊字符 <C-v>{3位} 如,你想输入A,你可以在输入模式下<C-v>065(必须是3位) <C-v>u{4位} 如,你想输入¿,你可 ...
随机推荐
- tomcat:Could not publish to the server. java.lang.IndexOutOfBoundsException
1.将工程加入到tomcat,报上述错误 2. run--maven build 报jar包错误: invalid LOC header (bad signature) 3.根据提示找到上述jar包, ...
- redis动态修改参数
通过 config get 命令可以查看参数. 通过config set 可以修改某些参数 动态关闭redis的aof功能:(不要忘了也修改配置文件中的aof选项使其保持一致) 127.0.0.1:6 ...
- 深入理解 sudo 与 su 之间的区别
深入理解 sudo 与 su 之间的区别 作者: Himanshu Arora 译者: LCTT zhb127 在早前的一篇文章中,我们深入讨论了 sudo 命令的相关内容.同时,在该文章的末尾有提到 ...
- Http协议与TCP协议理解(转载的)
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通 ...
- Centos7(阿里云服务器)安装Anaconda的详细步骤与心得
在本地安装Anaconda的各个版本的文章已经很多,但是感觉不是很详细,因此,在此发发自己在Centos7(阿里云服务器)安装Anaconda的心得和步骤: 注:需要注意的地方会用不同颜色区别. 1. ...
- [WC2011]最大XOR和路径(线性基)
P4151 [WC2011]最大XOR和路径 题目描述 XOR(异或)是一种二元逻辑运算,其运算结果当且仅当两个输入的布尔值不相等时才为真,否则为假. XOR 运算的真值表如下( 1 表示真, 0 表 ...
- ECNUOJ 2616 游黄山
游黄山 Time Limit:1000MS Memory Limit:65536KB Total Submit:165 Accepted:52 Special Judge Description Po ...
- POJ 3070 Fibonacci 矩阵高速求法
就是Fibonacci的矩阵算法.只是添加一点就是由于数字非常大,所以须要取10000模,计算矩阵的时候取模就能够了. 本题数据不强,只是数值本来就限制整数,故此能够0ms秒了. 以下程序十分清晰了, ...
- Android资源之图像资源(状态图像资源)
在上一篇博文中.我主要解说了XML图像资源中的图层资源,在此图像资源博文中我会给大家陆续解说XMl图像资源的图像状态资源.图像级别资源.淡入淡出资源.嵌入图像资源.剪切图像资源和外形资源. 1.图像状 ...
- 杭电1425 sort
Problem Description 给你n个整数.请按从大到小的顺序输出当中前m大的数. Input 每组測试数据有两行,第一行有两个数n,m(0<n,m<1000000).第二行 ...