LiMinggang / madedit-mod

MadEdit-Mod is a cross platform Text/Hex editor(based on the madedit project @ sourceforge)
GNU General Public License v3.0
124 stars 27 forks source link

Hope to add shortcut on the fast find toolbar and the search result window #126

Open zhulaojianke opened 8 years ago

zhulaojianke commented 8 years ago

The fast find toolbar is a very good method to jump in a line or a long text, but now we must use mouse click the button, that is inconvennietly sometimes when we input text -- we must take the hand out of keyboard and use the mouse. If there are some shortcut key (user can custom them by self), the workflow would be more smooth than ever. And the Search Result Window is also a very important function in Search job, but now we must right click mouse to duplicate some results, duplicate all, or empty it. Sometime the search results are accumulated very very much, if we can empty the window by one hotkey, it will take much more convenniet during using MadEdit-Mod.

中文: 希望在快速搜索工具条的上按键和搜索结果中添加一些用户可以自定义的快捷键

这个灵感是来自Vim,在Vim中有“f”和“F”可以在行内进行搜索定位跳转,说不定这个功能是Vim用户用得最多也是最离不开的一个功能了。比如说以下这句话:

I found a good chance to win the game.

一开始我的光标停止在"I"的前面,然后我输入“fg”,就可以跳转到good的“g”上了,我再输入一次“fg”,光标就可以跳转到game的“g”上了。如果此时我输入“Fw”,光标就会向前跳转到win的“w”上。嗯,在Vim中还可以在“f”或者“F”后面加数字,实现更长步的跳转。既然现在MadEdit-Mod中的“.”可以在正则表达式状态下识别换行符,那么如果在操作“快速搜索”条上更方便顺手一些的话,实现在小范围内快速复杂的跳转就可以很方便了。

按说这个用鼠标来点的话也能实现,但如果手不离开键盘的话(只按快捷键就可以了),跳转会更痛快,而不会打断编辑录入工作。

在我使用MadEdit-Mod的过程中大量的使用Search窗口,窗口中的一些按钮使用alt + 后面的提示字母,这样的快捷键已经是整个搜索替换过程非常舒适了。但搜索结果窗口中,就只能用鼠标右键单击才能调出相应的操作菜单,尤其是在清空搜索结果的时候,如果能够用一个快捷键清空的话,使用的体验就会更好了。

LiMinggang commented 8 years ago

类似VIM的command mode编辑对窗口式的程序基本不太可能,除非从头来,那就成了GVIM了。后面这个搜索结果的快捷菜单应该是可以实现的。

zhulaojianke commented 8 years ago

我说的意思不是用命令行驱动查找,我是想说只要给快速搜索条上的按钮加上快捷键就可以达到与vim相同的跳转效果了。Vim的几个模式来回切换在大键盘上用起来还成,但在笔记本的小型键盘上用(主要是那个esc键和f1、“`”键离得太近)就不方便了。

LiMinggang commented 8 years ago

Result window的快捷键有啥推荐的吗?最好不要跟现有的重复,然后又有其他软件使用同样的功能 目前想到的就是: 拷贝选中的 拷贝所有 清除结果

zhulaojianke commented 8 years ago

刚才写了一大堆,结果手贱,按了一个f5,刷新了……

重新写!

您的这个问题使我想了很多,出了一个方案之后感觉有些乱就给删掉了,刚才又写了一个方案,结果被我f5了……

我试了一下,现在MadEdit-Mod的标签,当我手动添加标签之后,在搜索面板中选择“搜索结果添加标签”和“每次搜索时清空标记”这两个选项时,我自定义的标签也会被清空。所以我感觉在MadEdit-Mod中的标签(或者书签)实际上是一个临时的存在,辅助进行“行编辑”用的。

我是想通过若干次正则搜索,简单的自定义建立起一篇长文档的文档大纲,从而达到导航的作用。

现在说说我的方案: (1)把“标签”(tag)和“书签”(bookmark)的概念分开。

将“搜索结果窗口”从底部移至窗口右侧,并分栏,如下图所示:

标签可以使用鼠标或当前快捷键(我给改成f2切换标签,alt + f2清空所有标签)添加或删除,书签则使用alt+b快捷键和导航工具条进行添加删除。使用ctrl + alt + b清空所有书签(用户可以对这些快捷键进行自定义)

添加“标签”的行左侧会出现“蓝点”,添加书签的行会出现在“书签浏览窗口”中。

“标签”起到“激活当前行”的作用,激活之后,可以对标签行进行复制、剪切、替换、删除(以及删除无标签行,二次搜索替换)等等操作。

使MadEdit-Mod可以记住上次关闭前该文档的书签位置,这样只要建立一次书签,就一劳永逸了。

(2)书签浏览窗口

在书签浏览窗口中不能进行文本编辑,可以进行复制选中的、复制所有、删除选中的、清空等操作,但不会影响到所编辑的文本,“删除选中的”以及“清空”仅是去除了相应行的书签。

对选中的行,有一个“标记所选书签”的选项,选择后添加标签,并在编辑窗口和书签浏览窗口中相应行左侧同时出现小蓝点。用蓝点激活后,就可以进行相应的标签行操作了。 同样,对已有标签的行,可以添加书签,添加后在“书签浏览窗口”中可见。

书签浏览窗口中的行严格按照行号排序,在编辑窗口中对书签行进行的编辑(修改文字、删除,或者发生了行号的变化),在书签浏览窗口中可以同时刷新,或者手动f5刷新(用户可以自定义这个快捷键)。

在书签浏览窗口中可以对文档进行“块编辑”,即我通过ctrl + 方向键或者鼠标选择拖曳,改变了书签浏览窗口中的行的次序,在编辑窗口中相应的文本块(多行)也发生移动。这需要使书签浏览窗口中的行代表编辑窗口中相邻两个书签之间的所有文本。

(3)搜索结果窗口

和现在的差不多,搜索结果树状列出,可以进行复制选中的、复制所有、情况等操作,仅是添加了一个“将选中的添加为书签”选项。

编辑窗口中被添加标签的行,在搜索结果中相应行的左侧也会出现小蓝点。

也就是说“蓝点”这个标签标记在这三个窗口中是同步的。


这样您上面的问题就可以很好的解决了,而且还进一步丰富了MadEdit-Mod的功能。 给这三个窗口之间的跳转增加快捷键: ctrl + shift + 1,编辑窗口; ctrl + shift + 2,书签浏览窗口; ctrl + shift + 3,搜索结果窗口。 (其实用ctrl + 1,2,3也不是不行,只是我怕这么简单的快捷键已经有用户在使用了。这个跳转快捷键可以自定义。)

跳转后,光标在相应的窗口中激活,然后就可以使用传统windows(或其他系统的)快捷键进行复制、删除、选择等等操作了——不允许进行的操作,相应的快捷键也不起作用。

在书签浏览窗口和搜索结果窗口中,使用相同的添加删除书签或标签的快捷键进行操作: 书签浏览窗口:按f2,给所选行添加或删除标签;按alt + f2,清空书签浏览窗口中所有标签(编辑窗口、搜索结果窗口中的其他标签不受影响);按alt+b,从书签浏览窗口中删除该书签(delete的效果是一样的);按ctrl + alt + b清空所有书签(ctrl+ a,delete达到的效果是一样的) 搜索结果窗口:按f2,给所选行添加或删除标签;按alt + f2,清空搜索结果窗口中所有标签(编辑窗口、搜索结果窗口中的其他标签不受影响);按alt+b,是所选定的行在书签浏览窗口中出现或者消失;按ctrl + alt + b清空搜索结果窗口中的所有书签(书签浏览窗口中的其他书签行不受影响)。在搜索结果窗口中清空,ctrl + a,delete,仅清空窗口,但不会对书签发生影响。

最后,因为在编辑的时候,文本行号可能会随时发生变化,如果要让行号的变化在书签浏览窗口中同时发生,可能会增加系统运行负担,我感觉可以设定为“当光标聚焦在书签浏览窗口的时候对该窗口进行一次刷新”,或通过手动f5刷新;当在“书签浏览窗口”中调整了某行的位置时,编辑窗口中进行的是剪切粘贴的操作,此时也可以让MadEdit-Mod延时0.5s之后再做响应,这样防止我用ctrl+方向键上下移动行时,使编辑窗口内的文本频繁刷新,增加系统负担。

LiMinggang commented 8 years ago

没想到我一句话引起你这么大的兴趣,原本只是想把原有的几个清理拷贝命令做成快捷键就好。 首先感谢你的信任和细致的工作和设计,但是,我觉得这个对于文本编辑器来说太复杂了,实际有点类似编程使用的IDE,这些可以记忆很多信息,标签,断点信息等等。 你设计的这个功能太“重”了,我对MadEdit的定位还是一个编辑器,而不是向IDE靠拢,不然有太多的功能需要做。

zhulaojianke commented 8 years ago

嗯,好吧……我也是想把txt文档的编辑体验提高一个档次哈。

那什么,那我就直接回答您的问题吧: 当光标在“搜索结果窗口”中被激活时,使用传统的windows(或其他系统)的快捷键进行选择、复制、清空即可。 切换窗口的快捷键可以为: ctrl + shift + 1,主窗口; ctrl + shift + 2,搜索结果窗口。 或者用鼠标直接定位。

另外,我还是希望您能把搜索结果窗口挪到编辑窗口的右侧,因为对于长文档的搜索结果,往往一下子就是几百行,上千行,放在底下太扁了,要浏览搜索结果很不方便,而且搜索窗口的右边部分根本是浪费掉了的空间。

LiMinggang commented 8 years ago

那个窗口可以拖动的,缺省是在底部

zhulaojianke commented 8 years ago

噢!我刚发现!那么能不能让它默认在右侧并默认开启呢?

LiMinggang commented 8 years ago

编程放在底部的,现在文本行都很长,像你们这样的专业用户并不太多。像我平时遇到20兆的文件就算是大文件了。 可以考虑记住位置。

zhulaojianke commented 8 years ago

嗯,是,我刚才也发现了,MadEdit是可以通过一个编程窗口进行编程的,那样放在旁边确实就不方便了。

LiMinggang commented 8 years ago

不是这个编程:),我是说,就这么设计的,定死在底部 m_AuiManager.AddPane( mInfoNotebook, wxBOTTOM, ( "Information Window" ) );

zhulaojianke commented 8 years ago

那还是能够记住位置要好些了。我看那个信息窗口是一个有标签页的窗口,除了能够显示“搜索结果”之外,还能显示其他的页面吗?如果没有的话,我觉得那个标签页就是多余的,可以删掉的。

zhulaojianke commented 8 years ago

另外我能在这个issue中了解一些八卦么?比如说您对MadEdit-Mod的定位是什么?您是怎么看待wxMEdit的?

LiMinggang commented 8 years ago

你想听八卦就加留个IM的联系方式吧,在这里八卦不太合适

LiMinggang commented 8 years ago

最初的这个窗口只是用来显示多文件的查找替换结果的,我增加了当前文件的查找全部的功能,就把结果放里面了,这个窗口比较简单,所以没其他功能

LiMinggang commented 8 years ago

我对这个的定位?其实没有仔细想过。从发现到使用用这个已经近10年,最初是想找一个UE的替代产品: 支持列编辑,十六进制编辑。 后来发现一些问题,然后原作者在沉寂付出后再次放弃,只能自己修理,后来觉得反正也做了就贡献出来吧。才有了这个项目。 然后希望有些自己常用的功能,拼写检查,其他编辑器的优秀功能等等。然后为了省去自己的重复劳动,又加了宏。所以基本都是为自己使用,然后贡献出来给同样需求的人用。 基本定位就是:轻量级---比如我会用一些不跨平台的方法解决问题,而不是像wxMedit那样引入巨兽级别的库,像他引入icu只为解决一些边角的unicode问题。 不追求100%完善,但用最小代价解决85%的问题,比如现在比较流行的code folding和自动匹配,可能相当时间都不会考虑,只有我一个开发者,业余时间,所以 稳定是最重要

zhulaojianke commented 8 years ago

啊,您都说了,我也不必留即时联系方式了哈。我只用一个付费的Email服务,QQ是用来工作联系业务的,也不方便打听八卦哈。

如果“搜索结果窗口”没有其他功能的话,我觉得多标签(或者使用标签页的形式)就没必要了,现在多文件查找,在搜索结果中使用不同的树就可以很清楚的看出来,直接将窗口的名字替换为“搜索结果”更直观一些。

我打听您对MadEdit-Mod的定位的目的是为了了解您维护这个软件的初衷,以便于将来我提bug和提出enhancement更能够得到您的认同,方便我们的合作,您说是吧?

之所以问您对wxMEdit的看法,是因为我一开始接触MadEdit之后,搜索发现wxMEdit是MadEdit的后续版本,宣传造势很大,而几乎没有网站提到MadEdit-Mod。而实际上,我的试用体验是MadEdit-Mod要比wxMEdit舒服许多,而且您真的很勤奋,平均一个月就做一次小版本的升级。也因此我想帮助您测试并改进它,也使它能够成为我日常工作的一部分。

三个月前,因为工作需要,我开始大规模试用网络上能够找到的各种文本编辑器(正则表达式和Markdown也是在寻找文本编辑器的过程中学会的),同时也看各个博客中对文本编辑器的评论和对比,选来选去最后找到了您的这个MadEdit-Mod,不闹心,而且不用插件,启动很快,编辑较大的文档也不吃力,尽管没有其他文本编辑器那样有窗口split和各种功能窗口的dock,但好用不乱,能让我专注于处理当前面对的文本文件,很了不起。

这期间,我试用了Vim,阅读了Vim的作者写的《高效编辑文本的7个习惯》,感觉说的很有道理,但并没有说服我使用Vim……要不断的维护那个vimrc的文件这本身就很劳神。从那7个习惯里,我总结出的就是两条:高效灵活的“定位跳转”和稳定可靠的“查找替换”,能做到这两条,再加上良好的行编辑、列编辑(同步编辑)功能的话,基本上这个文本编辑器就好得没得挑了,其他的功能需求都可以用其他软件和Windows系统本身来解决。

我试用的结果,“定位跳转”Vim是做到头了,“查找替换”EditPad Pro是最专业的,“同步编辑”被SynWrite做绝了,相比之下其他的编辑器除了能够加载各种功能的插件之外都没有很突出的个性——但这3个大牛级的编辑器有一个共同的特点:不好用。

随着试用,我也有了自己对一个好的文本编辑器的理想。我业余是写小说的,职业是搞科研的,也看工地,在百度Mathcad吧当吧主……总之,很不靠谱吧。我处理的大多是中文大文档(繁简都有,各种unicode字符,学markdown也是为了使用它的mathjax输入复杂的数学公式以及制作网页版文件),按说使用word应该更好些,但学会正则表达式之后才发现word的那套通配符搜索替换规则简直是在作孽,渐渐的发现它的行编辑也不好用,列编辑只能选择不能输入编辑。而我觉得一个理想的文本编辑器是这样的: (1)尽量不要用插件来增加系统负担; (2)充分支持中文和Unicode字符; (3)跳转灵活,搜索稳定,可以随手定位到自己想要编辑的位置; (4)小巧,启动快,尤其是打开和编辑大文档要快; (5)可以通过键盘完成大部分工作流程(能不用鼠标就不用鼠标); (6)支持充分的行编辑和列编辑(有同步编辑更好,但不是必须的); (7)支持自定义快捷键和自定义语法高亮(尽管不是编程,但不同类型的字符使用不同的颜色特别方便快速阅读查错,一目了然的感觉。自从上次您给我指明了“syntax”文件内的文件后,我已经把MadEdit-Edit定制得很出色了!谢谢您哈!)

所以,您也看到了,我在您这里提出的建议也是围绕我的理想的。现在知道了您对MadEdit-Mod的定位,我也就理解了可能有哪些提案不会被您接受,我以后也会避免提出那些使您皱眉头的建议的。

据我所知,现在国内不少中文写作者都在使用MadEdit和wxMEdit进行小说、剧本和诗歌的文本编辑工作,原因正是MadEdit对中文的支持特别好,但MadEdit-Mod却为人所知不多,我也会在同行之间推广它的,它现在真的很好用!像zippo火机一样。

我喜欢给我喜欢的软件提建议,不是专为骚扰您,这两年我给绘图的GrafEq、文档整理用的Scrivener、做Markdown文件的Haroopad、3D建模用的VideoTrace、机构运动学计算用的Mechanical Expression、世慷(网名)编写的计算器等软件都提过bug和建议,是不是有点儿“闲人马大姐”的意思了?呵呵,能够使自己喜欢的软件用得更舒适稳定,是我这个小爱好的源动力吧。

嗯,也希望您不要放弃继续改进这个软件哈,我也会适可而止的,您放心。

zhulaojianke commented 8 years ago

另外,“搜索结果窗口”中的搜索结果是按照树排列的,能否加入下面两个功能: (1)“全部折叠”选项,这样当搜索树很多的时候,折叠起来,需要看哪个就打开哪个; (2)在每棵树的总根处,除了给出搜索文件路径之外,加上搜索所用的“表达式”或者“关键词”,这样在“全部折叠”的情况下也可以知道每棵树中的大概内容。

如此,即使我对同一篇文档使用多种关键词或表达式进行多次搜索,也可以很方便的重复利用以前的搜索结果,而不必重复进行相同的搜索操作了。

我把这个单开一个issue。

zhulaojianke commented 8 years ago

我给您推荐一个学习正则表达式最快的方法吧:

正则表达式30分钟入门教程 http://deerchao.net/tutorials/regex/regex.htm

不是说这个教程有多么权威(国产的几乎所有正则调试器都会推荐读者看这个教程),而是它确实能够让读者用30分钟掌握正则表达式的精髓。更好的中文教程可能就是那个deelx自带的帮助文件了,不过MadEdit-Mod里有些正则功能不支持,上面那个入门教程对使用和测试MadEdit-Mod的正则功能足够足够的了。

LiMinggang commented 8 years ago

我一直以为你是个学生,或者搞文字处理的。原来是网络作家,我自己写过一个宏就是整理网上小说的文本格式的。:) wxMEdit的主要问题就是它偏离的MadEdit的主线,项目成立后主要工作除了修bug外,主要就是重构,所谓重构就是给文件改名,给代码里面的对象改名,这些修改对用户不可见,但是,对其他的开源贡献者来说,基本就没法互相借鉴了。比如同样一个原来MadEdit已有的bug,大家都得自己修一遍。 我没有花力气去推广这个项目,虽然我这个比他还早(最早叫MadEdit-PV,在google上),因为没有利益驱动,然后当时觉得主要是面向国外,因为这个软件的最大特色是跨平台,linux,freebsd,mac都是可以的,使用和界面都一样。然后没想着给自己太多压力,主要动力是自己用。 我的思路是除了为了一些重要问题,尽量保证与原作者一致,这样相当于一个社区开发,大家可以方便的互相借用代码。

zhulaojianke commented 8 years ago

以后我发表了什么了有意思的文章,我会在结尾用超链接的形式标记上“Made by MadEdit-Mod”的。

LiMinggang commented 8 years ago

你发现了这么多问题本身已经是很大支持了,比如你发现的那个\W的支持问题,其实是所有的"\大写"这种正则都有问题,这个是MadEdit原生的问题,你试试wxMedit,同样的问题。

谢谢!

LiMinggang commented 8 years ago

加入一个”浏览标签行“的窗口是不是有必要?

LiMinggang commented 8 years ago

其实支持plugin的初衷有一个就是速度,一般来说,设计的好的软件应该是支持不加载任何插件,比如你现在的需求----你可以删除plugin下的东西,否则,这就不是plugin。

zhulaojianke commented 8 years ago

“浏览标签行”的本意和“搜索结果高亮”是一样的,对于大文档来说,做一次全局搜索得到的结果之间可能相隔好几页,而现在的标签除了搜索的时候能够给添加上之外,用户也可以自己手动添加阅读标签,此时就要关掉“每次搜索时清空标记”的选项才能保证自己设置的阅读标签不会被清除,如此的话,在页面里的标签就会越来越多,而且仅仅从“搜索结果窗口”中是不能看到自己在哪里设置过标签的。

我看其他的软件常用的方法是给标签编号,但这个方法很有局限性,比如说当我给一个文档手动添加了50个或者100个标签,而那些软件的编号系统一般仅支持10个(以方便使用ctrl + n键进行跳转);或者是当需要使用标签进行跳转时调出一个pop-up窗口,里面是一个下拉列表,仍旧很不方便;或者是给标签起名字,并提供所有标签的浏览页面,这是Vim的方法,但仍旧很不方便,你要记住大量的标签名字,以及那些名字都代表了哪个地方的标签。

而现在MadEdit-Mod的直接列出标签行及行号的做法很好的解决了这个问题,不必给标签编号或者起名字,直接让用户看到标签行的一部分内容,非常方便定位跳转的,所以我感觉如果不把这个优秀的特点利用起来,做一个“标签浏览窗口”或者“书签浏览窗口”的话,真的太可惜了。

尤其是用户可以通过“搜索定位”自定义出一个长文档的文本大纲,这很自由,不必非要按照文档本身的结构进行定制,而是按照用户关心的内容定制文本大纲,我感觉这可能是世界上任何一个文本编辑器都没有想到的人性化方案。而MadEdit-Mod既然现在已近支持给搜索行加标签的功能了,距离这个方便的功能仅是一步之遥。

我觉得如果不做独立的书签功能也没什么,终归让编辑器记住自定义的书签这件事儿本身就会对编辑器伤筋动骨(我想过使用Vim的VOom插件的那种方案,在temp文件夹里建立一个书签页的临时txt文件,让硬盘记住用户的自定义书签,但每次打开一篇文档就需要对temp文件夹进行一次扫描,这个过程也是浪费资源的)。

就像我上面想的方案中一开始提到的,现在MadEdit-Mod中的“标签”或者“书签”系统存在一个很大的矛盾: 带有“标签”的行是被激活的,可以进行行编辑(以及对标签行的搜索),但并不是所有的标签都需要进行这样的编辑,此时就要屏蔽掉(或删掉)一部分标签——而这些标签往往具有导航作用,一旦删掉了再重新建立就非常麻烦了。

因此我才想到将“标签”(tag)和“书签”(bookmark)的概念分开,也就是把“激活行”和“导航”这两个功能分开。

我觉得可以试试这么做,类似于VOom的方法,但不存储于temp文件夹,而是询问用户是否保存书签,如果用户点击保存的话,让用户自己找一个位置并对书签txt文本进行重命名,下次再打开这个文档的时候,这个“书签”文件就和这个文档关联上了,自动打开(或者当调出“书签浏览窗口”时打开),相当于让MadEdit-Mod同时编辑两个文本文件,但又不是Split窗口。

我感觉当文档的行数超过500行之后,使用书签进行跳转浏览的方式就非常有必要了——除非用户对那个文档仅仅是阅读而不是编辑。

zhulaojianke commented 8 years ago

现在还没觉得MadEdit的Plugin对使用有什么影响哈。

是这样的,我也是SketchUp的用户,而且有一阵子特别疯狂的给它安装插件,结果启动、运行什么的速度特别慢,好在我现在已经学会怎么用SketchUp裸奔了。前一段时间试用了NotePad++和Atom,感觉如果不安装插件的话,就好像少了一些什么,但安装了一些插件之后启动速度明显下来了。所以我才觉得有些功能如果软件能自带的话就尽量自带上,用插件很容易就陷入“插件收藏癖”的心理状态,最后就变得很闹心了。我觉得插件应该是“轮椅”一样的存在,对于用到它们的人来说分秒不可少,而对于用不到它们的人来说也不会盼着去用。

LiMinggang commented 8 years ago

MadEdit还不支持插件,我说的是软件插件的通用设计思路。我正准备给加上插件支持。

LiMinggang commented 8 years ago

提功能需求其实才能促进发展,只是这个网站没有一个投票这种选择,要是大多数用户有需求,然后又不是难以实现,其实是可以优先做的。只是因为是开源免费,所以需求不被接受就希望你们理解就好。开源社区是很需要你这样的热心人的。 我做的许多功能其实是来源于wxMedit上面有些人提出的需求,我觉得自己也用得着,就做了(所以希望你用英文写需求,因为其他用户可能不懂中文),比如列编辑插入数字序列。他那边把代码彻底变了,其实造成了力量分散,对MadEdit这个社区不是好事情。比如我实现了很多他那个社区用户需要的功能,有些是很难的,比如鼠标拖拽编辑,我是做了好久,他想移植也已经很困难了。而反过来我想移植他已经实现的功能也难度大了,还好,他增加的功能不多。 尽量快的发布也是开源软件发展的一个法宝。

zhulaojianke commented 8 years ago

我觉得MadEdit-Mod的发展现在不必再参考wxMedit了。

wxMedit的用户量较MadEdit-Mod多许多,而我感觉敢于在GitHub上对软件提建议或者意见的人更多的是编程人员吧,像我这样的非编程人员应该不会很多。那么,随着乐于在GitHub上发言的编程人员们众多意见的引导,渐渐的wxMedit就会像其他文本编辑器那样成为编程专用编辑器——逐渐的向重量级向IDE靠拢。

编程用的文本编辑器种类很多了,从网络上的文章看,人们早已经挑花了眼(其实在某种程度上已经有些大同小异的样子了),而照顾非编程人员使用体验的编辑器实话说并不多,而实际上这个用户群确实比编程人员群要大很多的。

现在MadEdit-Mod的实际下载使用量不很多,基于MadEdit本身的性质,更多的可能是将来会有更多的非编程人员(中文或外文工作者)来使用这个编辑器。

我提出的意见和建议并不能代表所有非编程人员的需求,但至少我在用它编辑纯文本,而且我很关心使用过程中的舒适性,可能会有一部分纯文本编辑用户会和我想法相同吧。

我并不是想左右您对MadEdit-Mod的维护开发理念,我只是想在MadEdit-Mod现有的功能基础上(现有的功能基础很好的),把这些功能的潜力和所能提供的便利性充分发挥出来,那时它肯定就是一个非常棒的编辑器了,而不必去劳神为它增加更多更大的功能。倒不是说它将多么卓尔不群,而是它好用,使整个文字编辑工作流很顺畅舒适。

我觉得软件的发展不一定单纯的指增加新功能,而是它的每一个功能都是必不可少的,每一个功能都在使用中得到了淋漓尽致的发挥,没有多余和累赘。在看Vim的介绍时,它的作者提到了一个”Unix精神“,作者认为软件应该把它自己本应该实现的功能做好做精道,能够很优秀的实现一个功能就已经很了不起了,至于其他的功能就让其他的同样优秀的软件去实现吧,所以他把Vim始终定位在”文本编辑器“上,而不像Emacs那样可以煮咖啡。

另外,咱们的好酒已经快酿成了,就不必怕巷子太深了。

LiMinggang commented 8 years ago

嗯,你误解我的话了,我说到的那个拖拽编辑实际是我自己为MadEdit做的第一个功能,之前都是解决作者遗留的一些导致程序崩溃的bug。拖拽编辑是我自己非常习惯和想要的功能,当时也是费了很大力气,因为要考虑各种情况。 我浏览wxMedit的Issues主要目的是移植一些bug的fix,这样我这边就不会有同样的问题还存在,毕竟我一个人的测试经历有限,实际是把它和它的用户作为MadEdit的测试者。这样有利于整个社区和软件质量的提高。比如,有一天你忽然觉得MadEdit-Mod很烂,你想转到用wxMedit,因为它提供了一个你非常喜欢的功能,但是发现你以前提过,或者MadEdit-Mod已经改好的一个问题居然在wxMedit还存在,是不是感到很纠结,还得再花大力气去跟作者沟通,还不知道啥时候能修好。

另外就是我觉得一些有趣的需求,比如刚才提到的那个列编辑中输入数列,这个功能我在下载别人网站上的东西的时候经常用。这实际上是word中那个编号的功能,我之前还试过引入更多的符号,比如★○●◇□#←↑▲△↓〓■这些特殊的东东包括中文字符,跟word类似,但是觉得得不偿失,程序尺寸会增大3~5兆,用户也很少用到。所以废弃了那个修改。

wxMedit离IDE差的还远,甚至比我这个项目离IDE更远。举例:拼写检查,宏,像现在你提出的记住搜索结果窗口的位置。

我用这个软件的初衷就是替换UE,因为还有十六进制编辑的功能,我又给增加了一些小东东,比如,十六进制中可以有插入模式----这个目前我所已知的所有其他编辑器都不支持。还有中文乱码修复的功能,这个你可以试试,我曾经挽救过一些乱码。(就是那个还原十六进制----因为中文乱码主要是损失了一个字节的信息导致错位了,这个时候你可以先复制十六进制串,然后删除前面多余的,再还原。)

wxMedit用户多主要是作者花了不少精力到处宣传,在各个MadEdit影响过的地方,我没下功夫去做这个事情,因为经常忙于其他工作。国外的博客网站经常被墙。

我都是经过甄别才会引用它的改动,其实很多我看过之后都放弃了,但是有些问题确实省了我一些力气。

zhulaojianke commented 8 years ago

呵呵,是。我也是想尽量做小的修改,不过从提案上看,貌似都很大哈…… :(

LiMinggang commented 8 years ago

嗯,有一些接近word提供的功能了