【问题标题】:insert a '\' in the 81st column across multiple lines (potentially less than 80 characters long) in vim?在vim中跨多行(可能少于80个字符)在第81列中插入'\'?
【发布时间】:2015-10-20 17:41:50
【问题描述】:

注意:不是this question的副本

我最近一直在编写很多 C/C++ 预处理器宏,我的小组编码风格希望我在多行宏的每行的第 81 列中放置一个“\”。例如,

#define hello_world_macro(foo, bar)                                           \
if(foo) {                                                                     \
  std::cout << bar << std::endl;                                              \
}                                                                             \

对于复杂的情况,我发现写出宏的特定情况最容易,确保它可以编译,然后将特定情况更改为宏情况。问题是在右列中添加 '\' 例如 100 多行 真的 乏味,而 C-v 将不起作用,因为当我去的时候这些行不是 80 个字符长添加'\'。在 vim 中最简单的方法是什么?

【问题讨论】:

  • 我喜欢clang-format(假设它可以处理你的风格)它会像这样格式化你的宏。

标签: vim


【解决方案1】:

使用virtualedit 选项:

:set ve=all

然后您可以将光标移动到行尾之后的任意位置,例如:81|;那么你只需要使用Ctrl-V + 向上/向下箭头,然后:r\ 在每一行添加一些反斜杠。

【讨论】:

  • 正是我想要的。不知道virutaledit
  • 如果您安装了unimpaired.vim,请使用cov 切换'virtualedit'
猜你喜欢
  • 2013-05-31
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2015-06-01
  • 2013-11-17
  • 2010-12-07
相关资源
最近更新 更多