作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 shell 函数生成文件名并将其传递给 tabnew
。
如何获得与以下内容等效的工作,其中 echo foo
可以被任意外部命令替换?
tabnew $(!echo foo)
需要明确的是,所需的结果是对 shell 命令进行评估,并将其输出传递给 tabnew
。在上面的示例中,该命令的计算结果应为 tabnew foo
。
最佳答案
您可以使用 execute
来完成此操作和 system
制作 tabnew
命令。
这是一个您可以修改的函数,也许可以粘贴到您的 .vimrc
中:
function! TabNewFoo()
execute "tabnew ".system('echo "foo"')
endfunction
调用方式:
:call TabNewFoo()
或者,更通用的形式:
function! TabNewFoo(command)
execute "tabnew ".system(a:command)
endfunction
调用方式:
:call TabNewFoo("echo 'foo'")
关于vim - 是否可以将外部命令的输出传递给 `:tabnew` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48468447/
我正在尝试使用 shell 函数生成文件名并将其传递给 tabnew。 如何获得与以下内容等效的工作,其中 echo foo 可以被任意外部命令替换? tabnew $(!echo foo) 需要明确
在我的 .bashrc 中,我有以下简短脚本来获取当前日期。 D(){ date +'%F'; } 在我的 .vimrc 中,我有以下两行来制作它,以便我可以使用这个函数。 set shell=bas
特别是,假设我位于包含 Foo.java、Foo.class、Bar.java 和 Bar.class 的目录中。 假设我在 Foo.java 上打开了 vim,我想转到 Bar.java。 我很自然
我是一名优秀的程序员,十分优秀!