簡體   English   中英

從Rakefile打開Vim?

[英]Open Vim from a Rakefile?

我正在為個人筆記創建日記應用程序,並在我的Rakefile有以下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}

但不幸的是,我認為這兩者都將其作為后台進程打開。

我一直在引用“ 在Ruby中運行Shell命令的6種方法 ”。

正如你引用文章所述` s在當前進程的子shell中運行命令,但真正的問題是它試圖從命令運行中獲取輸出,這對Vim不起作用。

你可以:

  • 使用exec用新的(注意了Ruby /耙過程將結束,一旦你打電話來取代當前進程exec ,並沒有什么它將運行后)。

  • 使用system營造出宛如一個子shell ` S,但避免了試圖抓住Vim的標准輸出的問題。 exec不同,在Vim終止后,Ruby將繼續。

你需要傳遞tty作為退格等的標准輸入才能在vim中正常工作:

exec("</dev/tty vim a b")

很明顯,反引號( ` )不起作用,但我遇到了來自腳本的system / exec問題。

首先我得到Vim: Warning: Input is not from a terminal ,然后我看到^? 當我使用退格鍵時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM