标签: vim-macros

Vim和Ctags提示和技巧

我刚刚使用我的Vim(或者更确切地说是gVim)安装了Ctags(以帮助进行C++开发),并希望找到您最喜欢的命令,宏,快捷方式,以及随之而来的提示......

分享你最好的武器库.在Vim开发中你会推荐哪些其他Vim附加组件用于C++?

编辑您将与Ctags一起使用的其他附加组件?

EDIT2您使用哪个版本的gVim标签?这有什么不同吗?

EDIT3如何增强大型和小型项目的编程体验?

vim ctags vim-macros

485
推荐指数
11
解决办法
26万
查看次数

在Vim中,如何将宏应用于一组行?

我有一堆文件.我记录了一个在一行上执行操作的宏.我想在文件中的所有剩余行上重复该宏.有快速的方法吗?

我尝试了Ctrl + Q,突出显示了一组行,然后按下了@@,但这似乎并没有成功.

vim vim-macros

211
推荐指数
3
解决办法
4万
查看次数

如何将邪恶模式(vim样式)宏保存到init.el中?

大约一年前从Vim搬过来后,我正在使用邪恶模式.我做了很多自定义,但还没有找到如何保存vim风格的键盘宏.

我可以使用与Vim完全相同的键在邪恶模式下定义和运行它们.

  • qa 开始录制宏的信.
  • q 停止录音
  • @a 运行宏的信.

我想将其中的一些保存到我的init.el文件中以便在会话之间使用,但我无法在线找到任何引用,并且找不到正确的语法.

如何将这些邪恶模式键盘宏保存到文件中?是否有一些原因我应该使用原生的Emacs键盘宏,有没有办法通过@a键运行这些?

emacs evil-mode vim-macros

32
推荐指数
1
解决办法
3331
查看次数

如何重复最后一个VIM宏?

我知道如何重复Vim中的最后一个命令.我用..

但是我怎么能重复最后一个宏呢?@q每次我想重复它都会有点不舒服.

我试过.但它只是重复宏中的最后一个命令.

有没有更短的方法呢?

vim vim-macros

27
推荐指数
2
解决办法
2559
查看次数

如何在vim中插入类似的行时最小化击键?

有时我需要在文件中插入一些类似的行,这些行仅在序列号上有所不同.例如,

print "func 1";
print "func 2";
print "func 3";
print "func 4";
print "func 5";
Run Code Online (Sandbox Code Playgroud)

使用vim,我最后使用[yypppp]复制粘贴第一行,然后更改最后四行.如果要插入更多行,这非常慢.

在vim中有更快的方法吗?


一个例子是:

初始状态

boot();
format();
parse();
compare();
results();
clean();
Run Code Online (Sandbox Code Playgroud)

最终状态

print "func 1";
format();
print "func 2";
parse();
print "func 3";
compare();
print "func 4";
results();
print "func 5";
clean();
Run Code Online (Sandbox Code Playgroud)

vim keyboard-shortcuts code-snippets vim-macros

7
推荐指数
1
解决办法
241
查看次数

如何逐步执行vim宏(如调试)?

有时当我的 vim 宏变得太长时,就会出现小错误。但是不能一步步执行宏,真的很难找到问题所在。

是否有可能单步调试 vim 宏或以任何方式调试它们?

debugging vim vim-macros

7
推荐指数
1
解决办法
726
查看次数

宏中的条件操作

在VIM宏中,如何处理条件操作?

 if condition is true
       do this
 else
       do something else
Run Code Online (Sandbox Code Playgroud)

基本的例子

文件内容:

_
abcdefg
Run Code Online (Sandbox Code Playgroud)

宏将做:

G^
if letter is one of the following letters: a e i o u
   gg$i0<ESC>
else
   gg$i1<ESC>
Gx
Run Code Online (Sandbox Code Playgroud)

重复7次缓冲区将是:

_0111011
Run Code Online (Sandbox Code Playgroud)

那么,我如何验证条件是否为真然后运行一个动作?

vim buffer vim-macros

5
推荐指数
1
解决办法
2248
查看次数

一键 vim 宏/交互式搜索并运行宏

我知道我可以使用 录制宏q<char>并运行它们@<char>。我还知道我可以使用@@.

但是@@是两个完整的按键!这也太多了吧!特别是当我多次运行该宏时。我知道,但如果我事先<num>@<char>不知道怎么办?<num>

我实际上正在寻找类似运行宏的交互式搜索和替换(请参阅Vim 中的交互式搜索/替换正则表达式?)。这可以做到吗?

vim vim-macros

5
推荐指数
1
解决办法
1018
查看次数

将寄存器递增 n 次会跳过值

我一直在使用 VIM 处理 500 个单独的文件,以使其中一个值唯一。我不会粘贴它,因为它完全是一个拼凑:)

使一个元素唯一后,我有一个文件,其中包含 500 条记录,并用空行分隔。

录制一个宏来标记第 1 行,然后找到空白并标记上一行,然后将该块写入文件,@b 增加 1。

因为我无法弄清楚如何在写入文件期间递增 @a ,所以我将其粘贴递增,然后将其拉回到 @a 。

   "ap0:let @a="""^MAywdd
Run Code Online (Sandbox Code Playgroud)

这一切都工作得很好,除了每 7 个数字增量命令会跳过三个数字,因此我得到的是 XML001.xml 到 XML0763.xml 或类似的内容,而不是 XML0001.xml 到 XML0500.XML。

为什么每 8 次调用就会跳过 3 个数字?

我只是很好奇,因为目前只要文件名是唯一的,它们的编号并不重要,但我最终需要使输出名称与 @b 的值相匹配。

编辑 疯狂猜测这与 0 到 9 寄存器丢失轨道有关?

有没有办法在插入模式下增加@a,例如

    :'a,'b w XML"Increment @A".xml 
Run Code Online (Sandbox Code Playgroud)

regex vim vim-macros

3
推荐指数
1
解决办法
547
查看次数

ccw在Vim宏中做了什么

在下面的vim宏从这篇文章中,作者给出了解释.我理解一些但不是一切.

:qccwcommand<Esc>:w<Ctl-W>jj<Enter>q
Run Code Online (Sandbox Code Playgroud)

此宏(包括记录开始/停止,如果您想知道)将把当前的'path_to_command'字改为'command',将文件写入磁盘,将窗口分割更改为grep搜索结果,向下移动一行在结果中导航到该结果的位置.

Q1.这是ccw做什么的?是否与cw(改变词语)有关但我不确定.

Q2.:w一定要写,对吗?

Q3.这是<Ctrl-W>jj做什么的?以下是:h CTRL-W_J关于什么,但我不确定我是否正在寻找正确的帮助,也不确定在这种情况下帮助的含义.

                                        *CTRL-W_J*
CTRL-W J    Move the current window to be at the very bottom, using the
    full width of the screen.  This works like closing the current
    window and then creating another one with ":botright split",
    except that the current window contents is used for the new
    window.
Run Code Online (Sandbox Code Playgroud)

vim vim-macros

1
推荐指数
1
解决办法
114
查看次数

Vim方法跳转到光标下的数字

在vim中,是否有一种更优雅的方式来跳转到光标下的行号

map gn "nyw@nG
Run Code Online (Sandbox Code Playgroud)

"gn"或其他一些关键组合?这需要确保光标位于数字串的开头.此外,根据寄存器"n"中的内容,此宏可能有点危险.

不完全确定甚至为什么这样做:@n意味着执行寄存器n(数字)中的内容,而不是将它与"G"连接起来.

具有类似功能的功能

call cursor(expand("<cword>"),1)
Run Code Online (Sandbox Code Playgroud)

似乎也没有工作.

思考?

vim vim-macros

0
推荐指数
1
解决办法
79
查看次数