例如:
如果我当前的目录是/ temp / src / com。在vim中编辑的文件来自/java/test.And现在我想将文件的路径添加到路径环境中。那么如果在vim中有一个像set path+=$(filepath)
这样的cmd
案例2:
在终端中运行make
将开始编译项目,它将输出有关此编译的日志。现在我想使用像r !make
这样的命令将输出的日志读入vim。
答案 0 :(得分:3)
您可以使用$MYVAR
语法引用环境变量。要设置系统环境变量,请使用
let $MYVAR=foo
e.g。
let $PATH = "/foo" . $PATH
请参阅http://vim.wikia.com/wiki/Environment_variables或:help :let-environment
然后您可以使用filename-modifiers获取当前缓冲区中文件的目录名:
let $PATH = expand("%:p:h") . $PATH
要阅读并解析vim中的编译输出,您可能有兴趣查看quickfix mode
使用:make
代替:!make
答案 1 :(得分:3)
1)将路径拉入当前Vim缓冲区:
:r!echo \%PATH \%
追加到路径:
:让$ PATH =“C:\ Test”。 $ PATH
2)这个问题含糊不清,因为它取决于你的makefile行为。 如果你的Makefile只是打印到控制台,那么,:r make应该可以解决问题。 如果您的make文件实际上明确地写入文件,那么就没有自动方式。 你必须编写一个自定义的vimscript函数来提取日志。
1)第2部分 我不知道在一行中有什么方法可以做到,但这是实现所需功能的一种方法。
:redir @a“重定向输出以注册一个
:PWD
:redir END“停止重定向
:让@a =替换(@a,'\ n','','g')“删除换行符 :让$ PATH = @ a。“:”。 $ PATH
如果您需要经常使用它,您应该可以将它包装在一个函数中。