2013-07-30 31 views
2

我的場景:當我決定切換任務並使用sql-interactive模式運行mysql作爲子流程時,我正在遠程編輯文件。 Tramp嘗試從遠程計算機啓動mysql客戶端,未安裝它。如何獲得流氓使用本地版本的可執行文件

我想配置emacs,因此它總是在本地運行某些可執行文件(如mysql),而不是從tramp遠程計算機運行。我怎樣才能做到這一點?

+0

我通常只是切換到某個緩衝區,在本地打開,然後Tramp放棄在遠程計算機上運行的東西(或者,也許我需要使用本地shell切換到緩衝區)。無論如何,這可能不是最好的解決方案,但通常不是問題。 – 2013-07-30 15:51:55

回答

3

如果變量default-directory(如果設置爲緩衝區本地)的值爲Tramp格式,則流水線將啓動。你可以做這樣的事情,以確保它被重置爲指向本地主目錄,無論你需要運行mysql:

(defadvice sql-mysql (around sql-mysql-around activate) 
    "Reset to local home, then connect" 
    (let ((default-directory "/home/me")) 
    ad-do-it)) 

的代碼假定您在使用sql-mode啓動mysql的。

相關問題