这个神器,以为是文本编辑器,其实它是 MySQL 客户端,以为是 MySQL 客户端,其实它是 Redis 客户端
Posted 程序员狗哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个神器,以为是文本编辑器,其实它是 MySQL 客户端,以为是 MySQL 客户端,其实它是 Redis 客户端相关的知识,希望对你有一定的参考价值。
来源:gitee,作者:厉华
1. 概述
EditUltra
是中国人开发开源的性能卓越的文本/源码编辑器+数据库客户端+Redis客户端,她基于开源的富文本编辑控件
Scintilla
提供的基本文本编辑能力,实现了一个完整的文本/源码编辑器,还能直接提交SQL和Redis命令到数据库和Redis并以表格方式显示查询结果,整个软件只有10MB(不包含Oracle/mysql客户端库,需单独安装)。
EditUltra
主要功能包含但不限于:
-
多文件选项卡 -
WINDOWS资源管理器右键菜单打开文件/目录中所有文件 -
检测文件变动实时重载 -
文件打开期间自动设置为只读 -
文件换行符和字符编码转换 -
远程文件直接打开和保存 -
高级的切剪、复制和粘贴 -
查找和替换 -
快捷键快速选择单词、行 -
高级移动 -
高级累积选择、多位置同步操作、多文本块选择、列选择 -
选定文本后自动高亮上下文中相同文本 -
BASE64编解码、散列摘要计算和加解密 -
书签 -
导航 -
白字符显示 -
编程语言语法高亮、自动完成和方法浮动提示,语句块折叠展开 -
连接Oracle/MySQL,获取全表字段列表,执行SQL,显示查询结果到表格 -
连接Redis,执行命令,显示查询结果到树 -
配置执行对文件、选择文本的命令
EditUltra
完全使用
C
用
纯WIN32API
编写而成(v1.0.0.3大约有近2万行代码),又加入了众多优化算法和数据结构,提供了极高的运行效率和较低的系统资源占用,秒开文件,键入时毫秒级弹出自动完成列表。
2、开发历程
UltraEdit
是我使用比较长的一款软件,最新版本的
UltraEdit
带来了很多新功能,但是知名品牌“烈火”却迟迟搞不定Hack,我想,从事软件开发积累多年经验的我难道就不能自己写一个吗,需要什么功能就自己加(真香?),并以开放源代码方式发布,于是拾起大学时代的VC撸起袖子直接开干,先取个名字,不就是对标
UltraEdit
吗,就反过来叫
EditUltra
。
Scintilla
可以让我的开发工作神速推进,但阅读完其网上贫瘠的中文资料和官网上也不算丰富的英文文档后,才发现它真的只能当作VC工具箱里的一个稍微高级点的控件而已,大量功能都得自己撸,像多文件选项卡的控制(WINDOWS TABS控件不提供鼠标调整位置,自己增强呗)、远程文件直接打开和保存(Linux C开发必需)、自动完成列表的内容管理(
Scintilla
只提供了调用者给定列表、弹出和关闭接口,而不负责列表的筛选、管理等)。
3. 安装
3.1. 绿色安装
EditUltra
只提供64位绿色版,免费下载和使用。
D:Program FilesEditUltra-latest.zip
D:Program FilesEditUltra
editultra.exe
即可启动。
-
如需内嵌 Oracle
客户端功能,须自行安装Oracle
,并将WINDOWS环境变量PATH中加入oci.dll
的所在路径。 -
如需内嵌 MySQL
客户端功能,须自行安装MySQL
,并将WINDOWS环境变量PATH中加入libmysql.dll
的所在路径。
环境
->
文件右键弹出菜单
。
环境
->
目录右键弹出菜单
。
editultra.exe
,再执行以上菜单即可。
3.2. 源码编译安装
Visual Studio 2019
。
4、功能导览
4.1. 一级菜单"文件"
4.1.1. 文件操作
新建
、
打开...
、
打开最近
、
保存
、
另存为...
、
全部保存
、
关闭
、
关闭所有文件
、
关闭除当前外所有文件
。
文件变动检测
可在每次文件选项卡选择该文件时自动检查文件是否变动,如果变动则重载文件。
打开文件后设置为只读
可在文件编辑期间临时对文件设置只读权限,防止别人打开修改。
新建文件换行符
设置新建文件时使用的哪个操作系统风格的换行符。二级菜单
全文转换换行符
可在打开文件后调整文件中的换行符风格。换行符风格目前支持
WINDOWS(CR+LF)
、
MAC风格(CR)
、
UNIX/Linux风格(LF)
。
4.1.3. 字符编码
新建文件字符编码
设置新建文件时使用的字符编码。二级菜单
全文转换字符编码
可在打开文件后调整文件中的字符编码。字符编码目前支持
UTF-8
、
GB18030
、
BIG5
。
4.1.4. 远程文件管理器
测试远程文件服务器连接
测试,如果测试通过的话,点击
新建远程文件服务器连接
加到左边列表中,注意
连接名称
中不能包含空格等白字符。
更新远程文件服务器连接
会把右边的信息修改到左边的列表中。左下角的
删除远程文件管理器连接
会删除左边列表中的当前选择项。
conf
fileser_(连接名称).conf
。
密码
不填的话,会在每次启动后第一次展开
文件资源管理器
中该连接时要求输入密码,如果密码正确成功连接上,后续文件操作无需再输入密码。
4.2. 一级菜单"编辑"
4.2.1. 剪切、复制、粘贴和删除
高级剪切
的三级菜单项
剪切行
用于剪切当前行到剪贴板,无需事前选择,
剪切粘贴行
把当前行移到下一行的下面,剪贴板里遗留一份当前行内容。
高级复制
的三级菜单项
复制行
用于复制当前行到剪贴板,无需事前选择,
复制粘贴行
把当前行向下复制一份,剪贴板里遗留一份当前行内容。
高级粘贴
的三级菜单项
粘贴行
用于把剪贴板里的内容粘贴作为当前行,
往上粘贴行
则是向上粘贴。
高级删除
的三级菜单项
删除行
用于删除当前行,无需事前选择。
4.2.2. 合并行
合并行
把下一行拼接到当前行的末尾,无需事前选择。
4.2.3. 大小写转换
大小写转换
用于对选择文本一起转换为大写或小写。
4.2.4. 启用编辑辅助功能
启用自动补全关闭符号
当在编辑区输入
(
、
[
、
{
、
'
、
"
时自动补全关闭符号,但光标还是定位在输入字符和关闭字符之间。
启用自动缩进
当在编辑区输入回车时,如果当前行左边有白字符(空格、TAB),下一行也会自动加入这些白字符,光标定位在自动补充的白字符后面。
4.2.5. BASE64编解码
EditUltra
支持用户直接对编辑区选择的文本做BASE64编码,并自动替换原选择文本,编码和解码是可逆的。
4.2.6. 散列/消息摘要
EditUltra
支持用户直接对编辑区选择的文本做散列/消息摘要,并自动替换原选择文本,摘要算法是不可逆的。目前支持的摘要算法有
MD5
、
SHA1
、
SHA256
。
4.2.7. DES加解密
EditUltra
支持用户直接对编辑区选择的文本做3DES加解密,弹出对话框输入密钥(24字符,非十六进制展开),加密后按十六进制展开自动替换原选择文本,解密过程同之。
4.3. 一级菜单"搜索"
4.3.1. 查找和替换
查找...
弹出查找对话框
普通文本
或
正则表达式
作为源匹配编辑区的文本,可选项
整词匹配
、
大小写匹配
、
匹配单词开始
决定匹配方式,非模态对话框按钮
查找上一个
、
查找下一个
在不关闭查找对话框时定位编辑区匹配字符串处。
查找下一个
(或快捷键
F3
)、
查找上一个
(或快捷键
Ctrl+F3
)在不打开查找对话框直接匹配定位编辑区查找结果。
替换...
弹出替换对话框
替换上一个
、
替换下一个
、
全部替换
在不关闭替换对话框时替换所有编辑区匹配字符串处。
4.3.2. 快速选择
全选
或快捷键
Ctrl+A
选择全文,
选择单词组
或快捷键
Ctrl+W
全选当前位置所在单词,
选择行
或快捷键
Ctrl+L
全选当前位置所在行。
4.3.3. 高级选择
向右累积选择单词
、
向右累积选择单词组
、
累积选择到下一个语句块首行
用于累加调整选择文本。
向右累积选择单词
自动选择从当前位置到单词最后一个字母,
向右累积选择单词组
自动选择从当前位置到变量名结束,
累积选择到下一个语句块首行
自动选择从当前位置到空行分割的下一个语句块首行。
向左累积选择*
亦然。
EditUltra
支持定位多个位置或选择多个文本块,联动操作:输入、退格键、删除、复制等,快捷键为Ctrl+MouseLButtonClick或Ctrl+MouseLButtonDown+MouseMove+MouseLButtonUp+...。
EditUltra
支持列选择,联动操作:输入、退格键、删除、复制等,快捷键为Alt+MouseLButton+MouseMove或Alt+Shift+Left/Right/Up/Down。
4.3.4. 高级移动光标
vim
同等的快速处理。
4.3.5. 书签管理
书签
提供了对任意打开文件的任意行做行标记,便于事后快速跳跃。
切换书签
的快捷键是
F9
,
增加书签
的快捷键是
Alt+F9
,
删除书签
的快捷键是
Ctrl+F9
,
删除所有书签
的快捷键是
Ctrl+Shift+F9
。
跳到上一个书签(当前文件)
的快捷键是
Ctrl+F2
,
跳到下一个书签(当前文件)
的快捷键是
F2
,
跳到上一个书签(所有打开的文件)
的快捷键是
Ctrl+Shift+F2
,
跳到下一个书签(所有打开的文件)
的快捷键是
Shift+F2
。
4.3.6. 导航操作
导航
提供了由于鼠标点击定位而产生的位置链的快速退回功能,比如临时到另外一个文件中去复制一个字符串,然后直接跳回来。
退回到上一个位置(当前文件)
的快捷键是
Ctrl+Back
,
退回到上一个位置(所有打开的文件)
的快捷键是
Ctrl+Shift+Back
。
4.4. 一级菜单"视图"
4.4.1. 显示/隐藏文件资源树
文件资源树
用于显示/隐藏主窗口左边的
文件资源管理器
区域。
4.4.2. 调整字体颜色方案
字体颜色方案
用于调整字体颜色方案。
EditUltra
支持编程语言语法高亮、键入时弹出自动完成框、浮动显示语法提示、快速定位到库函数名等符号定义处。
字体颜色方案
对话框左下角为无高亮的普通文本和当前活动行的字体颜色设置,对话框左边为编程语言(C++、Java、Python等)的字体颜色设置,对话框右边为标记语言(HTML、CSS等)的字体颜色设置。
4.4.3. 显示/隐藏行号/书签
显示行号
、
显示书签
用于显示/隐藏编辑区靠左的辅助区域里的行号、书签等标记。
4.4.4. 显示/隐藏白字符
显示白字符
用于使用可见标记显示空格和TAB,
显示换行符
用于使用可见标记显示换行符,
显示缩进线
用于使用可见标记显示同一缩进行集的缩进竖线。
4.4.5. 缩放
缩放
里面的
放大
和
缩小
用于调大字体显示大小,不影响打印大小,不受字体颜色方案影响。可用
重置缩放
恢复原大小。
4.5. 一级菜单"编程"
4.5.1. 语句块折叠
启用语句块折叠
用于开启/禁用语句块折叠功能,折叠标记显示在编辑区靠左的辅助区域中。
语句块合拢
和
语句块展开
用于合拢和展开当前层级的语句块,
语句块折叠切换
用于切换合拢和展开。
全部语句块合拢
和
全部语句块展开
用于一键合拢和展开所有层级的语句块。
4.5.2. 源代码符号表
EditUltra
预置了众多语言的符号提取正则表达式(位于配置文件
conf/doctype_(语言名).conf
中的
symbol_reqular_exp
配置值),匹配出来的符号显示成编辑区右边的符号列表框中,可鼠标左键双击符号直接跳到符号定义处。用户可根据需要,自行修改配置文件以调整匹配式。
跳到符号定义
或快捷键
F11
可直接选定光标所在位置的单词组,从符号列表中查询出编辑区行号,跳到该行。
4.5.3. 自动完成和语法提示
EditUltra
预置了众多语言的关键字和库函数名,(位于配置文件
conf/doctype_(语言名).conf
中的
autocomplete.set
和
calltip.add
配置值),当用户键入前N个字符时
EditUltra
会根据优化过的算法和数据结构快速筛选出匹配前N个字符的所有
autocomplete.set
组合,弹出自动完成框提供用户选择,当用户键入
(
、
,
时
EditUltra
会根据匹配的
calltip.add
,显示语法提示。个别语言可能会有不同的用户操作差异性,比如HTML的属性名自动完成列表是在用户在标记名后键入空格就自动弹出。用户可根据需要,自行修改配置文件以扩展名字空间。
4.5.4. 数据库SQL文件
EditUltra
约定了
.sql
为存放数据库SQL的文本文件,额外的,如果发现文件内容以某一特定注释格式(数据库自动连接配置头)出现,则提取相关信息作为连接数据库的参数,在打开文件完成后自动连接数据库,并获取所有能访问的表名列表以及字段信息列表显示到编辑区右边的符号树框中,用户等待连接完成后可直接选择文件后面的SQL并执行,如果执行的是
SELECT
语句还会把查询结果显示在编辑区下面的表格中。
Oracle
的数据库自动连接配置头长这个样子:
-- EDITULTRA BEGIN DATABASE CONNECTION CONFIG
-- DBTYPE : Oracle
-- DBHOST : (SIG)
-- DBPORT : 0
-- DBUSER : (连接用户名)
-- DBPASS : [连接用户密码]
-- DBNAME :
-- EDITULTRA END DATABASE CONNECTION CONFIG
Oracle
配置示例:
-- EDITULTRA BEGIN DATABASE CONNECTION CONFIG
-- DBTYPE : Oracle
-- DBHOST : CALVINDB
-- DBPORT : 0
-- DBUSER : calvin
-- DBPASS :
-- DBNAME : calvindb
-- EDITULTRA END DATABASE CONNECTION CONFIG
MySQL
的数据库自动连接配置头长这个样子:
-- EDITULTRA BEGIN DATABASE CONNECTION CONFIG
-- DBTYPE : MySQL
-- DBHOST : (ip)
-- DBPORT : (port)
-- DBUSER : (连接用户名)
-- DBPASS : [连接用户密码]
-- DBNAME : (库名)
-- EDITULTRA END DATABASE CONNECTION CONFIG
MySQL
配置示例:
-- EDITULTRA BEGIN DATABASE CONNECTION CONFIG
-- DBTYPE : MySQL
-- DBHOST : 127.0.0.1
-- DBPORT : 3306
-- DBUSER : calvin
-- DBPASS : calvin
-- DBNAME : calvindb
-- EDITULTRA END DATABASE CONNECTION CONFIG
数据库自动连接配置头
比较难记,二级菜单
插入数据库自动连接配置头
可直接插入配置模板到当前SQL文件中,所以不用刻意去记她,不过每个配置项的含义和用法还是要记忆的。
执行选定SQL
或快捷键
F5
用于执行选定的SQL语句。
4.5.5. REDIS文件
REDIS自动连接配置头
以及一键执行同数据库。
4.6. 一级菜单"环境"
4.6.1. WINDOWS资源管理器右键菜单
文件右键弹出菜单
用于向WINDOWS资源管理器右键菜单注册/卸载
用 EditUltra 打开文件
菜单项。
目录右键弹出菜单
用于向WINDOWS资源管理器右键菜单注册/卸载
用 EditUltra 打开目录中所有文件
菜单项。
EditUltra
主程序。
4.6.2. 处理当前文件和当前选择文本的命令
EditUltra
允许自定义格式命令用于一键处理当前文件或当前编辑区选择文本。
配置处理文件的命令
用于配置处理当前文件的格式命令,用
%F
占位文件名,
执行处理文件的命令
用于执行该命令。
配置处理选定文本的命令
用于配置处理当前选定文本的格式命令,用
%T
占位选定文本,
执行处理选定文本的命令
用于执行该命令,比如打开浏览器提交选定文本为关键字给搜索引擎。
4.7. 一级菜单"帮助"
关于
展示
EditUltra
软件版权和引用第三方库列表。
4.8. 目前支持语法高亮的语言列表
conf/doctype_(语言名).conf
,一般
keywords.set
配置为语法高亮单词列表,
keywords2.set
配置为库函数等第三方符号列表,
autocomplete.set
配置为键入时弹出自动完成单词列表,
calltip.add
为浮动显示语法提示文本,
symbol_reqular_exp
为正则表达式匹配源代码出符号表放到编辑区右边列表框供鼠标左键双击后直接跳到定义处行。
4.9. 启动速度评测
5. 最后
EditUltra
,中国人开发开源的小巧快速又功能丰富的文本/源码编辑器(内嵌数据库客户端、Redis客户端)。
或许你还想看
以上是关于这个神器,以为是文本编辑器,其实它是 MySQL 客户端,以为是 MySQL 客户端,其实它是 Redis 客户端的主要内容,如果未能解决你的问题,请参考以下文章