adonais / skylark

Skylark Editor is written in C, a high performance text/hex editor. Embedded Database-client/Redis-client/Lua-engine. You can run Lua scripts and SQL files directly.
https://sourceforge.net/projects/libportable/files/Skylark/
GNU General Public License v3.0
461 stars 45 forks source link

我打开一个大一些的离线html文件(4MB),然后打开直接为hex模式,无法切换为文本模式 #51

Closed winsel closed 1 year ago

winsel commented 1 year ago

Skylark Edit v3.0.5 64bit (UNICODE) 编译信息: clang 15.0.7 (2023-02-27 12:45:42)

adonais commented 1 year ago

这个跟文本大小没关系, 可能是你的html文件里包含有隐含奇怪的不可打印字符

winsel commented 1 year ago

主要是明明是html文件,结果只能固定在hex模式,不能切换文本模式,导致文件无法查看和编辑了(ctrl+h无效,),我觉得应该要任何时候都能手动切换16进制模式和文本模式才能避免这个问题.

winsel commented 1 year ago

链接: https://pan.baidu.com/s/1k_MHQkqNCaKe7oAXVjIfaA?pwd=58j6 提取码: 58j6 出现问题的文件是这个,打开怎么都无法编辑.

winsel commented 1 year ago

大佬有空看一下,编辑器很好用,正在逐步替换notepad++

adonais commented 1 year ago

链接: https://pan.baidu.com/s/1k_MHQkqNCaKe7oAXVjIfaA?pwd=58j6 提取码: 58j6 出现问题的文件是这个,打开怎么都无法编辑.

你发错文件了吧, 这是一个压缩文件, 解压后是一些ino, 并没有你说的html文件. 并且我测试了每个文件都可以正常编辑.

adonais commented 1 year ago

链接: https://pan.baidu.com/s/1k_MHQkqNCaKe7oAXVjIfaA?pwd=58j6 提取码: 58j6 出现问题的文件是这个,打开怎么都无法编辑.

你发错文件了吧, 这是一个压缩文件, 解压后是一些ino, 并没有你说的html文件. 并且我测试了每个文件都可以正常编辑.

adonais commented 1 year ago

主要是明明是html文件,结果只能固定在hex模式,不能切换文本模式,导致文件无法查看和编辑了(ctrl+h无效,),我觉得应该要任何时候都能手动切换16进制模式和文本模式才能避免这个问题.

要考虑如果真是二进制文件, 上GB的那种, 如果让它们切换到文本模式将是一场灾难, 编辑器将会卡很久. 不过你的这个提议也很有用, 如果文件小于200M, 并且是skylark语法高亮支持的类型, 可以让它们转换为文本类型. 你可以把那个html文件给我看看, 是为什么会被识别成二进制, 也方便我对上面所描述的功能就行测试.

winsel commented 1 year ago

链接: https://pan.baidu.com/s/1ei2w7DQUE3H0vetMOqbc2A?pwd=jm2i 提取码: jm2i ,这个,不好意思,真发错文件了,

winsel commented 1 year ago

对于上GB的那种,可以在强行切换文本过程跳出一个 大文件有可能卡死或者缓慢的提示框,有时候也会有要编辑到上百MB的文件场景

adonais commented 1 year ago

链接: https://pan.baidu.com/s/1ei2w7DQUE3H0vetMOqbc2A?pwd=jm2i 提取码: jm2i ,这个,不好意思,真发错文件了,

有些屏幕不显示的字符被编程人员用输入法硬敲进去了, 这不是一个好的编程习惯. 你可以使用其他编辑器打开html文件, 使用正则表达式[\x01-\x06]搜索这些字符, 然后替换成16进制表示, 比如说ETX改写成\x03, EOT改成\x04

gsh456 commented 1 year ago

我的部分log 文件也是 打开为二进制。

adonais commented 1 year ago

我的部分log 文件也是 打开为二进制。

也同时修复了, 不再对高亮语法支持的文件类型进行二进制检测.