多次插入多行报价

时间:2016-09-25 14:27:30

标签: shell vim

我想接受这个:

system_info
show_uptime
drive_space
home_space

然后粘贴:

() {

}

以此结束:

system_info()
{

}

show_uptime()
{

}

drive_space()
{

}

home_space()
{

}

我尝试过使用视觉模式,但无济于事。

非常感谢!

2 个答案:

答案 0 :(得分:4)

您可以使用替换:

:%s/$/() {\r\r}\r

我们将整个缓冲区$中的每个行尾%替换为:

  • 一对括号,
  • 后跟一个空格,
  • 后面是一个开口支撑,
  • 后跟两个换行符,
  • 后面是一个右大括号,
  • 然后换行。

或者您只需使用p将代码段粘贴到每行的末尾。

答案 1 :(得分:0)

您可以将文本映射到某个键,然后在需要时按下该键,它会将预期的文本粘贴到行尾。

      :nmap \f A()<CR>{<CR><CR>}

将此行放在〜/ .vimrc文件中。

然后,您可以将光标停留在任意一行,然后立即按\f。光标将移动到行的末尾,并将预期的文本附加到它。