带脚本的文本编辑器...适用于 Linux

2024-02-25

一段时间以来,我一直在我的 Windows 机器上使用 UltraEdit。事实证明,使用熟悉的语言(JavaScript)编写脚本的能力非常有用。唯一的问题是我无法在工作时在我的 Linux 机器上使用它。是否有在 Linux 上运行并具有集成脚本引擎的类似文本编辑器?

不花太多钱并且跨平台就太好了。

编辑:虽然可记录宏很棒,但我更多地使用脚本引擎。


所有主要的开源编辑器和大多数其他编辑器都具有某种描述的脚本工具 - 有些(特别是 Emacs)因此而闻名。唯一不太轻的,比如pico. http://en.wikipedia.org/wiki/Pico_(text_editor)

vim http://www.vim.org has a 本机脚本语言 http://vimdoc.sourceforge.net/htmldoc/usr_41.html也可以用嵌入式构建Python, http://www.python.org Tcl http://www.tcl.tk or Perl http://www.cpan.org可以通过插件机制对选择、缓冲区等进行操作的解释器。Emacs http://www.gnu.org/software/emacs/都是关于脚本编写的 - 它在系统核心中内置了一个 LISP 解释器,并且大部分编辑器都是用 LISP 编写的。有一个关于 emacs 的笑话,将其描述为 LISP 解释器,有人恰好用它来编写文本编辑器。

Vim 的用户界面源自 vi,虽然有点古怪,但一旦习惯了它就会非常强大。它还可以很好地记录键盘宏,并且具有非常好的正则表达式搜索/替换功能。

Emacs 被视为有点巴洛克式的怪物,而且非常庞大和复杂。然而,它的脚本编写能力是首屈一指的,并且有一个种类繁多的宏包 http://www.emacswiki.org/emacs/WikifiedEmacsLispList可以做很多事情。它拥有一群非常忠实的追随者,并对其发誓。一旦您克服了学习曲线(网络上有大量资源可以帮助您完成此任务),它确实是一个非常强大的系统。你可以将 emacs 定制成一个完整的 IDE,周围有人声称他们的大部分时间都花在它上面。

这两种编辑器都可以在文本模式或 GUI 下工作,并且具有高度可移植性,可以在各种平台上运行。它们都是开源的。

我都用过;我以前用过XEmacs http://www.xemacs.org/(emacs 的一个主要代码分支,可以追溯到很多年前)早在 20 世纪 90 年代,但后来转向 vim。我什至在 Windows 上使用 vim。

如果您发现 Vim 或 Emacs 的用户界面有点太多,这里有各种其他文本编辑器 http://en.wikipedia.org/wiki/Category:Linux_text_editors可用,其中许多提供脚本。这些例子是SciTE http://www.scintilla.org/SciTEDoc.html,它有一个内置的Lua http://www.lua.org/口译员,NEdit, http://www.nedit.org/它有自己的自制宏语言或GEdit http://projects.gnome.org/gedit/,其实质上写在Python http://www.python.org(也可用于编写脚本)并具有插件 API。

EDIT:除了一些特定项目之外(例如Mozilla http://www.mozilla.org/)Javascript 作为独立或嵌入式脚本语言在开源圈子中从未获得太多关注。从历史上看,还没有一个流行的开源 Javascript 解释器像 Python 或 Tcl/Tk 那样得到广泛接受。 Javascript 在闭源系统中使用更广泛,例如 UltraEdit 或 InDesign(仅举几例),而其他语言在开源项目中更受欢迎。

据我所知,没有一个开源文本编辑器将 javascript 作为脚本语言的一个选项(如果您知道的话,请随意介入并评论或编辑它)。您可能必须将 Javascript 迁移到另一种语言,例如 Python 或 LISP。然而,既然 QT 附带了 Javascript 解释器 (QTScript),您可能会发现一些基于 KDE 的解释器提供了此脚本选项,但我并没有特别意识到有什么。

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

带脚本的文本编辑器...适用于 Linux 的相关文章

随机推荐

  • 在 C 中返回错误的 MD5 哈希值

    我正在尝试为字符串生成 MD5 哈希值 你好世界 使用原始 未修改的 md5 h 和md5c c http www arp harvard edu eng das manuals QNX6libs md5c 8c source html f
  • Tizen WEB 应用程序在 2.2 版本中无法运行

    我是 Tizen 的新手 并通过在 64 位 Windows 7 计算机中将 SDK 版本设置为 2 2 来开始开发 我创建了一个新的 WEB 应用程序 在尝试运行它 在模拟器和真实设备上 时 安装后没有任何反应 我尝试了几次启动该应用程序
  • Windows 上 PyCharm 中 numpy 的安装

    当我尝试在 Pycharm Windows 中安装 numpy 时 我不断收到错误 这是我得到的错误 C Python27 lib distutils dist py 267 UserWarning 未知的分发选项 define macro
  • cmd.exe 的 CSS 字体系列

    我在CSS中找不到任何与CMD exe中使用的字体系列类似的字体系列 请你帮助我好吗 您可以使用 font family monospace 指定您希望使用等宽字体 控制台使用等宽字体以确保所有字符具有相同的宽度 请注意 某些浏览器无法正确
  • 如何访问在条件匹配组 Javascript 正则表达式中导致匹配的表达式?

    我有一个条件匹配分组正则表达式 例如 sun bmoon 当我访问字符串中的匹配项时 我希望能够看到导致匹配的表达式 let regex sun bmoon let match regex exec moon return bmoon 这可
  • 通俗地说,Java 中的“静态”是什么意思? [复制]

    这个问题在这里已经有答案了 我被告知了它的几个定义 查看了维基百科 但作为 Java 的初学者 我仍然不确定它的含义 有人精通 Java 吗 static 意味着标记为此类的变量或方法在类级别可用 换句话说 您不需要创建该类的实例来访问它
  • 如何使用 RefersToRange?

    谁能告诉我如何在vba中使用RefersToRange 以及什么时候需要它 请先提供简单的例子 提前致谢 在Excel中 有一个概念 命名范围 这是一个带有名称的单元格范围 这由Name https msdn microsoft com e
  • 刷新 firebase id 令牌服务器端

    我正在开发一个使用 Next js 13 和带有 id 令牌的 firebase auth 的应用程序 我想利用服务器端组件的 Next JS 内置功能来更快地获取用户数据 因此我需要在初始请求时验证服务器上的 id 令牌 当没有用户登录受
  • 使用pdfminer从pdf中提取文本给出多个副本

    我正在尝试使用 PDFMiner 从 PDF 文件中提取文本 代码位于在Python中使用PDFMiner从PDF文件中提取文本 https stackoverflow com questions 26494211 extracting t
  • 以编程方式选择 jqGrid 中的所有行?

    以编程方式选择设置为多选的 jqGrid 中的所有行的最佳方法是什么 该代码可以一次循环遍历所有行并选择每一行 但不会选中网格标题中的复选框 我正在考虑只触发标题行复选框的单击事件 但这会对底层 jqGrid 实现做出假设 一定会有更好的办
  • 使用动态规划将球分配到“给定容量的箱子”中

    我想知道如何使用DP解决这样的问题 给定 n 个球和 m 个箱子 每个箱子有 max 容量 c1 c2 cm 将这 n 个球分配到这 m 个箱子中的方式总数是多少 我面临的问题是 如何找到递归关系 当容量都是单个常数 c 时我可以 将有多个
  • 如何在 django 中安排将来某个时间发送电子邮件?

    我想安排在执行特定操作时向用户发送电子邮件 但是 如果用户采取其他操作 我想取消该电子邮件并且不发送它 我该如何在 django 或 python 中做到这一点 豆茎 如果可以安装的话豆茎 http kr github com beanst
  • C 的 GCD 函数

    Q 1 问题5 可整除 我尝试了蛮力法 但是需要时间 所以我参考了几个网站 找到了这段代码 include
  • ChartJS 甜甜圈图表渐变填充

    因此 我尝试为 ChartJS 圆环图进行渐变填充 但这仅适用于水平方向 而不适用于圆形 这是我正在使用的代码 var ctx document getElementById chart area getContext 2d var gra
  • 仅显示 shell_exec('df') 中磁盘使用数据的特定列

    我正在尝试编写一个 PHP 脚本来执行用于报告的 shell 函数 我从磁盘使用报告开始 我想要以下格式 drive path total size free space 没有其他的 我的脚本是 output shell exec df h
  • 我可以在 TCPDF 中使用“旧式”(非衬里)数字吗?

    Unicode 不区分衬里数字 与大写字母具有相同的比例 在表格中很有用 但在运行文本中很突出 和非衬里数字 它们看起来更像小写字母 具有上升部分和下降部分 因为它认为它们是彼此的变体 不过 许多字体都具有两组数字 并提供了一种在它们之间进
  • Mozilla firefox 无法使用 window.onbeforeunload

    我在用着window onbeforeunload在窗口关闭时向用户显示消息 该功能在 Chrome 和 IE 上运行良好 但在 Firefox 上不起作用 我使用的是 Firefox 版本26 0我已经尝试了很多 但没有任何意义 有人说这
  • 如何通过解耦的后端和前端进行社交身份验证(Passport / Express / React)

    我正在尝试使用 PassportJS Express 后端和 React JS 前端来进行社交身份验证 但是 我不确定如何去做 我做了一些阅读并实现了社交身份验证 当使用 Google Auth 登录时 它会返回由 Express 应用程序
  • 是否建议在 bash 脚本中捕获 SIGPIPE?

    我在使用系统调用命令从 C 执行 bash 脚本时遇到问题 该脚本捕获了一个SIGPIPE发出信号并退出并返回代码141 这个问题只在我的代码的最后一个版本中开始出现 我的问题如下 为什么这个 SIGPIPE 现在出现而以前没有出现 忽略
  • 带脚本的文本编辑器...适用于 Linux

    一段时间以来 我一直在我的 Windows 机器上使用 UltraEdit 事实证明 使用熟悉的语言 JavaScript 编写脚本的能力非常有用 唯一的问题是我无法在工作时在我的 Linux 机器上使用它 是否有在 Linux 上运行并具