代码之家  ›  专栏  ›  技术社区  ›  JKU

vimrc文件中的“%:r”是什么?

  •  6
  • JKU  · 技术社区  · 7 年前
    1. 是什么 %:r 在vimrc文件中?
    2. 两者的区别是什么 :gcc :!gcc ?
    3. 是什么 % 在vimrc文件中?

    我正在学习vi/vim。。。但这对我来说很难。 我想要有关vimrc操作的信息。我在哪里可以买到??

    我真的很感激所有的答案。

    2 回复  |  直到 6 年前
        1
  •  12
  •   romainl    7 年前

    让我们按顺序回答您的问题

    1. 两者的区别是什么 :gcc :!gcc ?

      :something 是一个 ex命令 . 您可以在下面找到可用ex命令的完整列表 :help ex-cmd-index 并使用 :help :something .

      :gcc 不是现有的ex命令。

      :!something 调用外部命令 something 所以 :!通用条款 会打电话 gcc .

    2. 是什么 % 在vimrc文件中?

      这不是你的 vimrc . 当用作外部命令的参数时,它表示当前文件名。假设当前文件名为 foobar.c , :!gcc % 扩展为 gcc foobar.c 在被传递到外壳之前。

      看见 :help c_% .

    3. 是什么 %:r 在vimrc文件中?

      再说一次,这不是你的 vimrc公司 . :r 是应用于当前文件名的文件名修饰符。假设当前文件名为 福巴。c , %:r 将扩展到 foobar .

      看见 :help filename-modifiers .

    看起来您正在尝试理解类似以下命令的含义:

    :!gcc % -o %:r
    

    假设当前文件名为 福巴。c ,应扩展到:

    gcc foobar.c -o foobar
    

    在发送到shell并导致 foobar公司 可执行文件位于 福巴。c .

        2
  •  0
  •   network_dios    4 年前
    1. 在解释%:r之前,我们需要知道%指的是什么。vim命令中的“%”符号表示当前文件。例如,如果您想编写一个vim命令来编译当前文件,比如说一个cpp文件,那么您可以执行类似g++-o%:r.out的操作。此处%指的是您正在使用的当前文件。
    2. :gcc表示您正试图在vim编辑器内运行命令,并且:!gcc意味着在感叹号之后键入的任何内容都将在终端中运行。
    3. 解释了%那么现在是什么:r?好的,:r用于读取另一个文件%:r的内容。其中%:r.out指的是一个仅通过追加而重命名的文件。在%(当前)文件名称的末尾。 所以,如果你做一些像这样的事情:!./%r、 然后运行/执行您已经创建的编译文件。