从Rakefile打开Vim?

rud*_*ph9 5 ruby rake

我正在为个人笔记创建一个期刊申请,并在我的内容中有以下内容Rakefile:

task :new do
  entry_name = "Entries/#{Time.now.to_s.gsub(/[-\ :]+/, '.').gsub(/.0500+/,'')}.md"
  `touch #{entry_name}`
  `echo "# $(date)" >> #{entry_name}`
end
Run Code Online (Sandbox Code Playgroud)

我想要包括的最后一部分是Vim文本编辑器的打开,但是我无法弄清楚如何打开它,就像我直接从bash终端调用它一样.

我试过了:

vim #{entry_name}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我认为这两者都将其作为后台进程打开.

我一直在引用" 在Ruby中运行Shell命令的6种方法 ".

And*_*all 10

你引用文章中,`s 在当前进程的子shell中运行命令,但真正的问题是它试图从命令运行中获取输出,这对Vim不起作用.

你可以:

  • 使用exec代替用新的(注意了Ruby /耙过程将结束,一旦你被称为当前进程exec,并没有什么它将运行后).

  • 使用system创建像一个子shell `S,但避免了试图抓住Vim的标准输出的问题.与execVim终止后不同,Ruby将继续.