如何使用此设置执行vim内部全局命令?

时间:2016-04-22 23:10:40

标签: vim

我在MacOSx El Capitan的.vimrc中有类似下面的内容。

let g:plantuml_executable_script='java -jar /Users/megan/Downloads/plantuml.jar'

为了确保Java可用,我在命令行输入了which java,我得到了/usr/bin/java,所以我将其添加到$PATH

现在,当我通过打开plantuml文件在Vim中执行以下操作时:

:! java -jar /Users/megan/Downloads/plantuml.jar

我得到了一个很好的类图图像。

我可以在Vim中做些什么,以便我可以输入plantuml_executable_script来获取漂亮的图表?

1 个答案:

答案 0 :(得分:1)

我认为你指的是PlantUML(如果我错了,请告诉我)。如果是这样this网页可以帮助您入门。

假设您正在编辑名为sequenceDiagram.txt的文件,该文件包含以下行:

@startuml
Alice -> Bob: test
@enduml

然后使用:w命令保存它。之后你可以执行:

:!java -jar /Users/megan/Documents/plantuml.jar %

获取名为sequenceDiagram.png的文件。请注意,Vim将使用您正在编辑的文件名替换命令行末尾的%

现在,如果您想要一个名为plantuml_executable_script的命令来执行:!java -jar /Users/megan/Documents/plantuml.jar %,您可以通过执行以下命令来创建它:

:command! PlantUMLExecutableScript !java -jar /Users/megan/Documents/plantuml.jar %

请注意:

  • 使用了大写P,因为用户定义的命令必须以大写字母开头。
  • 不能使用下划线。
  • 有关详细信息,请参阅:help 40.2:help user-commands

通过这种方式,您可以执行:PlantUMLExecutableScript来运行PlantUML。但是你可以通过创建一个映射来改善:

:noremap <F2> :PlantUMLExecutableScript<CR>

所以你可以点击 F2 (或你选择的任何键)来呼叫​​:PlantUMLExecutableScript。有关详细信息,请参阅:help 05.3:help 40.1:help key-mapping