用 emacs 替换 ssh+screen+editor

2024-04-01

我的目标是远程编写代码。到目前为止,我一直在使用 ssh + screen + 编辑器(例如 vim)。

我知道使用本地 emacs(或 vim),可以编辑远程文件。但是,一旦本地 emacs 关闭并且我想重新打开它(或使用另一台计算机打开它),我需要再次重新打开所有缓冲区。

有没有办法在远程计算机上设置 emacs 服务器,并且我可以使用本地 emacs 客户端简单地访问它?这本质上是模拟屏幕行为。


我想你可能会在这里找到答案;

http://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html http://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html

根据http://www.gnu.org/software/emacs/manual/html_node/emacs/emacsclient-Options.html#emacsclient-Options http://www.gnu.org/software/emacs/manual/html_node/emacs/emacsclient-Options.html#emacsclient-Options ;

Emacs 服务器通常使用称为“本地套接字”的操作系统功能来侦听连接。某些操作系统,例如 Microsoft Windows,不支持本地套接字;在这种情况下,Emacs 将改用 TCP。当您启动 Emacs 服务器时,Emacs 会创建一个服务器文件,其中包含 emacsclient 建立连接所需的一些 TCP 信息。默认情况下,服务器文件位于 ~/.emacs.d/server/ 中。在 Microsoft Windows 上,如果 emacsclient 在那里找不到服务器文件,它会在 APPDATA 环境变量指向的目录的 .emacs.d/server/ 子目录中查找。您可以通过“-f”或“--server-file”选项告诉 emacsclient 使用特定的服务器文件,或者通过设置 EMACS_SERVER_FILE 环境变量。

即使本地套接字可用,您也可以通过将变量 server-use-tcp 设置为 t 来告诉 Emacs 使用 TCP。 TCP 的优点之一是服务器可以接受来自远程计算机的连接。为此,您必须 (i) 将变量 server-host 设置为运行 Emacs 服务器的计算机的主机名或 IP 地址,并且 (ii) 向 emacsclient 提供服务器文件。 (执行后者的一种便捷方法是将服务器文件放在网络文件系统(例如 NFS)上。)

当 Emacs 服务器使用 TCP 时,变量 server-port 确定要侦听的端口号;默认值 nil 表示在服务器启动时选择随机端口。

当然,请确保调整服务器端的防火墙设置,以便客户端可以连接到运行 emacs-server 的计算机。

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

用 emacs 替换 ssh+screen+editor 的相关文章

  • 如何让 js2-mode 在 Emacs 中使用空格而不是制表符?

    我在用js2 mode http code google com p js2 mode 在 Emacs 中编辑 Javascript 但我似乎无法让它停止使用制表符而不是空格进行缩进 我的其他模式工作正常 只是遇到 js2 问题 你有 se
  • 如何去掉 CR (^M) 并保留 LF (^J) 字符?

    我正在尝试使用 Hexl 模式手动从文本文件中删除一些特殊字符 但不知道如何在 Hexl 模式下删除任何内容 我真正想要的是删除回车符并保留换行符 Hexl 模式是执行此操作的正确方法吗 无需寻找替代 就用吧 M x delete trai
  • 如何在保存之前对 Emacs 中更改的行执行操作?

    我想添加一个 before save hook 我可以在其中仅对自上次保存以来更改的行执行一些操作 例如 删除尾随空格 检查缩进等 我不想对整个文件执行此操作 并且我知道每个选项都有单独的选项 只是为了删除所有更改行的尾随空格 等等 但我想
  • 如何更轻松地在 Emacs 中的缓冲区之间切换?

    我最近开始使用 emacs 并且大部分时间我都很享受使用它 我唯一不喜欢的是在缓冲区之间切换 我经常打开一些缓冲区 并且我已经厌倦了使用C x b and C x C b 是否有任何软件包可以使缓冲区之间的切换变得更容易 我调查过emacs
  • 更改组织模式新一天开始的时间

    我使用组织模式来计时我的工作 有时我会工作几个小时到午夜 例如 我记录的时间从 2013 年 6 月 3 日晚上 10 点开始 到 2013 年 6 月 4 日凌晨 2 点结束 组织模式在凌晨 0 点进行划分 开始新的一天 但如果将 0am
  • 有没有办法使用 emacs 安装 R 包?

    我正在使用 ESS 但每次需要安装新软件包时 我都必须使用 R gui 有没有办法在不离开 emacs 的情况下做到这一点 From help Startup Example of Rprofile site local add MASS
  • 在 Emacs org-mode 中设置本地文件变量

    在特定的组织模式文件中 我不希望继承标签 我以为放 org use tag inheritance nil因为第一行可以解决问题 但这似乎不起作用 缺少手动执行setq声明 我怎样才能做到这一点 你缺少一个尾随 在标题评论中 尝试这个 or
  • 在 Emacs 中定义新的工具提示

    我想向 emacs 添加自定义工具提示 更具体地说 每当我将鼠标悬停在符号 函数 变量 名称上时 用我的鼠标我想看到带有符号定义的工具提示 我知道我可以使用 cscope 这样的工具找到此类信息 但我不知道如何找到 将 cscope 的输出
  • Emacs 关于 python 模式函数的默认提示

    在 python 模式下 有一个名为 py execute region 的函数 它将突出显示的代码区域发送到 Python 缓冲区进行评估 评估后 光标位于 Python 缓冲区中 但我希望它保留在脚本缓冲区中 以便我可以继续生成更多代码
  • 你能让 vi 在打开时“前进”屏幕吗?

    我经常在 vi 中工作 暂停 vi 在 cli 上运行一些东西 然后返回到 vi 来处理结果 例如 修复运行 cli 命令时出现的错误 但是 当我 fg vi 时 vi 会 擦除 当前终端缓冲区 并且我在回滚缓冲区中看不到终端输出的 最后一
  • 在 emacs 主要模式下正确突出显示

    我正在为一种语言开发 emacs 主要模式 又名mydsl 然而 由于某种原因 使用 xahlee 网站上的技术似乎不起作用 可能是较旧的 emacs 方言 我正在解决的关键问题是 1 突出显示评论不起作用以及 2 使用regexp opt
  • 如何根据文件位置运行钩子

    我参与了使用选项卡的 python 项目 但是我没有在我编写的所有其他代码中使用它们 在该特定项目中使用它们至关重要 项目位于特定目录下的一个目录中 IE main folder project1 project2 project3 etc
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Emacs Lisp 中“URL 解码”字符串?

    我有一个像 foo 20bar 这样的字符串 我想要其中的 foo bar 我知道 Emacs Lisp 中必须有一个内置函数来解码 URL 编码的字符串 查询字符串 但我今天找不到它 无论是在我的文档中还是在我的文档中都找不到它 lisp
  • 带有 Viper 和 Vimpulse 的 Emacs 缺少哪些 Vim 功能?

    Emacs 的一些重要功能在 Vim 中是缺失的 例如 comint 模式 并且没有脚本 插件可以替代它们 与 Emacs 相比 Vim 也有一些优点 例如模式编辑和通常更好的默认快捷键 然而 Viper 模式让我两者兼而有之 Vimpul
  • Emacs/Swank/Paredit for Clojure 的温和教程

    我要转向 Emacs 来工作Clojure http en wikipedia org wiki Clojure Lisp 为了能够执行以下操作 我需要在 Emacs 上设置哪些信息 自动匹配 生成相应的右括号 自动缩进 Lisp Cloj
  • 将字符定义为单词边界

    我已经定义了 字符在乳胶模式下充当单词组成部分 我对结果非常满意 唯一困扰我的是像这样的序列 alpha beta被视为单个单词 当然 这是预期的行为 有没有办法让 emacs 将特定字符解释为单词 starter 这样 它将始终被视为其后
  • 如何使用 Emacs 通过 HTTP 打开远程文件?

    大多数开源软件都通过某些 HTTP 服务公开其代码 我想从 Emacs 打开并浏览此类代码 但 AFAICS trapmp 只允许ssh and ftp 因此 我的第一个问题是如何打开 HTTP URL 以便在 Emacs 中进行读取 然后
  • 将剪贴板上的图像粘贴到 Emacs Org 模式文件而不保存它

    由于我使用 Emacs Org 模式作为研究日志 有时我想通过屏幕截图来跟踪某些内容 但我绝对不想保存它们 所以我想知道是否有任何方法可以将这些数字插入到我的组织模式文件中 就像使用 word 从剪贴板复制它们一样 您想要的确切功能目前尚未
  • 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

随机推荐

  • 如何将 AWS WAF 与应用程序 ELB 结合使用

    我需要对 AWS 上托管的 Web 应用程序使用 AWS WAF 以为其提供额外的基于规则的安全性 我找不到任何方法直接将 WAF 与 ELB 结合使用 并且 WAF 需要 Cloudfront 添加 WEB ACL 以根据规则阻止操作 因
  • 在Interface Builder中设计UITableView的节标题

    我有一个xib文件带有UITableView我想使用委托方法添加自定义节标题视图tableView viewForHeaderInSection 有没有可能设计成Interface Builder然后以编程方式更改其一些子视图属性 My U
  • 遗留代码中的泛型

    我们有相当多的代码刚刚跳转到 Java 5 我们一直在那些打算在 Java 5 版本中发布的组件中使用泛型 但是剩下的代码当然充满了原始代码类型 我已将编译器设置为生成原始类型错误并开始手动清除它们 但按照目前的速度 这将需要very很长时
  • 什么样的日志记录对您的应用程序来说是好的日志记录?

    因此 我们已经讨论了在我的工作地点进行登录 我想知道这里的一些人是否可以给我一些关于你们的方法的想法 通常我们的场景是 根本没有日志记录 并且大多数是 NET 应用程序 winforms WPF 客户端通过 Web 服务进行通信或直接与数据
  • 如何知道推送通知发送状态

    我正在应用程序中使用推送通知 一切都很顺利 有时从服务器发送的消息但在应用程序端它没有收到 在这种情况下 我必须知道缺少哪条消息无法传递 应用程序未收到 有没有办法从服务器端知道应用程序收到了哪些消息 哪些没有收到 不 推送通知是一劳永逸的
  • 如何在 Laravel Passport 中获取刷新令牌?

    我正在使用 Laravel 6 7 并尝试使用Passport用于用户身份验证 我可以在用户注册时为他们创建访问令牌 这是代码 user User create input user gt createToken auth token 正如
  • NUnit 与 Windows Phone 7 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想使用 NUnit 对我的 Windows Phone 7 库进行单元测试 是否有与 Windows Phone 7 兼容的 NUnit
  • 通过 React App 的数据表按钮

    在 React 中工作时 我在尝试添加 Excel 导出按钮时遇到了问题 我认为它与导入有关 但在这方面我在网上找不到太多与 React 和 DataTables net 相关的帮助 我只希望用户能够下载到 Excel 这些是我与 jque
  • 我在使用 log4js-protractor-appender 时遇到麻烦

    我的 log4js js 文件代码 use strict var log4js require log4js var log4jsGen getLogger function getLogger log4js loadAppender fi
  • 模块错误“模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16”

    我正在为我们的项目编写一个 kotlin 库 完成后 我构建了一个 aar 文件并将其发送给团队 但他们有一个错误 Module was compiled with an incompatible version of Kotlin The
  • 如何使用tensorflow keras在网络中一起使用嵌入层和其他特征列

    让我们考虑一个包含 6 列和 10 行的示例数据集 这 3 列是数字 其余 3 列是分类变量 分类列被转换为大小为 10x3 的多热编码数组 我有目标列 我想要预测它也是分类变量 它可以再次采用 3 个可能的值 这一列是一个热编码的列 现在
  • Webpack 开发服务器 (webpack-dev-server) 热模块替换 (HMR) 不起作用

    我已经在 StackOverflow 和 GitHub 问题上查看了许多答案 但是 我仍然陷入 Webpack 中的热模块替换中 我在用npm start运行我的服务器webpack dev server hot inline 我正在尝试更
  • 如何使用 FOP 在 XSL-FO 中保留表头但允许在表体内分页

    我正在使用 Apache FOP 和 XSL FO 样式表生成 PDF 在 PDF 中 我输出属于表格的标题 html 相当于 h1 因此应始终保持在一起 但是 我的表格也可能包含太多数据 以至于一页纸上不一定能容纳得下 期望的结果是一个规
  • 如何防止可拖动的子元素相互拖动?

    如何防止可拖动子元素在绝对位置相互拖动 就像是 if firstChild position left gt secondChild position left this draggable disabled true 但这只会在停止拖动时
  • 从android将多个图像保存到mysql php中,但只插入一张图像

    我在活动 A 中有三个列表视图 如下所示 当提交button点击后 文字和图片路径将被保存到MySQL和image将被存储在PhotoUpload文件夹 我能够将 3 个文本存储到 MySQL 中 但问题是只有一个图像路径保存到 MySQL
  • 将某些值排序到顶部

    我有一个 MySQL 表 其中包含以下数据 简化 INSERT INTO stores storeId name country VALUES 1 Foo us 2 Bar jp 3 Baz us 4 Foo2 se 5 Baz2 jp 6
  • 尝试安装 pecl 扩展时在 mac os x 10.7.3 上出现 $PHP_AUTOCONF 错误

    我正在尝试使用 pecl http 和 memcache 设置我的机器 在这两种情况下 我都会遇到类似的错误 这是在 MAC OS X 10 7 3 lion 上 我也在上面安装了 XCODE 在运行这些命令之前 我还安装了 Zend Se
  • 沿着“bresenham”线平滑颜色插值

    我正在尝试沿一条线插值颜色 以便给定两个点及其各自的 RGB 值 我可以绘制一条具有平滑颜色渐变的线 使用布雷森纳姆的线条算法 我现在可以绘制线条 但不确定如何开始在两个端点之间插值颜色 以下是 drawLine 函数的一部分 适用于斜率小
  • 返回多个结果集的查询

    我有一个MSSQL数据库并正在运行以下查询 select from projects select from user 上面的查询一次返回两个结果集 我无法单独触发这两个查询 如何在 Java 类中同时处理两个结果集 处理多个的正确代码Re
  • 用 emacs 替换 ssh+screen+editor

    我的目标是远程编写代码 到目前为止 我一直在使用 ssh screen 编辑器 例如 vim 我知道使用本地 emacs 或 vim 可以编辑远程文件 但是 一旦本地 emacs 关闭并且我想重新打开它 或使用另一台计算机打开它 我需要再次