[软件推荐] Cudatext-一款小白体验良好的跨平台高级编辑器!

开头声明:本帖首发于linux.do,搬运过来稍作修改后发布,发帖是因为cudatext的开发者帮助小白制作了需要的插件,特按开发者的请求写文帮忙推荐,如果文章里有所冒犯,请多多见谅!!!

之前有坛友咨询有什么好用的文本/代码编辑器,跟帖里有推荐了cudatext,但是介绍相对简略,搜了一下论坛,还没有相关的推荐帖子。

小透明刚好用了半年,体验良好,就搜了一下网上的资料,做个汇总详细介绍一下。作为不懂编程的小白,很多编程相关的都不懂,如有弄错的地方,请多多包涵,也请各位坛友的多多指教!

考虑到有跨平台的需求,目前的跨平台编辑器基本上都是上百M起步的,而且在各种平台上都有相对明显的问题,在试用了一圈后,良好的编辑器只有KATE、VSCode、Sublime Text、Cudatext等几个少数可以选择,其中cudatext作为体积最小,对中文支持最友好,各项功能最方便的编辑器就成了不二之选。

首先是 cudatext 的官网:https://cudatext.github.io/
项目在GITHUB上的地址: GitHub - Alexey-T/CudaText: Cross-platform text editor, written in Free Pascal
下载地址(包含应用分发包和扩展分发包):https://sourceforge.net/projects/cudatext
官方论坛:synwrite.sourceforge.net/forums
小小吐槽一下,开发者这样搞的稍显繁琐啊!

这是开发者自己的简介:CudaText 是一个跨平台的文本编辑器,用 Object Pascal 编写。它是开源项目,可以免费使用,甚至可以用于商业。它启动得非常快:~0.3 秒,使用 ~30 个插件,在 CPU 上 Linux Intel Core i3 3GHz。它可以通过 Python 附加组件进行扩展:插件、linter、代码树解析器、外部工具。语法解析器功能丰富(支持 300+ 词法分析器),来自 EControl 引擎。

如上面所说, cudatext 是俄罗斯程序员 Alexey Torgashin 开发的一款开源的跨平台的自由编辑器,目前已经在 Windows、 macOS、 Linux、 HaikuOS、 FreeBSD 等多个平台上成功编译运行。 Alexey Torgashin 开发的目的是用来取代他原来开发的 synwriter。在很久之前, synwriter 也是文本编辑器领域的一流作品,但是比较遗憾的是架构比较老旧的32位程序,有许多新的技术无法跟进,所以在2014年 Alexey Torgashin 萌生了重新开发一款自由的,现代化的编辑器的想法。在参考了当时十分流行的 Sublime Text 后, cudatext 就此诞生了! cudatext 的名字来源于塞尔维亚语,含义是奇迹,可以看得出 Alexey Torgashin 对此抱了相当大的期望!

cudatext无须安装,采用的是压缩包作为分发方式,解压后双击主程序即可直接使用,压缩包在15m左右,解压后整个应用在30m左右,加上内置的几个插件总的是33m,在不安装第三方插件或者少量插件的情况下是1秒内启动,但因为是跨平台原因,如果装了大量的插件, cudatext 在 Windows 上初次启动时,会有一点延迟,1秒上下,尤其是30+m的拼写检查插件的话,启动速度会延迟至3秒左右。当然在初次启动过后,关闭再重新启动,速度就会恢复至1秒以内。如果需要控制启动时间的话,可以打开控制台,参考控制台里的启动日志来禁用或者卸载多余的插件的。注:禁用是由插件支持的,有需要可以去GitHub下载: GitHub - ildarkhasanshin/cuda_disable_enable_plugins: Plugin for CudaText. Quickly disable/enable plugins based on adding/removing a special file 'plugin_disabled' in plugin-dir.

cudatext 采用 Object Pascal 语言编写,使用的是作者自己开发的编辑控件,有着丰富的功能和高度可扩展性,作者在应用分发包中编写了极其详尽的 WIKI 百科介绍,在了解过它的各种接口后,可以自由定制自己想要的功能!它的插件是采用 Python 写的,覆盖了从代码分析、语法检查(CudaLint)到代码格式化(CudaFormatter)等多种工具,极大拓展编辑器功能。插件种类繁多,比如外部工具管理、项目管理、语言服务LSP、会话保存、宏录制以及拼写检查,甚至包含FTP面板,使得数据传输与管理无缝衔接。其他插件诸如颜色选取器、时间日期插入、备份文件创建、菜单自定义等,也提升了日常开发中的便利性。

cudatext 作为 Sublime Text 的开源替代,毫无疑问在各种设置项上也采用了 Sublime Text 的方式,但是在各种细节上又更胜一筹,目前各种设置项的介绍说明都已经支持多语言国际化,主程序是基于 JSON 的设置文件,在安装了中文翻译包和设置项编辑器插件后,可以一目了然的进行自由设置,无须为寻找中文介绍而烦恼。现在的 cudatext 国际化处理模式更为简洁了,将之前分散打包的翻译文件整合为了一个翻译包,使用户不再为寻找和安装界面、设置项、插件者三项的翻译文件而苦恼了。目前应用的官方扩展包内包含的大部分扩展插件的菜单和界面已经翻译为中文,再加上主程序界面和设置项的中文翻译,已经做到了90%的中文化了。cudatext目前的中文翻译是支持多用户接力协作的,如果有改进项,在改进后可以直接将翻译文件提供给开发者的,无须找到原译者授权。这是中文翻译文件反馈主题: CudaText Han language Mandarin Chinese Simplified Translation Update · Alexey-T/CudaText · Discussion #6061 · GitHub

它的 GUI 是基于 lazarus 开发的,几乎各种组件都支持定制,而且 lazarus 作为 Delphi 的免费开源继承者,功能 和 C# Winform 同样优秀,而且简单、开发快,更快响应,更低内存占用,不易破解。 cudatext 的各个组件都支持分离显示,而且可以高度自定义,由于 Alexey Torgashin 推崇 kiss 原则,所以 cudatext 的很多预置功能没在菜单上提供,使用时需要呼出命令面板,但是开发者同样提供了菜单和工具栏,快捷键编辑器插件,可以自由的修改菜单和工具栏,把隐藏功能添加到菜单或者工具栏上。此外还有项目管理、代码树和小地图功能,可以根据代码结构自动呈现函数、类以及其他模块的层级关系,帮助程序员快速定位并理解代码逻辑,都非常方便程序开发。 cudatext 不但支持多标签页,还支持多窗口模式,提供多种窗口放置选择,而且借助本功能还开发了对比插件,在目前的轻量级文本编辑器评测中,cudatext的对比功能达到了「字级对比」,是首屈一指的,几乎断崖式领先,可以参考网友太阳雨的评测: 几款文本编辑器横向比较 - tyysoft - 博客园

cudatext 的编辑器只支持2G以内的文本文件,秒开小文本文件,对于大文本文件,由于作者考虑到各种插件可能支持预设宏,有可能在加载中出现自动编辑的情况,所以禁止分段加载。大文本文件必须在加载完成后才支持编辑,加载会有一定的延迟。延迟速度视文件大小和电脑性能而定。编辑器支持列编辑和多选编辑,列编辑的默认快捷键是ALT键,多选编辑的快捷键是CTRL键,显示不可打印字符,如空格和制表符,便于精确编辑,现在已经支持使用不同的箭头符号来显示不同的换行符。目前唯二的遗憾是1.单行最大只支持1024个字符,超出1024个字符的话,会从行开头叠加上去,显示为重影,解决方案是开启自动换行;2.不支持多字体,开发者考虑到应用多字体会导致渲染速度延迟,暂不提供这一功能,但是在GitHub上的项目讨论区有用户给出了暂时的替代方案: CJK fallback font against code font · Alexey-T/CudaText · Discussion #6064 · GitHub

应用占用的内存测试,单独打开一个刚解压后的纯净应用,占用内存在38m,在安装了一些常用的插件后,应用占用内存在45m;打开一个小文本文件,内存上升到48m;打开一个500m的大文本文件,占用内存达到了1g;又重新启动测试了打开100个20kb-2m的文件,占用内存达到了275m;再重新启动测试了同时打开35个10-40m的大文本文件,占用内存达到了1.8g。占用内存这方面仅仅只做了一些简单的对比,主要是考虑到跨平台的文本编辑器中,其它的都是大体量的,相比 cudatext 没有任何优势,而单平台的各种文本编辑器中,如Notepad3、Notepad4、Notepad–、akelpad、everyedit等,大部分的内存控制都能做到极低,只有少部分占用量超出预料。大致可以下结论 cudatext 在内存占用方面相对而言没有优势。

在编辑方面, cudatext 还支持智能自动补全、标签完成、颜色代码高亮显示等功能,提升前端开发的效率。当鼠标悬停于图片标签、实体字符或颜色值时,会弹出相应的提示工具,增强代码阅读体验。代码折叠功能进一步改善了代码的可视化管理,使得大型代码文件的阅读和编辑变得更加高效。编辑器还可以添加插件来增强选择和转换、格式化功能,而且还支持编辑行高度自动居中功能。设置项处在设置了字符数提示线的情况下,还支持编辑行宽度的定制,可以让编辑器保持在适合阅读的宽度显示。

内置的查看器支持预览大文本文件和查看非文本文件,查看器支持分段加载,所以启动速度和大文本加载速度极快,可以在1秒之内打开。应用默认500m以上的大文本文件由查看器打开,但需要使用查看器打开的具体的文本大小可以在设置项中自定义。目前查看器只支持查看,不支持搜索、复制等功能和右键菜单,而且对行号的支持也不佳,开发者希望有用户能提供思路来帮忙改进这些功能。内置查看器的查看模式有4种,分别是纯文本查看器,UTF-16编码查看器,二进制查看器,十六进制查看器。查看器在启动时会有提示框,询问你需要用什么模式查看,如果想禁止提示的话,可以下载插件来屏蔽,具体的使用方法可见:wish,Could you consider adding the option to open the text viewer directly? · Issue #6067 · Alexey-T/CudaText · GitHub

除此以外,还有图片查看器,主要用于网页编辑使用,仅支持常见的图片格式,例如BMP、JP(E)G、PNG、GIF、WEBP等。

cudatext 的主题设置目前已经支持跟随系统自动切换深浅模式,而且设置项高度自由,全部可见界面都支持自定义。除了可以在应用内用主题编辑器设置外,还支持手动编辑,主题文件是纯文本,附带各种设置项的注释。命名模式为 *.cuda-theme-ui 的是整个应用的主题文件,而 *.cuda-theme-syntax 的是主题同步的语法高亮文件。

它的语法分析器功能采用的是正则表达式匹配的,有一定的难度,所以有需求的话,可以去 GitHub 上的项目反馈区找开发者定制,但是开发者在解决了反馈后,会希望满足了需求的反馈者能够提供推广介绍,当然这个不是必须的,尽力而为即可。

开发者在 cudatext 上大量应用了正则表达式,有部分设置项是采用的正则表达式匹配,除此之外还有搜索和替换功能也支持正则表达式来满足高级文本处理需求。

搜索和替换功能目前有多种方式,除了基础的在文档内搜索外,还有在文件内查找插件,可以批量查找多个文件内的关键词,并批量替换等等。

状态栏的默认设置比较简单,有高级需求的用户要自己定制,目前状态栏上的字符数统计设置需要自己添加前缀(字符数:/ Char:),设置项里的字符数统计是采用的16进制编码,只显示数字,没有前缀,千位分隔符和默认的宏隔离符都是逗号,容易混淆,需要自己修改。默认提供字符的二进制编码和十六进制编码,如需 UNICODE 编码和字符英文名,需要安装相关插件。

cudatext 除了常见的编程相关的插件外,还有大量的AI插件,支持本地模型,DeepL翻译,Discord状态,各种语言的在线解疑,AI聊天等,对于喜欢探索AI用途的用户来说,是必不可少的。

cudatext 的版本更新极其频繁,更新周期在一周到半个月,开发者非常热心友善,几乎24小时在线,能做到秒问秒答,有反馈必回应,有需求必解决。同样在GitHub的反馈区和论坛中,还有几位常驻用户协助处理用户遇到的疑难问题,随时提供解决方案。有的问题即使未能在当时解决的话,开发者也会尽可能会为反馈打上标签,在有灵感和思路之后尝试解决。

目前中文互联网上关于 cudatext 的介绍甚少,只有知乎上有一位早期的用户写过一系列简单的体验文章,然后就是 gitcode 的机器人搬运并翻译整理的GitHub反馈区的讨论贴。在其它的小篇幅介绍cudatext的帖子中,大部分都是简略说明,只有极少数用户偏重于自己的需求进行的评测,少有全面的介绍。这些帖子或者博客介绍的功能都比较偏早,少有近期增加的新功能或者新的体验介绍。小透明所以在整合提炼了一下,重新开篇帖子说明了使用后的体验。

保持友善,请勿键政!!!

8 个赞

从我发帖寻找 Sublime Text 替代品,并得知 CudaText 至今,已经超过一年半了。CudaText 是我当时从众多选择中最终选定的编辑器。

简单说下使用感受。

我的定位是将其作为纯文本编辑器,而非代码编辑器。它是我所有文字输出的第一站,无论是发帖、工作记录还是日常写作,都会从这里开始。

纯文本编辑器最大的好处是速度极快,没有多余格式的干扰,可以打开立即输出文字,最大限度地捕捉转瞬即逝的灵感。

CudaText 在中文处理上的表现极其出色:

它对中文的支持极为友好,换行和选择都没有问题,完全没有使用国外软件时常有的那种隔阂感。

它对汉字的渲染效果堪称惊艳,字体圆润锐利,没有毛刺。这听起来似乎是基本要求,但实际上很多小型文本编辑器在汉字渲染上不尽如人意。

我尤其喜欢的是它带来的「安全感」,即类似 Sublime Text 的实时保存,即使遇到死机或停电等极端情况,内容也能完好保存。虽然现在不少编辑器都有这个特性,但此特性并非标配。这种安全感可以让我放心地直接在新标签页中输出内容。而且在cudatext输出内容无需先创建文件,打开一个标签就能开始写,未命名标签也能完好保存下来。

在论坛里偶尔看到有人推荐 CudaText。但像楼主这样正式而详尽地介绍,还是头一次,我实在没想到还有人和我一样,甚至比我更喜欢这款编辑器。

3 个赞

23 年就推荐过这个软件了,因为这是我发现的第一个能在 mac 上稳定置顶的文本编辑器。另外自动保存带来的安心感也是一个很重要的因素,随便粘贴都不会担心数据丢失。感谢楼主的长文推荐。

ref: CudaText - 开源多功能的文本编辑器(Sublime Text 开源平替)

2 个赞

不过, 这个的中文字体配置似乎不能像是很多地方那样制定一个列表;

最后手搓一个混合字体来实现中文和英文字体配合了;

使用这个插件来导入混合字体; 而且, 因为字体显示是等宽的, 也不需要很多微调

2 个赞

手搓字体,天地之间再无束缚。

2 个赞

看介绍感觉还挺不错的,有时间尝试一下看看。sublime是我很长时间都想换掉的两个软件之一了(另一个是beyond compare),这次试试能不能把它替换掉。


大致的试用了一下,基本能满足需求。我对它的定位需求是轻量的文本编辑器,重量级的有VSCode就够了,更轻量的就变成记事本了。虽然Vim也能算同体量的,但是日常使用还是希望有一个鼠标友好的编辑器。在满足基本需求的前提下,体积越小越好,启动越快越好。以前占据这个生态位的是notepad++,后来因为一些软件之外的原因换成了sublime,sublime最要命的问题是中英文混排的断行算法,这个问题n年了作者都不修。下面简单说一下cudatext能满足的我关注的需求点:

1.体积和启动速度。主楼已经介绍过了

2.可以自动保存没有保存的窗口内容。说起来有点绕。我需要它承担一些日常随机的短时间记录功能

3.中英文混排的断行算法。换sublime的主要原因之一

4.中文UI。需要以插件的形式安装翻译,值得一提的是汉化程度很高,甚至包括每个设置选项的注释

5.查找替换。主要是在文件夹下搜索,同样需要安装插件,但是这个和自带的查找是完全不同的ui,用起来目前感觉不如sublime顺手

6.文件对比。需要安装插件,不过对比的算法很强

7.多编码支持。默认自带,但是没有自动识别编码功能,只能指定一种默认编码和一种fallback编码,这点不如suublime,希望以后有插件能改进吧

8.monokai主题。用sublimie用习惯了,正好这个也有对应的插件

9.免费。这一点算是我想要换掉sublime(以及beyond compare)的另一个主要原因。虽然收费的软件也有免费的使用方法,但总归还是免费的更好

10.多tab。本来没必要特别提这一点,我以为这个是任何第三方编辑器的默认功能,但另一个强力的竞争者notepad4就是因为这个原因被我淘汰的

除了上述提到的,还有一些算不上非常满意的地方

1.有些功能,比如在文件中查找、对比之类的,这种核心功能不太能理解为什么要做成插件的形式,甚至连插件的配置参数编辑器也是一个插件。不过这个说到底属于设计哲学层面的问题,谈不上缺点

2.由于网络问题,插件无法在线安装/更新。虽然sublime也有同样的问题,但是sublime在我挂代理之后是可以在线安装的,而cudatext即使挂了也不行,不知道是设置的问题还是什么。不过这个也有planB,从sourceforge上可以下到目前所有插件的压缩包,然后按需添加即可,正好我也不需要它频繁更新,正好够用就行,所以这个操作一次就好

1 个赞

用过一段时间,后来因为sublime有大佬搞了个 语法高亮,又回到sublime了。当然cudatext如果有同样的(应该有,我不会弄)语法高亮,应该也可以回去。

1 个赞

自由多栏平铺很不错,拿来对照写东西很不错

1 个赞

是哪种语言或者相关的插件呢?目前cudatext支持了300多种语言呢,如果没有的话,您在这里说一下,小白可以帮忙去给开发者反馈帮忙解决的。

感谢大佬的补充介绍,在优点方面,大佬介绍的比小白的体验更为全面,很多地方小白都没有研究透彻,只是凭感觉来的,有很多地方都被遗漏了。:blush:

顺便说一下,cudatext的插件列表是从GitHub上传输的,国内受限于GFW,连接GitHub的时候时好时坏,所以尽量去SourceForge下载离线安装包,其中有一个完整的100多m的扩展插件离线安装包,下载解压后,按需安装即可。

其实不是语言高亮,只是使用到这个功能来实现自定义的,把交换机/路由器的配置脚本进行了关键词高亮。:grinning_face_with_smiling_eyes:

就是 这样的 网工必备-网络设备配置文件及日志高亮显示Sublime Text_sublime 日志高亮-CSDN博客

谦虚了,你的文章才是干货满满,我看了才知道 CudaText 的这些细节,刷新了对它的认知。

感谢提醒!原本我只把它当成一个「开箱即用」的打字工具,以为插件多是编程相关的,就没有多了解。我也是昨天上午心血来潮,想看看有没有提升 Markdown 使用体验的,才去论坛询问,没想到发现发现几款插件直接打开了新世界的大门!

2 个赞

点进去才发现那个帖子我也回复过,可惜当时没注意到cudatext,多走了一年半弯路 :joy:

2 个赞

佬友能把这个文件上传到免费网盘里吗?我没有CSDN账号啊,如果能下载下来的话,我可以让alexey制作成cudatext的语法高亮文件的。

在线更新的话,可以去下载最新版本的Python更新替换cudatext自带的Python版本就可以了,这是下载地址:CudaText - Browse /addons/windows_python at SourceForge.net ,原来的版本内置的www证书过期了,所以连接不上SourceForge和GitHub的。

已经上传 Text_sublime 日志高亮 Sublime Text Syntax 网络设备高亮配色文件(原作者文件).zip
链接: https://pan.baidu.com/s/1co1p_RHbKPAf3X3z2V6c1Q?pwd=appi 提取码: appi 复制这段内容后打开百度网盘手机App,操作更方便哦

1 个赞

佬友能给一些示例文件吗?

Request to transcribe Sublime Text's NetworkConfig Syntax file · Issue #6069 · Alexey-T/CudaText · GitHub

我已经反馈了,alexey 需要一些测试文件,但是我上网上搜了一圈,只看到GitHub上有个9年前的sublime语法高亮文件和测试文件,但是不知道能不能匹配的上?

感谢感谢。示例和效果类似如下。当然如果后期能够更详细的自定义肯定是更好的。

通过网盘分享的文件:TEST.zip
链接: https://pan.baidu.com/s/1plAnDPqwCvqhe0Kd7xX6uw?pwd=appi 提取码: appi 复制这段内容后打开百度网盘手机App,操作更方便哦

1 个赞

佬友用过VSCode上面这个华为的语法分析器吗?alexey 对于语法分析器制作有一定的要求,需要达到一定的使用基数才会制作,他在Sublime Text的扩展商店没有找到官方的语法高亮文件,不知道有多少人使用,然后去VSCode上面查了查,决定借用VSCode上面的语法分析文件来编写,不知道两个语法高亮显示是一致的吗?