6

我需要一个 Linux 文本编辑器来替换 Textpad 4.7.3(一个 Windows nagware 应用程序),但我尝试过的所有替代方案要么臃肿要么不完整。以下是我认为最重要的功能,按降序排列:

  • 正则表达式搜索、标记和替换(甚至跨所有打开的文件),目录树中的正则表达式搜索
  • 具有正确键盘快捷键的选项卡式编辑器([ctrl]+[tab] 应该在与[alt]+[tab]完全相同的模型上工作)
  • 自动缩进、缩进保留和缩进操作(制表符、移位制表符)
  • 智能导航键:[home] 在行首和非空格开始之间切换,[F2] 寻找下一个书签,点击向上和向下箭头键会将您带到您上次导航的列,而不是您上次键入的位置(我认为 Textpad 是我见过的唯一地方)
  • 语法高亮(奖励:混合语言高亮,TextPad 缺乏)
  • 块选择模式
  • 从程序(例如编译器)运行用户定义的命令,具有交互式命令结果(文本板可让您定义正则表达式以匹配文件名和行号,以便您可以双击错误并转到该文件中的该行。)
  • 工作区(同时打开的文件集合)

以下是我在我尝试过的编辑器中发现的令人反感的内容:

  • Vim 和 emacs没有充分利用我的屏幕、鼠标和键盘。此外,还有相当长的学习曲线——你必须学习一种全新的与键盘交互的方式。(当然,如果他们拥有我想要的一切,我会学习他们。)
  • Gedit 几乎是完美的,但它(像大多数一样)有蹩脚的标签,这是无法容忍的
  • Eclipse 是个怪物,除非我在做 Java,否则我不会碰它
  • 正则表达式功能非常罕见
  • 几乎没有最后一次看到的选项卡遍历
  • 我没有看到任何关于最后导航列光标遍历的内容。(一旦我开始使用它,我发现我离不开它。)

我没有时间或构建我的“理想编辑器”所需的具体知识,所以我希望那些对编辑器有相同品味的人可能会偶然发现一块宝石。

ETA:请不要推荐您没有亲自使用过的编辑器。我听说过 SciTE、Eclipse、gedit、medit、nedit、GVim、Gemacs、Kate、Geany、Gnotepad、ozeditor 等。我相信它们中的大多数都有我提到的一些功能。如果您不确定它是否具有基本功能(例如 ctrl-tab 就像 alt-tab 一样工作),那么您并没有真正提供帮助,是吗?

4

13 回答 13

9

这是我使用了大约 5 年的 jEdit 的投票:

* Regex search mark, and replace (across all open files, even), regex

在目录树中搜索

是的,并且反向引用,包括整个比赛的 $0

* Tabbed editor with proper keyboard shortcuts ([ctrl]+[tab]

应该在与 [alt]+[tab] 相同的模型上工作)

多种显示缓冲区的方式,以及完全可定制的键盘导航。我最常用的功能之一是“返回上一个缓冲区”,我已将其映射到 F12

* Auto-indent, indent preservation, and indent manipulation

(制表符,移位制表符)

是的。您还可以将它们设置为制表符或空格,并在两者之间进行转换

* Smart navigation keys: [home] toggles between start of line and

非空格的开始,[F2] 寻找下一个书签,点击向上和向下箭头键会将您带到您上次导航的列,而不是您上次键入的位置(我认为 Textpad 是我见过的唯一地方)

一般预期的导航。将这些映射到您选择的键。如果将光标放在特定列并向上或向上翻页箭头,则光标将停留在该列中

  • 语法高亮(奖励:混合语言高亮,TextPad 缺乏)

许多不同的语言使用 xml 文件来自定义令牌匹配。一些混合,例如 php + javascript

* Block select mode

不,据我所知……等等!是的!在编辑 -> 更多选择 -> 矩形选择下。感谢 dwhall 指出这一点

* Run user-defined commands from program (such as compilers), have

交互式命令结果(文本板可让您定义正则表达式以匹配文件名和行号,以便您可以双击错误并转到该文件中的该行。)

从完整的命令行控制台(在 linux 和 windows 中工作)到可以进行系统调用的 BeanShell 宏,许多插件都用于此目的。许多常用任务的插件,如 ant、cc、make、svn 等

* Workspaces (collections of files to be open at the same time)

yup 插件也是如此,jEdit 还跟踪打开的文件、未保存的更改和会话之间的光标位置

以下是我在我尝试过的编辑器中发现的令人反感的内容:

* Vim and emacs do not take full advantage of my screen, mouse, and

键盘。此外,还有相当长的学习曲线。(当然,如果他们拥有我想要的一切,我会学习他们。)

jEdit 是一个 java 程序,但仍然很好地利用了跨平台剪贴板和拖放功能

* Regex capability is frighteningly rare

jEdit 具有我见过的最好的正则表达式处理,正则表达式搜索可以返回多个结果 grep 样式,当您在搜索后添加或删除文本行时,结果位置不会混淆

* Almost nothing has last-seen tab traversal

就像我说的,我最喜欢的功能之一是“转到最后一个缓冲区”

* I've not seen anything with last-navigation-column cursor

遍历

就像我说的那样,上下翻页时光标停留在列中

我喜欢的其他功能:

  • 基于缩进的折叠:不需要语法意识,只需在缩进上折叠
  • 并排差异:漂亮的图形差异视图
  • 多个视图和拆分窗格
  • 使用 beanshell 进行宏录制
  • 缩写:我有 2-3 个字母的简短关键字,当我点击空格时会扩展为代码片段
于 2008-10-21T04:22:52.143 回答
6

Vim 和 emacs 没有充分利用我的屏幕、鼠标和键盘。

你看过gvim吗?我自己是一个控制台人,但我很确定它是 GUIlicious。

于 2008-10-21T03:44:53.780 回答
4

我推荐 Geany(现在是 0.15 版)。它具有您需要的所有(或几乎所有)功能。在手册中查找密钥(我用了一年才发现它有块选择)。

于 2008-10-21T03:12:05.190 回答
3

我认为你对事情的运作方式如此挑剔是一个严重的错误。您可能找不到在各个方面都与 TextPad完全一样的东西。您错过了一些建议的文本编辑器中的一些强大功能。

在我使用 Emacs 的这些年里,我学到的一件事是“你能在 Emacs 中做 X”这个问题的答案总是“是”!(当然,在某些极端情况下这是不正确的,但它基本上是对现实的一个很好的近似。)所以,我意识到有人可能已经实现了一个使 Emacs 更加 Windowsy 的模块(CUA 快捷方式,Ctrl-Tab等)在“ emacs 中的 windows 键”上进行谷歌搜索后,我找到了 EmacsW32。它似乎具有您要求的许多功能:

  • 正则表达式支持:是
  • CtrlTab缓冲区切换:是的
  • 自动缩进:是
  • 语法高亮:是
  • “智能导航键”:不是直接的,但这应该可以通过简单地重新绑定正确的命令来实现。
  • 块选择:是
  • 用户自定义命令:是
  • 直接跳转到编译器错误位置:是的,但如果您使用的是具有非标准错误格式的编译器,您可能需要调整用于提取错误消息的正则表达式
  • 工作区:是的(我认为这包括现在作为标准包)

请记住,Emacs 拥有一个庞大而活跃的社区,拥有大量在线资源,并且有很多人愿意帮助您定制 Emacs。如果您缺少 Emacs 中的某个功能,那么很可能其他人已经实现了它!

于 2008-10-21T18:52:38.613 回答
2

我还建议使用 jEdit。它有许多功能和许多插件。

维基百科对可能有用的文本编辑器进行了很好的比较: http ://en.wikipedia.org/wiki/Comparison_of_text_editors

于 2008-10-21T04:01:50.737 回答
1

你试过scite吗?

http://www.scintilla.org/SciTE.html

你的发行版可能已经有一个包。

我相信有一个插件可以添加项目,但我不记得它了。我不确定是否能够双击错误跳转到该行。

于 2008-10-21T03:10:58.110 回答
1

你试过用Wine在 Linux 中运行 Textpad吗?

于 2008-10-21T03:23:10.877 回答
1

jEdit可能是您正在寻找的。开箱即用,它有很多你正在寻找的东西,其余的都可以在大量可用的插件集合中找到。

于 2008-10-21T03:30:45.917 回答
1

如果没有其他原因,我当然会推荐PowerPad 。

以下是您会在 Linux 版本中找到的一些精彩功能:

  • 多标签界面
  • 基于 Python 的强大脚本语言
  • 无限撤消
  • 自动缩进
  • 支持通过 FTP 打开和编辑文件
  • 能够打开 UTF-8 和 UTF-16 编码文件
于 2010-03-19T22:22:55.123 回答
0

notepad++ 功能齐全,我一直使用它来处理所有语言!

它在 Windows 上,但显然它可以使用 WINE http://notepad-plus.sourceforge.net/uk/nppLinux.php在 linux 上运行

于 2008-11-24T08:29:41.617 回答
0

ActiveState 的 Komodo Edit 有一个 linux 版本,它完成了你描述的大部分事情。我已经 24/7 全天候使用它一年多了,虽然我不喜欢它,但我在 Linux 上没有找到更好的东西。这是他们商业产品的精简版免费版本,如果效果更好,我会很想购买他们功能更强大的 Komodo IDE。

它不是真正稳定的,至少在我的系统上。它经常崩溃或冻结,因此如果您尝试它,请经常保存。

我最近从 4.2 升级到了版本 5,这并不是一个改进。他们破坏了很多东西,所以我要回到 4.2。他们打破的主要让我伤心的是用于编辑多个文件的选项卡。在 4.2 中,他们让 x 在标签行的右边缘关闭,其位置从未改变。在 5 中,它移到了活动选项卡的末尾。现在,如果不将鼠标对准每个文件,您将无法关闭多个文件。

我在 Komodo 之前使用过 Eclipse,而 Komodo 4.2 不如一年前的 Eclipse 糟糕。

真的,这个回应并不是对 Komodo Edit 的认可。我真的不满意,我希望你能找到一个有这个问题的好编辑,这样我也可以切换。

于 2009-04-28T19:04:26.580 回答
0

你试过凯特吗?我不确定它是否符合您的所有要求,但可能。此外,对于更面向开发的工具,您可以尝试KDevelop,其默认编辑器是 Kate(但您可以更改任何其他实现 KTextEditor 接口的编辑器)

于 2008-10-21T03:15:13.840 回答
0

我刚刚根据 Kknd 的帖子安装了 Geany,它很 SWEET。

我最近从 Mac 跳到 Linux (Ubuntu),并且一直缺少 BBEdit。经过几个月在 gvim 和 gedit 之间来回跳动并发现 jedit 有点笨拙,我相信 Geany 是我的答案。开箱即用,非常直观,开始挖掘时会有很多好东西。

不确定它是否在 phyzome 测试中获得 A,但肯定是 A-:

完全可配置的语法/颜色主题——我刚刚安装了一个由 Barry Van 创建的深色主题,但您可以根据需要创建自己的主题。不得不承认,我从来没有想过混合语言突出显示是一种真正的可能性,所以不确定那个。

多文件搜索,正则表达式。

方向和历史标签导航。

出色的自动缩进选项(不同的大括号模式、制表符与空格,您甚至可以使用制表符进行编辑并让它在保存时自动转换为空格!)

老实说,我并没有过多考虑“智能导航键”(超出基础知识),所以不能真正说明这一点,但它似乎确实有很多键盘快捷键的配置选项..?

还没有研究块选择模式,但 Kknd 说它在那里。

运行/编译控件,用于运行命令的虚拟终端仿真器。

工作区……哎呀!也许不吧。它确实有一个文档侧边栏..也许某处有一个工作区插件?“添加一些东西”仍然比“从头开始构建”好得多;)

于 2009-05-22T18:42:24.750 回答