从 emacs 调用 vim 或 TextMate

2023-12-04

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

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

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

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

ADDED

在 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 个编辑器并在它们之间切换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 emacs 调用 vim 或 TextMate 的相关文章

  • 如何根据文件位置运行钩子

    我参与了使用选项卡的 python 项目 但是我没有在我编写的所有其他代码中使用它们 在该特定项目中使用它们至关重要 项目位于特定目录下的一个目录中 IE main folder project1 project2 project3 etc
  • 如何更改 emacs 上的光标颜色

    我对 Emacs 的颜色做了一些更改 现在唯一的问题是光标在黑色背景上为黑色 我必须更改它 我该怎么办 如果您运行的是最新版本的 emacs 您可以使用 Set cursor color to white set cursor color
  • 如何使用 emacs prettify-symbols-mode?

    我有 emacs 版本 25 0 我启用prettify symbols mode 然后输入 lambda t 但它并不能美化 我该如何使用这个模式 还有哪些符号可用以及如何配置它 任何参考都值得赞赏 Edit 什么也没发生在scratch
  • 如何在 VS TextMateRules 中将标记设为粗体+斜体

    在 Visual Studio Code 中 我编辑 Markdown 文件 在编辑器中标记的文本 bold 被渲染bold以及标记的那个 italic 呈现在italic 但文字标记 bold and italic 简单地呈现为itali
  • 在 Emacs Paredit 中交换括号和方括号

    如何在 paredit 模式下定义交换括号和方括号的命令 所以任务就是把它变成这样 例如 blah a b c 进入这个 blah a b c 使用 paredit 模式 移至表达式的开头 a 进而 C M SPC
  • 如何使用 Emacs 通过 HTTP 打开远程文件?

    大多数开源软件都通过某些 HTTP 服务公开其代码 我想从 Emacs 打开并浏览此类代码 但 AFAICS trapmp 只允许ssh and ftp 因此 我的第一个问题是如何打开 HTTP URL 以便在 Emacs 中进行读取 然后
  • Emacs 行编号性能

    我试过了linum and nlinum 两者对于超过 100k 行的文件的性能都很糟糕 for x in 1 100000 do echo x done gt 100k txt emacs q 100k txt M x load libr
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到
  • Emacs 在多个文件中查找并替换正则表达式 (find-name-dired + Q),不保存我的缓冲区?

    我不明白这是怎么回事 我已经在整个目录中进行了搜索和替换 使用 M x 查找名称 dired RET 选择我的项目的根目录 输入 rb 作为要匹配的文件名 按 t 选择找到的所有文件 按 Q shift Q 开始搜索 替换 输入 交易 作为
  • Emacs -- 修改 `fill-column-indicator.el` 以在空白处显示

    我正在寻求一些帮助来修改fill column indicator el由 Alp Aker 设计 以便垂直线在空白处可见 无论空白模式是否处于活动状态 以下是该库的 Github 存储库的链接 https github com alpak
  • 如何在 emacs 中自动回答是或否

    I binded function semantic symref to key C c C r like this global set key kbd C c C r semantic symref everytime I presse
  • Org-Mode 中的 FlySpell 可以像 auctex 一样识别 Latex 语法

    原始回复 我试图弄清楚在 auctex 模式下乳胶如何在打开 Flyspell 的情况下似乎不会突出显示任何乳胶功能 这是一个自定义词典文件还是如何实现的 这可以很容易地合并到组织模式文件中 这样它就不会突出显示将导出的插入乳胶代码吗 编辑
  • 在 Vim 中隐藏所有(不)匹配的行

    是否可以在 vi 或 Vim 中显示 隐藏所有匹配行 不突出显示 而只显示那些行 例如 我有一个带有单词单词的文本ERROR 如何让它只显示包含以下内容的行ERROR以及如何只显示线条而不显示ERROR 有解决办法吗不删除所有匹配的行然后撤
  • SBCL初始化文件

    我想知道应该在哪里保存 sbclrc 文件 我尝试将其保存在我的 sbcl 文件夹中 但它似乎不起作用 我使用的是 Windows XP 和 Emacs 版本 23 我正在尝试设置 asdf install 这就是为什么我要修改初始化文件
  • Mac OS High Sierra 下无法打开 pty

    我的问题的本质是 用户程序如何在 Mac OS High Sierra 上打开 pty 例如 dev ptyp0 设备名称的标准 open 似乎不起作用 尽管它的保护是 crw rw rw 上下文是在 Mac OS 下运行 Emacs 在
  • Emacs 是否具有单词和行补全功能(如 Vim 的插入模式补全功能)?

    Vim 完成单词和行CTRL X P and CTRL L 有一个名为 Company mode 的 Emacs 插件 但该插件会干扰 Emacs 中的许多内容并导致冲突 与全局 linum 和 yasnippets 我知道我可以在 Ema
  • 如何在Emacs Lisp中脱离maphash?

    我需要提前退出maphash当我找到我要找的东西时 defun find in hash str hash let match nil maphash lambda key value if string prefix p str key
  • 对齐 emacs lisp 中的正则表达式

    我正在尝试使用以下 elisp 函数来对齐文本 defun align Align lines by interactive align regexp region beginning region end 我正在尝试对齐以下文本 offe
  • 在 Vim 中,选择、删除或注释掉大部分多屏幕文本的最佳方法是什么?

    在像 Eclipse 这样的 IDE 中选择延伸到多个屏幕的大量文本相当容易 因为您可以使用鼠标 但是最好的方法是什么 例如 选择并删除多屏幕文本块或写入例如三个大方法导出到另一个文件 然后在 Vim 中删除它们以进行测试 当通过 putt
  • 要求 Emacs 更清楚地突出显示哪个窗口(窗格)具有焦点(光标)

    假设我将 Emacs 窗口分成多个图块 例如 When I switch between tiles aka windows in Emacs to edit my files e g using C x o I can see on wh

随机推荐

  • 如何规范 Git 中的工作树行结尾?

    我克隆了一个行结尾不一致的存储库 我添加了一个 gitattributes它为我想要规范化的文件设置文本属性 现在 当我提交更改时 我收到消息 warning CRLF will be replaced by LF in FILE The
  • C# - 为什么这个变量在通过方法后没有被更改[重复]

    这个问题在这里已经有答案了 所以我显然对编程相当陌生 但我试图找出为什么这不起作用 我正在尝试获取字符串 myname 并将 Mr 添加到其开头 我知道我可以简单地做到这一点myname Mr myname但是我试图了解如何使用方法来更改变
  • n 组位的高效随机排列

    对于产生精确的位模式的问题n设置位 我知道两种实用的方法 但它们都有我不满意的局限性 首先 您可以枚举在预先计算的表中设置了那么多位的所有可能的字值 然后在该表中生成一个随机索引以挑选出可能的结果 这样做的问题是 随着输出大小的增长 候选输
  • 使用电子邮件地址将文件上传到云端

    所以我不确定这是否可能以及是否有意义 我正在尝试在我的应用程序中学习和使用云空间 因此 作为示例 我尝试创建一个应用程序来在 Google Drive 中上传文件 我注册了我的应用程序并使用了谷歌提供的一些参考资料 我现在可以上传文件了 我
  • 我可以有一个没有聚集索引的主键吗?另外我可以有多值聚集索引吗?

    各位 我想了解以下问题的答案 我可以有一个没有聚集索引的主键吗 我知道当我们在列上创建主键约束时 它默认创建一个聚集索引 那么在这种情况下 我应该如何停用聚集索引 我可以有一个包含多个列的聚集索引吗 就像在非聚集中一样 我可以为单个非聚集索
  • Django:如何为允许多个文件上传的字段编写干净的方法?

    我有一个用于上传图像的表单 如果我遵循 Django 的标准清理表单的特定字段属性 这就是我的 clean 方法通常的样子 class UploadImagesForm forms Form image forms FileField de
  • 填充二维 numpy 数组给定索引之间的值

    给定一个 numpy 数组 a np zeros 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • Windows 上需要 Mono 3.0 的配置文件

    是否有一个教程告诉我如何编写 mono 3 0 的配置文件 以便我可以使用它 微软视觉工作室 2010 其背后的原因是我的应用程序使用绑定列表 当我尝试在 Mono 中运行时 我收到此错误 WindowsFormsApplication2
  • 我正在学习java中的异常处理(基本上是继承)

    看看下面的程序 import java io import java rmi class class1 public void m1 throws RemoteException System out println m1 in class
  • for循环内的回调完成后如何执行函数?

    我在搜索函数中有一个 for 循环 其中有一个在循环内执行回调的函数 我想在循环之后以及所有回调完成之后执行 BUILD 函数 我不知道如何做到这一点 因为循环在所有回调完成之前完成 回调是获取数据的 API 请求 我想使用该数据进行 BU
  • 使用 Angular formArray 动态添加表单字段

    我有一些表单字段 想要动态添加更多来自另一个视图的字段 用户可以在其中输入表单字段类型 长度和名称 我需要使用这些值构造表单字段 我如何设法构建一个字段 textbox name is one 但是如果我尝试添加另一个字段 textbox
  • pandas中如何判断某列是否包含某些元素

    我想检查一下该列是否app包含元素myList import pandas as pd df pd DataFrame app a b c e f myList b f print df Output app 0 a b c 1 e f E
  • Android - 地图标记绕 X 轴和 Y 轴的动画旋转

    我想知道是否可以为 Google 地图标记沿 x 轴和 y 轴旋转设置动画 就像我们如何使用 ObjectAnimator 围绕 x 轴和 或 y 轴旋转 ImageView 一样 显然 人们可以顺时针旋转 改变 标记的方向 即沿着 z 轴
  • 如何为服务器启用 AVIF 支持

    AVIF 图像格式看起来是一种非常有前途的格式 如何在网络服务器上编译和使用它 我的具体是 Ubuntu 18 04 Nginx 但我正在寻找如何编译和开始转换图像的要点 AVIF似乎是一种新格式 并没有找到太多信息 但是 让我们立即看看调
  • 单击切换下拉菜单

    我正在尝试创建一个下拉菜单 该菜单在单击而不是悬停时激活 到目前为止 我已经使用一点 JavaScript 进行了单击操作 但是虽然子菜单显示得很好 并且如果单击另一个菜单 则其他子菜单会隐藏 但如果单击其父菜单 我无法弄清楚如何隐藏子菜单
  • 方向改变时 UIScrollview 内容大小

    我有一个带分页的滚动视图 在 viewDidLoad 中 我检查当前方向是否为横向 然后将其内容大小的高度设置为 440 if UIDeviceOrientationIsPortrait UIDevice currentDevice ori
  • 如何检查Android应用程序是在后台运行还是在前台运行?

    例如我的项目中有这个代码 public class Utilities extends Application private static int stateCounter public void onCreate super onCre
  • 即使没有任何错误,我的discord.js 机器人也不会回复用户消息[重复]

    这个问题在这里已经有答案了 我的discord js 机器人版本为13 1 0 我的节点版本为16 7 0 我在终端中输入了这些命令 npm init创造包 json and npm install discord js安装不和谐包 我把代
  • R:apply() 与 for 循环的混淆

    我知道我应该避免 for 循环 但我不太确定如何使用 apply 函数来做我想做的事情 这是我正在尝试做的事情的一个稍微简化的模型 因此 本质上我有一个很大的预测变量矩阵 并且我想在索引预测变量的每一侧使用 5 个预测变量的窗口来运行回归
  • 从 emacs 调用 vim 或 TextMate

    我使用 vi 已经有一段时间了 在 Mac 上 我有时会使用 TextMate 最后 我发现了 emacs 的伟大之处 而且 我很可能会选择 emacs 问题是 我有时需要其他 vi TextMate 编辑器来做一些事情 并不是说 emac