微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 从Rakefile打开Vim?

我正在为个人笔记创建日记应用程序,并在我的Rakefile中有以下内容

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

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

我试过了:

vim #{entry_name}

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

我一直在引用“6 Ways to Run Shell Commands in Ruby”.

解决方法

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

你可以:

>使用exec将当前进程替换为新进程(请注意,一旦调用了exec,Ruby / Rake进程将结束,并且在运行之后没有任何内容).>使用系统创建一个类似于s的子shell,但避免尝试抓住Vim的stdout的问题.与exec不同,在Vim终止后,Ruby将继续.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐