Zhu Xinyan

Results 22 issues of Zhu Xinyan

我看 #298 中因为MadEdit不支持“动态更新”而不能添加大纲功能——是不是指“树状列表”功能?outliner?我觉得如果MadEdit-Mod能够实现这个功能的话,那将成为有史以来对中文支持最好的树状列表文本编辑器了!——见好几年前“善用佳软”的那位老先生对十几种树状列表文本编辑器的比较和综述,可以百度查到(treepad、mempad等等)。 还有搜索结果不能跟随文本的更新而更新,我忘了是从哪个issue里看到的了……也是因为不能动态更新造成的。 我这两天因为在编写一个超大文件,经常要用“书签”功能,然后我发现当我在某个书签前添加行的时候,书签会自动下移。这给了我一些启发。 嗯,我也不知道我的这个想法是否可行哈,聊备一说。 在搜索过程中,有一个选项是“标记文本行”,如果不选的话,就不会加书签,选上了就会自动添加很多书签。这也给了我一些启发。 我想能不能这么做——建立3套书签系统: (1)就是现在用的这种书签,可以手动添加删除,可以通过搜索添加,也可以对书签行进行编辑。 (2)是隐形的书签系统,标记所有的搜索结果所在行,不管用户是否选了“标记文本行”,都会做这个动作。当用户选择了“标记文本行”,等于是激活了第(1)种标签系统。   搜索结果中所列出的“行”并不是直接读取当前文本中的行号,也就是说不是直接生成“文本快照”,相应的搜索结果中的“行(xxx)”也不是直接读取快照后生成的——而是通过下面的过程生成的,绕了一个弯儿:     ①给所有搜索结果添加隐形书签;     ②将隐形书签所在行的行号映射到搜索结果中,也即当隐形书签所在行发生了变化时,与其关联的搜索结果行号也同时变化,此时如果搜索结果中的“行(xxx)”文本因为“快照”的原因不能随之改变也没关系,至少其链接所到的行是正确的了。     是否可以这么做——将“行(xxx)”从搜索结果文本中分离出来,单独生成一栏,格式可以是列表式的,也可以是和左侧“行号条”一样的,嗯,这样就不必加“行”字了,只列出行号——这个行号是隐形书签所在行的拷贝,其他的行号都被忽略。     用数学编程的方式说就是假设所有行号是一个单调递增的单列矩阵(等差数组),搜索结果中的行号就是submatrix,或者trim。     如此,因为书签所在行号是随着文本编辑可以改变的,那么它在搜索结果中的映射也会自动改变,相当于一种“动态更新”的效果了。     ③搜索结果中的文本部分根据“行号栏”所分配的行号读取相应行的文本,当某行的行号发生改变时,该搜索结果显示的文本行自动更新一次。 (3)也是隐形的书签系统,工作原理跟(2)相同。将这个隐形书签与.syn文件中的DirectiveLeading相关联(或者其他的标记,或者新给出一个专门用于大纲标记的标记选项),这样当出现DirectiveLeading行,便会同时加一个隐形书签,然后在大纲页面对这种隐形书签行进行索引,然后显示出来。   拉树状列表时,只显示根目录即可,不必考虑2级或2级以上级别的目录,目录号由用户自己定义,比如说定义为不同的缩进(tab键),或者不同的章节符号(一、二、三……1、2、3……等等),当定义为不同的缩进时,显示出来的效果就是树状列表了。   “大纲窗口”相当于是现在的“搜索结果窗口”的一个复制品,同样允许用户给切换显示这个窗口设置快捷键。并设置一个“更新大纲”的命令,就是说如果MadEdit不支持动态更新的话,可以让用户在需要使用或更新大纲的时候,按某个快捷键,生成一个大纲,显示在“大纲窗口”里。   按下这个“更新大纲”的快捷键之后,MadEdit同时完成2个动作:     ①清空搜索结果;     ②搜索带有DirectiveLeading标识符的行,并将搜索结果列出来,生成大纲。   举个例子:   比如说我把给DirectiveLeading指定给了“%%”;   我在书写到一定段落之后,新建章节,用%%,然后写上章节编号、章节名,或者用tab键缩进之后,写章节名;   比如说我定义“更新大纲”的命令为“Ctri+Shift+L”,我按这个快捷键,弹出“大纲窗口”,清空之前的对“%%”的搜索结果,并列出新的搜索结果。   然后我就可以从这些搜索结果中点击,跳转到我所需要看的章节位置了。 ————————————————————下面说的是更容易实现的一种方法————————————————————— ————————————————————————半自动的“动态更新”————————————————————————...

这是0.5.0a的标签栏配色: ![image](https://user-images.githubusercontent.com/16543111/115979764-690ea680-a5ba-11eb-8f3e-6b1b6cd0152c.png) 这是0.4.19的标签栏配色: ![image](https://user-images.githubusercontent.com/16543111/115979910-4335d180-a5bb-11eb-8334-66ba92ed52a0.png) 可以看出,“未活动”的标签窗口的文字颜色是不同的。在0.5.0a中字体是深灰色,在0.4.19中字体是黑色的。 仅这点儿差别吧,我就感觉干活儿时候的专注性下降了一些。 我分析了一下原因,因为菜单栏的字体是黑色的,激活标签窗口的字体是黑色的,编辑窗口中的文字也是黑色的,只有未激活标签栏文字的窗口是灰色的,就像是在电脑屏幕中断了不明显的一层——如果这一层断得非常明显,倒也不至于太分神,但这一层字体说浅不浅,说深不深,反正容易让人关心那里了。 这是0.5.0a的搜索结果窗口的配色: ![image](https://user-images.githubusercontent.com/16543111/115979841-d6bad280-a5ba-11eb-9ecb-69e71c4d3536.png) 这是0.4.19的搜索结果窗口的配色: ![image](https://user-images.githubusercontent.com/16543111/115979931-63659080-a5bb-11eb-96c6-964c0258ec12.png) 这个差别很明显。在0.5.0a中的灰色底,给我感觉与编辑界面背景色(白色)差别太大了,像个毛坯房。而在0.4.19版中,和编辑框背景色一样,就更协调统一了,不会因为颜色的变化而产生心理上的波动。 不过,如您所见,0.4.19中的选中的行,字体变成了白色,不仔细看根本看不清楚了,如果把选中的字体变成“黑色加粗”或者将选中行区域变成“蓝色”(书签颜色,就像0.5.0a中的那样,能够让字体与背景色发生反差,凸显出来,而不是像现在我得趴在电脑跟前才能看清楚我到底选中些什么),效果就非常好了。 _Originally posted by @zhulaojianke in https://github.com/LiMinggang/madedit-mod/issues/317#issuecomment-826249048_

版本:0.4.19 系统:win7旗舰版sp1 今天想用MadEdit-Mod的书签功能在一个比较大的文本里前后部分来回跳转,然后发现“书签功能”不好用了。就是在“查找”菜单中最下边的“放置/删除书签”这个功能。 我试着通过搜索给特定行加上书签,在搜索框中勾选了“标记文本行”,仍旧没有效果。 请您检查看看。 我记得原来这个功能很好用的来着。

在编辑较大文件的时候,在文档上下两个地方来回跳真的挺麻烦的——即使使用了快捷键,很容易就跳乱了。如果能够在同一文档里做到分屏显示(分两个即可,类似于Word2007、2010的那样),就清楚方便多了。 我记得原来提过这个建议,但您说可能不稳定,而没有采纳。现在的不同文档的分屏显示功能特别好用。我还是希望能够添加这个同一文档分屏的功能,确实会使编辑大文件的操作难度降低很多。

我也感觉上次我说的“书签浏览窗口”和“搜索结果窗口”分开的提案不方便实现,而且确实是有word的风格,所以我想到了另外一个办法可以批量切换被“标签”激活的行。就是在目前的“搜索结果窗口”中,当我右键点击搜索树的标题时,弹出的命令框中有“添加标签”和“删除标签”的命令,这样,及时我在搜索的过程中没有给搜索结果添加书签,我也可以在之后的搜索结果窗口中给它们添加上。 这样有一个好处,就是我需要操作哪些行的时候,把它们批量搜出来,然后我可以在树与树之间切换进行操作。比如说我已经通过搜索产生了10棵搜索树,此时我要给复制所有带有关键词“A”的树中的结果行,那么我就给结果“A”的树上添加标签就可以了,当我不需要对它们操作的时候,我就把“A”的标签全部移除,此时我可以去操作“B”树,或者突然想到了什么再回过头来操作“A”树。 这很大的提高了操作的灵活性。而且,以后如果能够增加“仅在书签行进行搜索”的命令,我就可以利用这个功能随时进行二级或者更高级的搜索了。

enhancement

您在#203中说到“Up/Down那个跟这些支持不一样,这种是要刷屏的,Up/Down如果也刷屏你就会觉得会闪烁。所以,不做了”,我比较理解,那么能不能给出一个热键功能使光标快速置于编辑窗口的中间位置呢? 比如说使用alt + M(现在的alt + M是打开宏菜单),当我按下这个快捷键之后,页面发生滚动,自动将光标所在行置于编辑窗口的中间部位,同时开启typewrite模式(如果此时typewrite模式已经开启,则继续保持typewrite模式。) 用这个功能配合现在的typewrite模式以及您准备在#203中对backspace和delete进行的修改,我感觉基本上是完美解决了固定行位置输入、编辑的这个问题了。

enhancement

MadEdit-Mod now can add label (bookmark) on the search result lines, and if we could search in these labeled lines, then we could conduct a secondary and more search in...

enhancement

可能标题表述得不是很清楚,见谅啊,我真的不知道怎么用英语表达我下面要说的这个意思了。 现在的MadEdit-Mod中,使用tab键可以使这一行的文本缩进,然后按enter键换行时,之后的所有的文本就可以遵循这个缩进量,这使得整个文本的结构性非常清晰。但是在wordwrap模式下,比较长的一段话有了回行,此时就自动回到了页面的最左侧,如果一两行还好,可当这段话非常长,回行比较多的时候,就很容易分不清文本的结构层次了。如果能够给出一个简单的“回行缩进”模式的话,对于大文档长文本的结构层次的表示就方便得多了。 在word里,可以使用标尺上的两个小箭头控制一个段落的回行缩进样式: ![](http://7xrn7f.com1.z0.glb.clouddn.com/16-6-19/20458498.jpg) 我感觉这个功能如果在文本编辑器中实现可能太复杂了,不过我觉得如果能够给出一个简单一些的,比如说形成如下的样子: ![](http://7xrn7f.com1.z0.glb.clouddn.com/16-6-19/78815527.jpg) 但我感觉这里可能有一个麻烦,就是在文本编辑器里添加了这样的回行缩进之后,就相当于在回行之间加了/r/n/t,这样如果要将文本拷贝到其他地方的话,就要自己去把这些被切碎的段落手动的连接成一个完整的段落。不知道是不是这样。 如果在回行缩进的同时,还能够保证段落的连续性和完整性,那就再好不过了。

(1)刚发现MadEdit-Mod还没有这种多重选择的功能。在Word里,如果按住Ctrl键,然后用鼠标选择的话,可以同时选择很多处文本,然后对其进行同时编辑,比如说同时删除、同时改为上标或下标、同时改为其他的字符。 (2)在MadEdit-Mod中通过三击某个段落或者点击行号可以选择整个段落,但如果要选择不相邻的几个段落,如果按住ctrl键的话,就会发生对全篇文档的选择了,此时如果能够按住Shift键达到可以手动多选若干个段落,那就方便多了。这个要比我先给需要操作的段落前面添加“标签”,然后再使用标签行的编辑命令,要方便和直观得多。 第(1)个可能和我以前说到的那个“同步编辑”重复了,都是希望能够同时对文本中的多段字符进行同时编辑。第(2)个功能比使用标签行编辑命令要方便得多。 希望能够采纳哈!

不知道这个功能会不会很难实现哈,就是当我在MadEdit-Mod里打开了若干个文本文件之后,并且在tab栏里按照一定顺序已经排列好了,然后会有这么一个命令,新开一个标签页生成一个新的文件,在这个新的文件里用户可以对文本进行编辑和保存——和其他文件一样。 这个功能有一个好处,就是用户不必再每次都去编辑很大的文本文件了,而是仅仅做一些卡片式的碎片文件,需要输出的时候,再选择相应的内容,按照一定顺序把它们连接起来形成一个文章,可以很大的降低文本编辑的工作量。希望您能考虑哈!

enhancement