专注于武汉中小企业服务解决方案提供商

电脑维修、布线、安防监控、数据恢复、采购、回收

所属分类 > 家电维修 > 正文

涨姿势:分享12个由老外收集的Vim运用技巧

编辑:rootadmin
这篇Vim运用技巧的合集汇总了一些有趣的,由中级到高级的运用技巧。是由一个叫DaliborNasevic的老外收集的,分享给大家。

整理分享涨姿势:分享12个由老外收集的Vim运用技巧 ,希望有所帮助,仅作参考,欢迎阅读内容。

内容相关其他词:,内容如对您有帮助,希望把内容链接给更多的朋友!

  1.重复上一条Ex命令,在Vim中有3种命令行模式提示:Ex命令提示符::something查找提示符Searchprompt:/something表达式提示符Expressionprompt:(在*模式下输入=):=1+1  假如我们从Ex命令提示符中运行一个spec:  :!rspecspec/models/code_spec.rb  我们可以通过在普通模式下输入@:来重复上一条Ex命令。  2.在CSS中对属性进行排序  如果我们需要按照字母表顺序对CSS选择器中的行进行排序,只需在可视模式下选择选中的行并输入:sort,然后就可以对它们进行排序。 h4{  3.选择*和粘贴的文本  我们可以运用gv来选择原始的需要*的文本,运用gb选择上一次粘贴的文本。gb是一个自定义的映射,可将其添加到vimrc文件,而且该命令在进行提取方式重构、剪切时十分有用。我们还需要修复缩进,运用gb可以轻易选择粘贴的文本,然后运用<或>来进行修复。  "selectlastpasteinvisualmodennoremapgb'`['.strpart(getregtype(),0,1).'`]'4.在*模式下粘贴文本  假如处于*模式中,并希望在不退出*模式的情况下粘贴已*的文本。可通过运用0实现这个需要。如果*的文本包含新的行字符,0会处理缩进的问题。5.在*模式下删除  如果需要在*模式、Vim命令行模式或Shell命令行中删除字符、单词或行,有以下的快捷方式:"deletebackonecharacter(backspace)"deletebackoneword"deletebacktostartofline"deleteforwardtoendofline6.在某个范围内运行普通模式命令  下面的JavaScript代码全都忘记加上;分号了:  varelement=$(this)vartabName=element.data('tab')varreport=element.data('report')  我们可以选择所有三行代码,然后运行命令:normalA;,它将为每行执行A;(追加;)的命令。或者,我们可以在文件的整个内容上运用:%normalA;以达到相同的效果。7.在多行代码中重复上一次更改  如果我们在上述代码段的第一行进行了一次修改,运用A;在行的结尾处*;,如果需要再为2-3行添加;,应该怎样*作?可以通过选择第2-3行,并通过在可视化模式下运用dot(“.”)命令:'<,'>normal.来重复该命令。8.在多个文件中进行替换*作  Vim中,在多个文件里面不能直接进行替换*作。要在多个文件中进行查找和替换,首先需要创建一个文件列表,我们将在其中执行一条命令。通过运用:args命令来实现这个需要。例如,加载所有以”ext”字符串开头的JavaScript文件:  :argsapp/assets/javascripts/ext*.js  这样可以看到通过运行:args命令得到的参数列表加载的文件。准备好参数列表后,可以执行查找和替换*作:  :argdo%s/From/To/g  一旦在文件中进行了更改,我们可以运用以下命令保存参数列表中所有的文件:  :argdoupdate  9.在多个文件中进行查找和替换  如果我们知道*作的文件需要在哪里运行替换命令,那么上一个技巧可以正常工作。但是大多数时候,我们需要搜索文件中的文本,然后只在这些文件中运行替换命令。此时,我们可以通过运用vimgrep命令在文件查找匹配。vimgrep命令可创建快速列表,其中包含与模式匹配的文件,该列表可通过:copen命令来打开查看。如果我们希望快速列表有用,需要运用vimrc文件中的:Qargs映射来将其转换为参数列表:  command!-nargs=0-barQargsexecute'args'QuickfixFilenames()"populatetheargumentlistwitheachofthefilesnamedinthequickfixlistfunction!QuickfixFileNames()letbuffer_numbers={}forquickfix_itemingetqflist()letbuffer_numbers[quickfix_item['bufnr']]=bufname(quickfix_item['bufnr'])endforreturnjoin(map(values(buffer_numbers),'fnameescape(v:val)'))endfunction  最后,这里有一个需要在文件运行查找和替换的例子:  :vimgrep/CurrencyNumberHelper/app/models/*.rb:Qargs:argdo%s/CurrencyNumberHelper/CurrencyHelper/g:argdoupdate  在评论中,buztard提到一个更简单的方式是运用ack-grep来创建参数:  :args`ack-grep-lCurrencyNumberHelper`#or,ifyou'reusingAckplugin,thenjust:AckCurrencyNumberHelper:argdo%s/CurrencyNumberHelper/CurrencyHelper/g:argdoupdate  ThiagoA.也在评论中提到,如果你运用较新的Vim版本,这将会更简单,可简单地运用cdo和cfdo来完成这个需要:  :AckCurrencyNumberHelper:cfdos/CurrencyNumberHelper/CurrencyHelper/g|update.编辑已录制的宏  在录制宏的时候,很容易犯错误。当发生这种情况时,编辑已经录制好的宏比重新录制更容易。  假设我们已经在寄存器a中录制了新的宏。可以运用:puta在当前的缓冲区中打印宏的内容,并在Vim中对宏进行编辑。一旦宏被修改,我们可以选择它然后运用"ay将它*到寄存器。这样,我们就可以运用@a从寄存器中执行新的宏。.在多个文件中执行宏  我们已经录制好了一个宏,并且希望在多个文件中运行它。首先我们需要运用文件构建一个参数列表,例如,从一个Rails使用中加载所有模型:  :argsapp/models/*.rb  然后运用下面的命令运行宏(记录在寄存器a中):  :argdonormal@a  最后,运用下面的命令保存所有的缓冲:  :argdoupdate.命令行中的Vi模式  Bashshell提供了两种模式用于命令行编辑:emacs和vi。默认情况下是Emacs编辑模式,可以运用以下方式将其更改为vi模式:  set-ovi  在命令行中,可以按下ESC键进入vi编辑模式,并运用vi的单行编辑功能。在命令行中的vi编辑模式下,可以通过按下v弹出编辑器,这样就可以编辑和保存将在命令行中执行的缓冲。  如果需要回到emacs模式,输入:  set-oemacs

标签: 涨姿势:分享12个由老外收集的Vim运用技巧


本文链接地址:https://www.iopcc.com/jiadian/39708.html转载请保留说明!

上一篇:将电脑里的相片导入iPhone手机的教程 (怎样把电脑里相片移到手机)

下一篇:手机发布会12种专用名词解释 快学起来! (手机发布会名场面)

推荐内容:

如何控制无刷直流电机 (直流无刷电机控制器怎么调速)

如何控制无刷直流电机 (直流无刷电机控制器怎么调速)

用电器、工业设备和汽车等领域。相对于传统有刷电机,虽然无刷直流电机能够提供更可靠和免维护的替代方案,但 ...

浅析几种常见的PFC拓扑 (简述常用)

浅析几种常见的PFC拓扑 (简述常用)

用),希望有所帮助,仅作参考,欢迎阅读内容。内容相关其他词:浅析几种常见的研究方法,浅析几种常见的文献,有哪 ...

苏泊尔CS33V01型电磁炉隐约可见到荧光屏内悬空架设的几条灯丝 有亮光 (苏泊尔30hc35-80)

苏泊尔CS33V01型电磁炉隐约可见到荧光屏内悬空架设的几条灯丝 有亮光 (苏泊尔30hc35-80)

泊尔CSV型电磁炉)J故障特征电磁炉开机加热正常,但荧光屏始终不亮,隐约可见到荧光屏内悬空架设的几条灯丝有亮光 ...

半球电磁炉显示E5故障代码的检修 (半球电磁炉显示e2怎么解决)

半球电磁炉显示E5故障代码的检修 (半球电磁炉显示e2怎么解决)

开机通电分钟后显示E5的故障,怀疑IGBT过热导致,风扇也正常,断开IGBT的二极管显示E6开路,短接二极管直接显示E ...

亚都超声波加湿器检修思路四例 (亚都超声波加湿器不出雾如何修理)

亚都超声波加湿器检修思路四例 (亚都超声波加湿器不出雾如何修理)

原因分析:拆开机壳,主板1A保险管正常,测直流V电压正常,再测整机电流mA均正常。根据下图,重点检查BG1及水位开 ...

如何消除笔记本的DOS开关密码 (如何消除笔记本电脑噪音)

如何消除笔记本的DOS开关密码 (如何消除笔记本电脑噪音)

开机密码。可密码一旦忘了就带来很多麻烦。因为大部分笔记本电脑的开机密码并不像台式PC那样存放在CMOS电路中可 ...

采用TDA9109机芯彩色显示器垂直一条亮线的检修思路 (9t82机芯)

采用TDA9109机芯彩色显示器垂直一条亮线的检修思路 (9t82机芯)

*高压电路工作正常,由于*高压电路由行激励信号推动,因此,行振荡电路亦正常,【故障】的主要原因是行激励、行 ...

黑鲨如何重装系统 (黑鲨如何重装系统版本)

黑鲨如何重装系统 (黑鲨如何重装系统版本)

自己解决不了时,我们只能通过重装*修复解决。有很多用户不清楚黑鲨怎么重装*,下面小编给大家带来了黑鲨重装 ...

电脑黑屏不单单是系统的问题,有可能是硬件! (电脑黑屏但能正常使用)

电脑黑屏不单单是系统的问题,有可能是硬件! (电脑黑屏但能正常使用)

*坏了,当然小编我也不敢说不是,但是小编想说的是开机出现黑屏什么都没有或者屏幕显示无信号这种情况那又是啥 ...

网线水晶头的做法,也许是它偷走了你的网速 (网线水晶头的做法)

网线水晶头的做法,也许是它偷走了你的网速 (网线水晶头的做法)

偷走了你的网速(网线水晶头的做法),希望有所帮助,仅作参考,欢迎阅读内容。内容相关其他词:网线水晶头的做法 ...

Copyright © 2023 武汉电脑维修 All Rights Reserved.

鄂ICP备2023003026号

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢!邮箱: opceo@qq.com