Vim脚本缩进所选代码,在选择前后插入代码
如何在Vim中编写一个动作脚本,该动作将获取所选行,缩进一次,跳转到开头并插入一些代码,然后跳转到结尾并插入一些代码Vim脚本缩进所选代码,在选择前后插入代码,vim,Vim,如何在Vim中编写一个动作脚本,该动作将获取所选行,缩进一次,跳转到开头并插入一些代码,然后跳转到结尾并插入一些代码 需要在开头和结尾插入的代码是静态的,不需要更改(至少在这一点上不需要更改)。以下关键顺序步骤应该可以工作 搜索起始行,例如/mysearch qa-开始重新编码a宏 Vxj,其中x是所需的行数 >>缩进 电子稳定控制系统 “以下关键顺序步骤应该有效 搜索起始行,例如/mysearch qa-开始重新编码a宏 Vxj,其中x是所需的行数 >>缩进 电子稳定控制系统 “假设开始文本是
需要在开头和结尾插入的代码是静态的,不需要更改(至少在这一点上不需要更改)。以下关键顺序步骤应该可以工作
a
宏x
是所需的行数a
宏x
是所需的行数--
,结束文本是***
:execute "normal gv>i---\<Esc>`>a***"
:执行“正常gv>i--\`>a***”
如果要将其记录到宏中,请说缓冲区“a”,然后从视觉选择开始,使用:
qa开始记录到a
>缩进
i插入模式
---开始文本
Esc正常模式
`>上次视觉选择的结束
在
***结束文本
Esc正常模式
q结束录制假设开始文本是
--
,结束文本是***
:execute "normal gv>i---\<Esc>`>a***"
:执行“正常gv>i--\`>a***”
如果要将其记录到宏中,请说缓冲区“a”,然后从视觉选择开始,使用:
qa开始记录到a
>缩进
i插入模式
---开始文本
Esc正常模式
`>上次视觉选择的结束
在
***结束文本
Esc正常模式
结束录音这是一个老问题,但我想我还是会有所贡献的。这就是你如何把一个段落和文字围绕它。这不完全是你想要的,但是如果你写一小段代码的话,这段代码会更整洁。从段落中的任意位置键入: >ip(缩进段) ki(跳到第一行之前,打开一个新的) 在本段开头键入所需内容 }(跳到段落最后一行之后) 在段落末尾键入所需内容 这里的警告是,正如所暗示的,这必须是一个“段落”(没有空行),如果段落后面没有新行,这将无法正常工作。为了适应这种情况,使用i而不是o,但是在插入的代码底部之前,您将是一个空行。如果你想解释这一点,你需要在vimscript中写一些东西 下面是我用来设置宏
t
以执行开始/救援/结束(例如)块的所有笔划:
qt>ipkibegin}orescueendq
当然有更好的方法,但这是保持马可水平。这是一个老问题,但我想我还是会有所贡献的。这就是你如何把一个段落和文字围绕它。这不完全是你想要的,但是如果你写一小段代码的话,这段代码会更整洁。从段落中的任意位置键入: >ip(缩进段) ki(跳到第一行之前,打开一个新的) 在本段开头键入所需内容 }(跳到段落最后一行之后) 在段落末尾键入所需内容 这里的警告是,正如所暗示的,这必须是一个“段落”(没有空行),如果段落后面没有新行,这将无法正常工作。为了适应这种情况,使用i而不是o,但是在插入的代码底部之前,您将是一个空行。如果你想解释这一点,你需要在vimscript中写一些东西 下面是我用来设置宏
t
以执行开始/救援/结束(例如)块的所有笔划:
qt>ipkibegin}orescueendq
当然还有更好的方法,但这是将其保持在马可水平。这也应该适用。在这个特殊的例子中,我希望将一些行包装在try/catch块中进行调试(我需要将错误重定向到stderr)。在这种情况下,我希望将一些行包装在try/catch块中进行调试(我需要将错误重定向到stderr)。