簡體   English   中英

直接從Emacs中的ido啟動magit

[英]Launch magit directly from ido in Emacs

我想推出magit直接從IDO 即,我想用ido-find-file啟動ido,導航到我要運行magit的目錄,按一些組合鍵,例如Cx g ,並退出ido並在該目錄中打開magit。

我目前只是按Cd打開目錄中的dired,然后按Cx g打開magit,但我想避免使用多余的Cd

我設法向ido-completion-map添加新的鍵組合:

(add-hook 'ido-minibuffer-setup-hook
          (lambda () (interactive)
            (define-key ido-completion-map (kbd "C-x g") 'arvid-ido-enter-magit-status)
            ))

但是以下函數似乎不起作用,只是打開了Dired而不是magit:

(defun arvid-ido-enter-magit-status ()
  "Drop into `dired' from file switching."
  (interactive)
  (setq ido-exit 'dired)
  (magit-status default-directory)
  (exit-minibuffer))

Magit已經帶有這樣的功能:

(defun ido-enter-magit-status ()
  "Drop into `magit-status' from file switching.

To make this command available use something like:

  (add-hook 'ido-setup-hook
            (lambda ()
              (define-key ido-completion-map
                (kbd \"C-x g\") 'ido-enter-magit-status)))

Starting with Emacs 25.1 the Ido keymaps are defined just once
instead of every time Ido is invoked, so now you can modify it
like pretty much every other keymap:

  (define-key ido-common-completion-map
    (kbd \"C-x g\") 'ido-enter-magit-status)"
  (interactive)
  (with-no-warnings ; FIXME these are internal variables
    (setq ido-exit 'fallback fallback 'magit-status))
  (exit-minibuffer))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM