emacs - 从 emacs 调用 vim 或 TextMate

标签 emacs textmate vi

我已经使用 vi 有一段时间了,在 Mac 上,我有时会使用 TextMate,最后,我发现了 emacs 的伟大之处。而且,我很可能会选择 emacs。

问题是,我有时需要其他(vi/TextMate)编辑器来做一些事情。并不是说 emacs 没有该功能,而是我现在需要该功能,并且我知道如何使用“其他”编辑器来做到这一点。其他编辑器也是如此。

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

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

添加

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

(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))))

最佳答案

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

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

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

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

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

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

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

关于emacs - 从 emacs 调用 vim 或 TextMate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3668914/

相关文章:

linux - 从外部源将文本 block 粘贴到 vi 编辑器中的最快方法

linux - 行尾处的 Vi 编辑和光标位置?

emacs - 如何克服 emacs lisp 闭包缺少局部变量的问题

haskell - Emacs 组织模式和读写 Haskell

使用 TextMate 编译 C 代码

ruby - 如何更改 Textmate 使用的 Ruby 版本?

python - Emacs Jedi 自动完成无法在 init 上工作

firefox - 让 org-protocol 在 Firefox Quantum 上运行 - `No server buffers remain to edit` 错误

css - Textmate 格式化 CSS 并排列值的快捷方式?

vi - Vimscript 中是否有获取当前操作系统的命令?