2016-07-17 27 views
0

我想啓動一個任意程序,它從列出目錄中的文件的緩衝區中獲取選定的文件名參數。使用emacs中的任意文件名運行程序

我嘗試使用F3鍵來插入文件名,但是下面記錄了一個新的宏,而這相當混亂。

(define-key minibuffer-local-map [f3] (lambda() (interactive (find-file-at-point)))) 
+0

'minibuffer-local-map'用於用戶在迷你緩衝區內的某些情況。按F3時是否在迷你緩衝區? (如果是這樣,你啓動了什麼交互功能讓你進入迷你緩衝區?)如果不是,你在哪裏?在主緩衝區?任何特定的主要模式?你想使用'global-map'進行全局分配嗎?你想要一個緩衝區本地分配?你是否想將新的密鑰綁定僅添加到特定的主要模式? – lawlist

+0

任何允許我查看文件名路徑的解決方案都會有所幫助。 – sevo

+0

您的代碼錯誤地嘗試在'interactive'聲明中調用'find-file-at-point' *。不要這樣做。 ;-) – Drew

回答

1

你是問題不是完全清楚,但也許這有助於。

請參閱我的Emacs中的劃傷緩衝區的以下屏幕截圖。它包含一個函數和鍵綁定,在底部的反射區是從呼叫的結果message

enter image description here

爲了您的方便,這裏的功能和按鍵綁定重複更好的複製:

(defun command-on-file-at-point() 
    (interactive) 
    (let ((f (ffap-file-at-point))) 
    (message "File is %s" f))) 

(global-set-key [f3] 'command-on-file-at-point) 

希望,這有幫助。

+0

(global-set-key [f3](lambda()(interactive)(let((f(ffap-file-at-point)))(start-process「test」「output」「mpv」f )))) – sevo

相關問題