[求助] 關於 Vim 中 Vim Shell 配置的一些問題
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 16:36:51
0
1
565

原題連結 :轉自匠藝社群CodingStyle

在自己的Vim上好不容易安裝上了Vim Shell,但現在還是遇到了一些設定上的問題。特地來此請教大家,先謝過了!

可參考文件:vimshell.txt on Github

終止終端機運行時快捷鍵有的時候會失靈

參考文件中說到了,是終止正在運行的腳本的快捷鍵,這個快捷鍵會觸發一個函數,這個函數會發送一個中斷請求。但是,似乎這個快捷鍵只有在兩種情況下才有效:

  • 在Vim Shell處於等待使用者輸入的時候,按下的效果相當於回車,Vim Shell會新建一行;

  • #在使用time內建指令的時候。例如在Vim Shell中輸入time python test.py,在等待的時候按下,腳本立即結束;
    但是,在其他的情況下就沒有作用了,例如在Vim Shell中輸入exe python test.py的時候,或是在Vim Command中輸入VimShellInteractive python test.py的時候,這個快捷鍵都是沒用的。這是為什麼?

如何將正在編輯的文字的路徑與全名傳送到Vim Shell

問題很簡單,但是我無法解決。現在,我可以在Vim Command中輸入VimShellInteractive python test.py來執行我正在編輯的test.py腳本。但是如果我想實現一鍵運行python腳本的快捷鍵,我應該如何配置vimrc呢?主要問題在於,我怎麼能把我正在編輯的檔案的完整路徑和檔案名稱傳給VimShell。

謝謝!
Weiming 20/5/2016

#
曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆 (1)
小葫芦

第二個問題:

下面窗口第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 q :QuickRun

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.pyQuickRun 完美相容shebang
第一張截圖的程式碼,QuickRun 會嘗試執行/usr/bin/env python /path/to/file.py

然而Windows 沒有env,也不認反斜線路徑分隔符號


當然Windows 本身也不存在shebang 的概念#!shebang
PS: 你可以在Windows 下看看PythonScripts目录下的*.py, 这些文件都有加入#!shebang總之在Windows 下寫腳本不需要加上#!shebang

PS: 你可以在Windows 下看看 PythonScripts目錄下的 *.py, 這些檔案都有加入 #!shebang

5/24/2016
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!