原題連結 :轉自匠藝社群CodingStyle
在自己的Vim上好不容易安裝上了Vim Shell,但現在還是遇到了一些設定上的問題。特地來此請教大家,先謝過了!
可參考文件:vimshell.txt on Github
參考文件中說到了,<C-c>是終止正在運行的腳本的快捷鍵,這個快捷鍵會觸發一個函數,這個函數會發送一個中斷請求。但是,似乎這個快捷鍵只有在兩種情況下才有效:
在Vim Shell處於等待使用者輸入的時候,按下<C-c>的效果相當於回車,Vim Shell會新建一行;
#在使用time內建指令的時候。例如在Vim Shell中輸入time python test.py
,在等待的時候按下<C-c>,腳本立即結束;
但是,在其他的情況下就沒有作用了,例如在Vim Shell中輸入exe python test.py
的時候,或是在Vim Command中輸入VimShellInteractive python test.py
的時候,這個快捷鍵都是沒用的。這是為什麼?
問題很簡單,但是我無法解決。現在,我可以在Vim Command中輸入VimShellInteractive python test.py
來執行我正在編輯的test.py腳本。但是如果我想實現一鍵運行python腳本的快捷鍵,我應該如何配置vimrc呢?主要問題在於,我怎麼能把我正在編輯的檔案的完整路徑和檔案名稱傳給VimShell。
謝謝!
Weiming 20/5/2016
高洛峰2017-05-16 16:38:51
第二個問題:
下面窗口第47行有答案
補充:你可以試試這個https://github.com/thinca/vim-quickrun
可以自動識別你的文件類型調用相應的解釋器,
前提是不要在Windows 下寫#!shebang
5/22 /2016
QuickRun 補圖
嗯,剛剛試了,js 也可以 q 快速運行, Java 可以自動 javac Class.java 然後 java Class
都不需要自己寫文件名,其他文件類型也可以自己定義
我自己改了一點點設定
let g:quickrun_config = {}
let g:quickrun_config._ = {
\ 'outputter/buffer/split': ''
\ }
autocmd FileType quickrun resize 10
map <Leader>q :QuickRun<CR>
5/24/2016
shebang 是指腳本檔案第一行
#!/bin/bash
這個樣子的內容,像是我第一張截圖 #!/usr/bin/env python
,在Linux 下 shell 會呼叫這個程序,並將腳本檔案當作第一個參數。 #!/usr/bin/env python
,在Linux 下 shell 会调用这个程序,并将脚本文件作为第一个参数。
QuickRun 完美兼容 shebang
第一张截图那样的代码,QuickRun 会尝试运行 /usr/bin/env python /path/to/file.py
QuickRun 完美相容shebang
第一張截圖的程式碼,QuickRun 會嘗試執行/usr/bin/env python /path/to/file.py
當然Windows 本身也不存在shebang 的概念#!shebang
PS: 你可以在Windows 下看看 PythonScripts
目录下的 *.py
, 这些文件都有加入 #!shebang
總之在Windows 下寫腳本不需要加上#!shebang
PythonScripts
目錄下的*.py
, 這些檔案都有加入#!shebang
5/24/2016🎜