Questions tagged «macro»

宏是键入的命令的记录,以后可以执行。宏存储在寄存器中;录制宏可以使用q完成,您可以使用@运行它们。

2
如何查看和编辑录音(即录制的宏)?
我使用复杂的重复记录我的操作(qq记录,一些操作,q停止),但我犯了一个错误。 可以查看我所记录的内容并更正错误,而不必再次执行此操作? 通过@q工作调用记录的字符,但是在映射(:map q- No mapping found)中看不到它。 通过键入以下命令,帮助中没有太多信息:help recording。


8
如何在文件中添加永久行号?
我有一个这样的文本文件(在Windows上使用gVim) foo bar baz quux corge grault garply waldo fred plugh [...150 more lines...] xyzzy thud 我想在文件的每一行中添加一个数字。不使用:set number,而是将数字添加为每行之前的文本,如下所示,因此该数字是文件的一部分。 1. foo bar baz quux 2. corge grault garply 3. waldo fred plugh [...~150 more lines...] 155. xyzzy thud


2
交换函数参数
重构代码时,能够交换函数参数将很有用。 更改为例如: func(foo[0], bar(), baz.spam) 进入 func(baz.spam, foo[0], bar()) 有什么方法可以将参数交换到左侧/右侧,并在函数括号和逗号之间保持适当位置? 请注意,如果您要考虑参数本身就是带有自己的参数的函数调用的参数,则可能会变得很func(baz->spam, foo[0], bar(a, b, c))复杂-例如:-支持这些情况可能会涉及一些更全面的解析。
19 macro  refactor 

5
我可以使用“点运算符”重复一个宏吗?
我可以在.命令中重复一个宏吗?例如,我希望能够输入: @q... 并有效呼叫@q4次。使用默认的行为,这只有当“Q”拥有一个命令,例如dw,x或iHello<esc>。(尽管这很有意义,因为'。'会重复最后一次更改,而不是最后一次击键/命令) 我也很希望这项工作能算是重要的。例如,键入: 3@q. 实际上将与运行@q6次相同。如何配置此行为?
15 macro  count 

1
保存刚刚在vimrc中创建的宏
有时我创建宏。有时我会多次创建相同的宏。 有时候,我厌倦了重新创建相同的宏。我可以存储宏吗?我可以加载宏的预设吗?我可以制作一个宏并将其永久保存吗?
14 macro 


3
如何对每次出现的单词应用一组击键?
如果我想删除每个单词,那很容易,因为我会做这样的事情: :s%/WORD//g 但是,如果我想对xyz每次出现的“ WORD”都该怎么办?例如,假设我要删除包含“ WORD”的每一行。我可以想到几种方法来执行此操作,但是似乎没有一种方法是理想的。 1) /WORD 然后手动按ddnddnddnddn...直到不再出现。但是,如果有很多行可以执行此操作,则将很耗时。 2) qd/WORD<enter>ddq 然后猜测出现WORD的次数,然后,例如: 500@d 但这将要么A)丢失一堆线,要么B)删除一堆多余的线。 有一个更好的方法吗?
13 search  macro 

6
删除所有连续的重复项
我有一个看起来像这样的文件。 Move to 230.00 Hold Hold Hold Hold Hold Hold Move to 00.00 Hold Hold Hold Hold Hold FooBar Hold Spam Hold 我希望它看起来像这样: Move to 230.00 Hold Move to 00.00 Hold FooBar Hold Spam Hold 我敢肯定,vim必须有一种方法可以快速地做到这一点,但是我不太清楚如何做。这是否超出了宏的功能,并且需要vimscript? 另外,如果必须将相同的宏应用于“ Holds”的每个块,也可以。它不必是一个宏即可获取整个文件,尽管那真是太棒了。

1
提高宏播放速度?
我录制了一个简单的宏,并在随后的几行中对其进行了回放,但是回放速度似乎非常慢(每秒处理几行)。这是预期的,并且有办法提高这种速度吗?
13 macro 


2
如何记录嵌套宏?
我想在宏中记录一个宏,如下所示: qa [ first macro ... ] qb [ second macro ... ] q [ some more stuff, involving @b ... ] q 但是,第二个q解释为停止第一个宏的请求,其余解释为命令。 有什么方法可以开始在宏中记录第二个宏吗? 如果不是,是否还有其他方法可以在宏中进行某些特定的击键重复操作来达到预期效果?
11 macro 

3
如何在vim中插入细微差别的重复文本?
我想插入这样的文本: similar text wordA similar text ... similar text wordB similar text ... similar text wordC similar text ... 我知道我可以多次粘贴文本,然后使用替换为每行更改单个单词,但是我仍然发现此方法非常不便。 有没有一种方法可以将单词或单词列表保存到“变量”中,然后使用此变量生成相似的文本? 编辑我在原始问题中做了一些不清楚的事情,实际上,我正在尝试进行一些非常相似的函数定义,因此wordA wordB...在每个文本克隆中可能会出现很多次,并且文本可能包含很多行。模式完全是这样的: similar_text1 wordA similar_text2 wordA similar_text3 ... similar_text1 wordB similar_text2 wordB similar_text3 ... similar_text1 wordC similar_text2 wordC similar_text3 ... (文本可能包含换行,并且wordA,wordB ...可能存在多次) 第二次编辑 每次我做这样的工作时,“ similar_text”部分可能会有所不同,因此该工作的解决方案最好是可重用的。因为我试图做出非常相似的函数定义,或者将字符串映射到函数映射表。 阅读答案和实践后,我发现将这项工作视为某种替代更为方便,因为可能包含换行符的单独“ part1”,“ part2” ...“ …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.