不管是编辑文字文本还是编辑各种代码,Notepad++、notepad3、notepad2、EditPlus等软件都是很不错的软件。当然了这类的软件每个人喜欢不一样,多种选择更好。类似的编辑器Cudatext也很不错,同样是好用的文本编辑器与代码编辑器。
界面预览图:
CudaText 是一个免费的跨平台的文本编辑器与代码编辑器,它完全免费开源。
CudaText 启动相当快:~0.3秒与~30插件,在Linux上的CPUIntel酷睿i3 3 GHz。
Cudatext代码编辑器可以通过Python插件扩展:插件,链接器,代码树解析器,外部工具。语法分析器功能丰富,来自EControl引擎。
CudaText具有丰富的功能,包含项目,会话,语法突出显示,代码折叠,代码树,多插入符号,多选,自动完成,片段,搜索/替换正则表达式,宏,浏览器界面,标签组,分割视图,minimap,micromap,书签,很多HTML/CSS功能,可定制的键映射,主题等等。
Cudatext代码编辑器功能:
==============基础功能==============
支持多种语言(300+ lexers)。
代码树:函数/类等的结构,如果lexer允许的话。
代码折叠。
多个插入符号与多个选择。
使用正则表达式查找/替换。
配置为JSON格式。包含特定于lexer的语法。
选项卡式UI。
将视图拆分为主要/次要视图。将窗口拆分为2/3/4/6组选项卡。
命令调色板,配置模糊匹配。
小地图,微型地图。
显示未打印的空白。
支持多种编码。
可自定义热键。
二进制/十六进制查看器的文件的无限大小(可以显示10 GB的日志)。
正确保存二进制文件。
支持查看图片文件(JPEG,PNG,GIF,BMP,ICO,WebP)
==============HTML/CSS编码功能==============
智能自动完成HTML,CSS。
HTML标签完成与Tab键(片段插件)。
HTML颜色代码(#rgb,#rrggbb)下划线。
在编辑器区域内显示图片(jpeg/png/gif/bmp/ico)。
当鼠标移到图片标签、实体、颜色值上时显示工具提示。
==============作为插件实现的功能==============
插件管理器
在文件中查找
片段
LSP协议支持
外部工具
项目经理
会话管理器
宏管理器
拼写检测器
FTP面板
突出显示所有事件
拾色器
插入日期/时间
短绒支持(CudaLint)
Formats for HTML/CSS/JS/XML/.(CudaFormatter)
创建备份文件
菜单配置器
与更多...
Cudatext代码编辑器特点:
==============显示==============
除了进行实际编辑的主客户端区域外,程序窗口还支持菜单栏、工具栏、选项卡栏、标尺、状态栏、可以显示行号、书签与折叠栏的gutter与侧边栏(类似于垂直工具栏);左侧面板,可显示项目面板、代码树或选项卡列表;右侧面板(实际上是编辑区域的一部分),可以显示小地图与微地图;底部面板可以显示控制台、输出、验证与搜索结果。
客户区可能有多个选项卡,每个选项卡包含一个独自的文件,每个选项卡可以垂直或水平拆分,以提供该文件的给予两个单独视图。除此之外,客户端区域可以分成多达六个独自的组,这些组可以水平与垂直排列。每个组可以包含其自己的一组选项卡,并且这些选项卡中的每一个都能被拆分。选项卡可以在组中间自由拖动。每个选项卡与每个选项卡拆分视图可以单独地打开/关闭自己的标尺线、行号、折叠条、小地图与微地图,如果将选项卡拖到另一个组,这些设置将保留在选项卡中。
==============配置==============
CudaText是令人难以置信的可定制。侧边栏可以打开或关闭;侧面板与底部面板,包含行号的槽,工具栏,标签栏,标尺线,状态栏等都能打开与关闭。主题可以应用。可以为多种元素设置自定义颜色(包含背景)与字体,并调整元素的大小,例如设置标签栏、标尺线、状态栏等的高度。除此之外,可以设置客户端区域中文本行中间的间距,直到像素。这些设置允许整个UI被配置为完美地适应给定的屏幕面积。状态栏上的各个面板(行号/列号、选项卡大小、lexer等)可以被打开或关闭,它们的顺序可以被重新排列,并且它们的内容可以根据用户偏好来设置。甚至主菜单也可以完全自定义,添加新菜单与项目,并添加、重命名、重新排序或删除现有菜单及其项目。所有的热键(键盘快捷键)可以重新映射,新的热键也将显示在菜单中。与更.
所有这些定制都是有代价的。这里的CudaText,不像它的老兄弟SynWrite,应用了类似Linux的方法,所有设置都包含在标准文本文件中;在这种情况下是.json格式。要更改设置,用户必须编辑配置文件。这对于任何有经验的程序员或Linux用户来讲都没有问题,但对于第一次使用CudaText的用户或新用户电脑用户来讲可能会令人望而生畏。但是与Linux一样,这个问题在某种程度上被图形化的前端所缓解,作为插件实现的对话框实际上为广大网友修改了配置文件。CudaText可以直接使用,但是如果一个人花时间定制它以适应他自己的喜欢,最好的用户体验将会实现。
==============N多的插件支持==============
虽然CudaText是可定制的,但它也可以通过插件进行扩展。插件是一种很不错的方式来添加不需要成为核心代码一部分的附带功能。事实上,CudaText的大部分现有功能都是这样实现的。当然,依旧有某些类型的操作(主要是实时编辑功能),它们不能作为插件很不错地工作,最好作为主代码的一部分实现。稍后再谈这个。
插件管理器允许用户安装,更新,配置或删除插件,查看单个插件的自述文件或主页,或直接从Github安装插件。更新功能将扫描已配置的存储库,并向用户显示已安装插件的列表,与每个插件的安装日期与版本,沿着最新可用日期与版本。每个可用的更新版本的插件将被自动选择,允许用户轻很容易松地一次更新它们,或者他可以手动选择要更新的插件。
有N多的插件可从一组非常有能力的作者,包含一般功能,词法分析器,链接器,片段,主题与翻译。用户也可以开发自己的扩展。几乎所有插件都是用Python编写的。
==============语法高亮==============
CudaText与SynWrite共享其词法分析器引擎,它是我见过的最强大的引擎之一,其功能远远超过了很多其他编辑器中的语法突出显示功能。根据CudaText主页,现在有180多个词法分析器可用,并且这个数字还在增长。
如果您需要的lexer还没有创建,那么这个时候这个时候创建简单的lexer也很容易。当然,使用更高级的特性进行开发更具挑战性,但没有什么是经验丰富的程序员无法处理的。然而,问题在于,虽然CudaText使用并完全支持与SynWrite相同的词法分析器,但CudaText本身没有实际创建词法分析器的方法。需要安装SynWrite,它有一个完整的词法分析器创建工具,并在SynWrite中创建所需的词法分析器,随后可以由CudaText使用。
==============写作==============
虽然它是一个很不错的通用文本编辑器,但毫无疑问,CudaText主要是一个程序员的编辑器,由程序员为程序员开发。粗略地看一下它的功能就会发现它是多么适合这项任务。然而,开发人员已经认识到这一事实,现在正在有意识地努力扩展其能力,以适应更多的创造性写作任务。这是一个值得欢迎的趋势,我希望我们将看到这种趋势继续下去。
就在最近,我们看到添加了导航、格式化与调整段落的功能。段落现在可以被格式化为首行对齐,首行悬挂,作为块或作为引用块,并且可以左对齐,右对齐,居中对齐或完全对齐。现在可以使用特定段落的导航,命令可以跳转到开头、结尾与上一个与下一个段落。
现在,这些功能是通过插件实现的,并且只按需提供,而不是实时。这意味着每次编辑格式化的段落时,都必须通过按热键重新格式化,而不是在编辑时自动重新格式化。
CudaText支持平常的全屏模式,这会造成程序覆盖整个屏幕,隐藏标题栏与Windows任务栏。但它也允许用户配置哪些程序元素也应该隐藏(如果它们被打开),包含侧边栏,工具栏,标签栏,状态栏,左侧面板,底部面板与所有元素的gutter。除此之外,它还具有一个无干扰模式,可以自动隐藏所有这些,只留下菜单栏,标尺(如果打开),小地图/微地图(如果打开)与覆盖整个屏幕的客户区,让作者完全专注于他的文本。
==============拼写==============
早期版本的SynWrite具有出色的内置实时拼写检测功能,我充分使用了这一功能。在我看来,这是SynWrite最好的功能之一。后来的版本已经将拼写检测器移到了一个插件中,并且不再提供实时检测,虽然按需检测依旧很不错。
不幸的是,64位版本的CudaText根本没有拼写检测。就算在32位版本上,插件实现的、仅按需的拼写检测也只检测注释与字符串中的文本。现在,注释与字符串拼写检测正是程序员(当然包含64位程序员)所需要的,但福尔斯远远不能满足作者的需要,甚至不能满足通用文本编辑器的需要。这是一个巨大的缺点,我真诚地希望开发人员可以考虑恢复CudaText的SynWrite早期出色的实时拼写检测行为。
==============性能==============
CudaText在我提交的每一项任务上都非常快;没有任何延迟。这并不奇怪,因为它运行的是最新的硬件。
Cudatext代码编辑器部分功能界面一览: