文本编辑器与脚本…为Linux

有一段时间了,我一直在Windows上使用UltraEdit。 用熟悉的语言(JavaScript)编写脚本的能力已被certificate是非常有用的。 唯一的问题是,我不能在我的Linux机器上使用它。 是否有一个可在Linux上运行的文本编辑器,并具有集成的脚本引擎?

不破坏银行和跨平台将是伟大的。

编辑:虽然可录制的macros是伟大的,我更多地使用脚本引擎。

Solutions Collecting From Web of "文本编辑器与脚本…为Linux"

所有主要的开源编辑器和其他大多数开源编辑器都有一些描述性的脚本工具,其中一些(特别是Emacs)是着名的。 唯一不会像pico那样轻便的。

vim有一个本地脚本语言 ,也可以使用嵌入式Python, Tcl或者Perl内置语言来构建,这些语言可以通过插件机制在选择,缓冲等等上运行。 Emacs是关于脚本的 – 它有一个内置于系统核心的LISP解释器,大多数编辑器都是用LISP编写的。 有一个关于emacs的笑话,把它描述成一个LISP解释器,这个解释器正好碰巧用来编写一个文本编辑器。

Vim的用户界面是从vi开始的,一旦你习惯了它,它有点古怪,但却非常强大。 它也记录键盘宏特别好,有一个非常好的正则表达式搜索/替换设施。

Emacs被认为是一个巴洛克式的怪物,是非常大和复杂的。 然而,它的脚本功能是首屈一指的,有很多种宏包可以做很多事情。 有一个非常忠诚的追随者发誓, 一旦你了解了学习曲线(网络上有大量的资源来帮助实现这一目标),这确实是一个非常强大的系统。 您可以将emacs自定义为一个完整的IDE,并且周围有人声称将大部分时间花费在其中。

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

我用过; 我曾经在20世纪90年代使用XEmacs (emacs的一个主要的代码分支,可以追溯到几年),但后来又进入了vim。 我甚至在Windows上使用vim。

如果您发现Vim或Emacs的用户界面太多了,可以使用各种其他文本编辑器 ,其中很多都提供了脚本编辑功能 。 这些例子是SciTE ,它有一个内置的Lua解释器, NEdit,它有一个自己的自制宏语言或GEdit ,它基本上是用Python编写的(也可以用来编写脚本),并有一个插件API。

编辑:几个特定项目之外(例如Mozilla )JavaScript在开源社区中从来没有像独立或嵌入式脚本语言那样得到很大的吸引力。 从历史上看,没有一种流行的开源Javascript解释器被Python或Tcl / Tk所广泛接受。 Javascript在闭源系统(如UltraEdit或InDesign)中应用更广泛(其中一些),而其他语言在开源项目中更受欢迎。

没有一个开源的文本编辑器,我知道功能的JavaScript作为一个脚本语言的选项(随意介入和评论或编辑,如果你知道一个)。 您可能必须将Javascript移到另一种语言,如Python或LISP。 然而,现在QT带有一个Javascript解释器(QTScript),你可能会发现一些基于KDE的提供这个脚本选项,但是我没有特别意识到我的头脑。

emacs是免费的,并有自己的嵌入式lisp方言,可用于写几乎任何东西,包括轻型脚本以及邮件用户代理和IRC客户端;-)

有一些学习曲线,但我对emacs的经验非常积极。 我不太喜欢模式界面,也没有其他编辑器将导航快捷键放在你的手指下。

Vim是无所不在的,vimscript是非常容易和文本编辑导向: http ://vimdoc.sourceforge.net/htmldoc/usr_41.html

这是默认的。 你也可以使用Python,Ruby,Perl,Scheme …但是需要编译。

Python可能是一个不错的选择,因为omnicomplete需要它。 我为omnicomplete运行一个单独的二进制文件,因为我喜欢其他用法的超瘦vim,请点击这里: http : //vim.wikia.com/wiki/Compile_a_separate_copy_of_Vim_for_Python_coding

老实说,我没有使用Python脚本VIM本身。 我通常使用vanilla vim编码,不管是否使用python,也没有自动完成。 不过,我会从vim调用python和其他任何命令来逐行处理文件,如果你感兴趣,可能会回复更多,但是不需要编译任何东西,按原样运行。

编辑:如果你想要一个点击编辑器,你可以在gVim上运行Cream http://cream.sourceforge.net/download.html我仍然认为vim花费很少的时间去习惯,是非常值得学习的,更重要的是考虑到你可以使用你的基本vi知识通过SSH连接到服务器没有问题,并且它安装在任何* nix中。 我喜欢我可以重复使用的知识,节省我的时间和长期的麻烦。

我使用jEdit ,这是一个伟大的编辑器,并允许与beanshell脚本。 由于它是用Java编写的,它在Windows和Linux下运行良好。

Simon Groenewolt提到,存在一个插件( JavascriptShell ),它允许您在Javascript中编写宏和脚本,而不仅仅是在Beanshell中。

如果你不需要非常复杂的脚本,vim / gvim允许你记录一个击键序列并且回放。 您可以对播放进行重复计数,因此您可以在一行上录制操作,然后在一个步骤中重复播放接下来的10,000行。

哇,我真的不想在这里开始一场神圣的战争,但是所有这些Emacs的建议都是没有意义的。 Emacs非常强大,但说实话。 它不像学习墙那么有学习的意义。 从像UltraEdit这样的点击式IDE风格编辑器开始,将会是一个巨大的文化冲击。

说实话,当有人说他们喜欢用JavaScript编写脚本,并且在Linux中寻找类似的东西时,你首先要说的是“学习LISP”

这就是为什么人们认为Linux很难使用


我要完全走向另一个方向,并建议Aptana工作室

它具有针对各种语言的内置突出显示和代码完成功能,并支持使用Eclipse Monkey的 JavaScript脚本。 它基于Eclipse,因此运行在Java上,因此是多平台的。 它是免费的。

这是陈词滥调,但emacs。 还是我误解了什么UE的脚本引擎?

尝试Emacs,无论是XEmacs或GNU Emacs。

我使用gedit。 你可以用Python编写插件。

科莫多编辑是在Mozilla的XUL亚军顶部。 它提供了对扩展(如Firefox)或宏,片段,命令进行彻底扩展的可能性。 你可以用JavaScript或者Python编写这些代码片段,这很好,但是你仍然需要知道API才能做一些有用的事情。

使用Mozilla技术构建它也在Linux上运行。

它看起来像科莫多编辑 , SciTE和Eclipse猴子是赢家。 科莫多编辑似乎是最相似的超编辑。 SciTE是我之前用过的东西,而Lua并不那么难。 SciTE的API虽然不像Komodo Edit的API那么广泛。 Eclipse Monkey是我肯定会用到的东西,但它需要Eclipse,这绝对不是文本编辑器。

编辑:UltraEdit即将推出的Mac和Linux。

在Linux中进行脚本文本编辑的传统方式是使用几乎总是以* nixes可用的工具:sed,awk,grep,这样的工具。 当然,他们可能不像一个可以找到一个集成的Javascript引擎那样“方便”,但是它们非常成熟并且运行良好。 如果这个脚本语言必须在编辑器内,那么Emacs也可能是一个好的选择。

你可以使用一个“集成”类型的解决方案来解决这个问题,正如很多其他人所提到的,但恕我直言,命令行在这方面更加强大。

SciTE可以用Lua编写脚本,并且是一个很好的简单的编辑器,如果你每天在Linux和Windows之间切换的话,它的行为方式也是一样的。

我不知道在编辑器中使用的是脚本功能,但是您可能需要考虑使用Linux命令行工具(如sed或awk)自动执行这些任务。