[vim ] 如何在執行外部指令時不凍結vim
看板Editor (編輯器(vim/emacs))作者Holocaust123 (奔跑的蝸牛)時間14年前 (2011/01/09 16:35)推噓3(3推 0噓 6→)留言9則, 5人參與討論串1/1
舉個例子
:!python foo.py
在vim中用上述指令執行foo.py這支程式
foo.py在執行時vim會freeze(游標什麼的都不能動)
要等到foo.py結束才能使用vim
這問題在Windows下可以這樣解:
http://vim.wikia.com/wiki/Execute_external_programs_asynchronously_under_Windows
(:!start cmd /c python foo.py & pause<CR> )
但在Linux下這解法似乎沒用
請問有人知道該怎麼辦嗎 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.32
推
01/09 20:02, , 1F
01/09 20:02, 1F
似乎不行耶...附上程式碼 & 錯誤訊息
// foo.py
input = raw_input('input something:')
print 'you input:' + input
:!python % 沒問題, 但 :!python % &會有錯誤(看不太懂...):
// output
input something:Traceback (most recent call last):
File "foo.py", line 1, in <module>
input = raw_input('input something:')
EOFError: EOF when reading a line
Press ENTER or type command to continue
// 截圖
http://www.dumpt.com/img/viewer.php?file=qmtq01aq80gl2w1pfho1.jpg
→
01/09 21:23, , 2F
01/09 21:23, 2F
→
01/09 21:23, , 3F
01/09 21:23, 3F
→
01/09 21:27, , 4F
01/09 21:27, 4F
→
01/10 10:10, , 5F
01/10 10:10, 5F
→
01/10 10:11, , 6F
01/10 10:11, 6F
→
01/10 10:11, , 7F
01/10 10:11, 7F
謝謝版主大人~
我試了一個下午
想到一個不需寫script餵stdin的方法:
:!screen bash -c "python \"%\" ; read -p \"press any key to continue...\""
※ 編輯: Holocaust123 來自: 140.112.30.32 (01/10 18:25)
推
01/10 19:23, , 8F
01/10 19:23, 8F
推
01/16 17:03, , 9F
01/16 17:03, 9F
Editor 近期熱門文章
PTT數位生活區 即時熱門文章