vim - 输入时如何在vim中的每个新行前面放置一个常量前缀?

标签 vim

好吧,这是一个相当复杂的愿望。它源于这样一个事实,即我的大多数 fortran 行都包含一个“调用”语句,而且我厌倦了键入 call、call、call、call...

我想要的是以下内容:

  • 每次按回车键,下一行都会在前面自动添加一个“调用”字符串。
  • 如果我按 Tab,制表符会添加到字符串调用的前面(以便我可以缩进)
  • 如果我在行首,并按一次退格键,它将删除“call”条目,但保留选项卡。同样,如果我输入“if”、“do”、“enddo”和所有相关的
  • ,它可以自动删除条目,那就太好了。

    你知道这样的事情是否已经存在,是否可能,如果你有任何我可以借鉴的提示或类似的脚本,我将不胜感激。

    例如,在 C 风格的注释中,每次我按 Enter 时,都会在行首自动添加一个星号。执行此操作的代码在哪里(我假设它是插件功能,而不是在 vim 中硬编码)?

    最佳答案

    我遵循了您对 C 注释的提示,并提出了以下建议:

    :set formatoptions+=ro
    :set comments+=s:call,m:call,e:call
    

    如果一行以 'call' 开头,这应该自动在连续的行前面加上相同的文本。它仅适用于前一行包含“call”的情况,并且不会在您指定的关键字上删除“call”。随意使用这些选项,也许您会根据自己的喜好对其进行自定义。

    对于缩进,在正常模式下使用 >> 或在插入模式下使用 Ctrl + T。要删除行首的“call”,请使用 Ctrl + W 而不是 Backspace。

    或者,您可以使用缩写来加快打字速度:
    :iab ,, call
    

    关于vim - 输入时如何在vim中的每个新行前面放置一个常量前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10525630/

    相关文章:

    vim - gf命令的Vim问题

    regex - 如何将正则表达式捕获组存储为 vim 脚本中的变量?

    git - PowerShell,vim和别名与* .cmd(使用git时)

    vim - 可以让 ctags 遵循 #include 指令吗?

    bash - 使用 bash 命令行,如何将 "import package.name.*;"添加到许多 java 文件?

    vim - Windows键可以在Vim中映射吗?

    regex - Vim 正则表达式中的\& 模式是什么

    VIM:在光标移动时在每一行上执行 Ruby 脚本并更新缓冲区以在拆分窗口中显示

    python - VIM - 未知功能 : pythoncomplete#Complete

    vim - 如何删除 vim 中搜索模式周围的行?