ruby – 从Rakefile打开Vim?
发布时间:2020-12-17 03:46:33 所属栏目:百科 来源:网络整理
导读:我正在为个人笔记创建日记应用程序,并在我的Rakefile中有以下内容: task :new do entry_name = "Entries/#{Time.now.to_s.gsub(/[- :]+/,'.').gsub(/.0500+/,'')}.md" `touch #{entry_name}` `echo "# $(date)" #{entry_name}`end 我想要包括的最后一部分
我正在为个人笔记创建日记应用程序,并在我的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将继续. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |