从emacs调用vim或TextMate

时间:2010-09-08 14:43:50

标签: emacs textmate vi

我一直在使用vi,而且使用Mac,我有时会使用TextMate,最后,我发现了emacs的优点。而且,我很可能会选择emacs。

问题是,我有时需要其他(vi / TextMate)编辑器来做某事。并不是emacs没有这个功能,只是我现在需要这个功能,而且我知道如何使用'其他'编辑器。其他编辑也是如此。

我的问题是如何从另一个编辑器启动一个编辑器。它不只是启动应用程序,而是使用我正在编辑的文件启动应用程序。

  • 如何从emacs启动vi或TextMate(配对)?
  • 如何从vi启动emacs或mate?
  • 如何从TextMate启动vi或emacs?

ADDED

在JérômeRadix回答之后,我想出了以下命令。

(defun runmate ()
  (interactive)
  (runeditor "/Users/smcho/bin/mate"))

(defun runeditor (editor)
  (let (filename (file-truename buffer-file-name))
    (setq cmd (format "%s %s" editor (file-truename buffer-file-name)))
    (save-window-excursion
      (async-shell-command cmd))))

1 个答案:

答案 0 :(得分:4)

如何从emacs启动vi或TextMate(配对)?

(async-shell-command "vi")  ;; From Emacs 23.2

(shell-command "vi &")  ;; Before Emacs 23.2

要启动TextMate,您需要安装TextMate的命令行工具,然后从emacs,它(谢谢Chetan):

(async-shell-command "mate") ;; From Emacs 23.2 

(shell-command "mate &") ;; Before Emacs 23.2

但最好的办法是同时打开所有3个编辑器并在它们之间切换。