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

Add insert lines and delete lines command on the mouse right click menu #152

Closed zhulaojianke closed 8 years ago

zhulaojianke commented 8 years ago

When edit or write a draft, sometime the user need to insert some paragraphs or lines in the text for a little new method or idea, and they needn't to open a new file for these methods, they will use "enter" key to create a new line. But the new line is very close to the old texts, and the old ones will disturb the user's thinking. To avoid the disturbance from these old texts, the user now must use many many "enter" to create a "space". Yes, they really need a new space in the text to write down the new methods! And when finish these editing or writing, the user must delete these additional lines to close the space and let the new paragraphs or lines turning into apart of the old texts, and then they must select the empty lines and delete or use the "delete empty line" command. The whole work stream is so inconveniently!

So I hope MadEdit-Mod could add a right click menu option to insert many lines and delete many lines, let the user do once to create or close a insert space. When I chose the command in the righ click menu, a pop-up window could ask me how many lines I would insert or delete, and given a default recommmend number. The recommend number of creating new lines is 10, and the recommend number of deleting lines is the number between the curser and the next non-empty-line after the curser. And this function will increase the efficiency very much.

Almost all the text editor is not provide this useful function even in Word, but this function is a very real issues for the users.

还是说中文吧:

在“编辑窗口”的鼠标右键菜单里增加“插入空行”和“删除空行”的命令

这个功能看上去可有可无,因为使用现有的命令就可以完成,比如说批量插入行,多按几次“enter”键就可以了,批量删除行,选择所有要删除的空行,按delete就可以了,或者使用菜单命令“删除空行”(这个命令可能会无差别的将用户自己特意设置的空行也同时给删掉),但这个功能在编辑和写作过程中是非常非常实用的,解决了一个很实际的问题。

不知道您在编程的时候是否也有相同的体验,在编辑或者写作过程中,往往会在现有的文本里插入一些新的想法,可能是大段大段的话,这些话是跟文本的上下文直接相关的,但又不能保证一次性就能写成功。此时如果另开一个新文件来写的话,又需要与原文的上下文进行对照,这样就发生了在两个文件之间频繁切换;但如果仅仅是插入一两个空行来写呢,又会收到上下文思路的干扰,不便于对这个新想法的独立发挥,影响写作的质量。此时往往就一个劲儿的用"enter"在需要插入文本的地方造出一大片空间——此时就是需要这么一块“跟上下文有关联的空白空间”,但此时光标始终停留在最后一行,需要滚屏然后将光标放置在需要写东西的地方。很可能完成了这一堆操作之后,自己的灵感都变味儿了。

完成了插入段落的写作之后,后面会留一大片空行,还要把它们删掉,才能把文本拉近,查看自己新写的这几段是否与上下文贯通。

在这种应用情景下,几乎所有的文本编辑器都没有提供一个方便快速的功能来解决这个问题,甚至Word也没有提供,不仅无端的增加了编辑和写作的工作量,而且还很容易使用户失去那些难得的灵感。

我觉得“插入空行”和“删除空行”这样的功能没必要放在软件菜单里,放在鼠标右键菜单中是最方便的。 当点击“插入空行”时,会弹出一个输入框,用户可以向里面写入要插入的行数,并且给出一个默认值——“10行”,如果用户没有太大异议的话,按一下“enter”键就可以了。此时光标的位置不动,不管光标前面有没有多少空行,光标的位置始终都停留在执行“批量插入空行”命令的那一行上——这一行往往就是用户自己选定的插入文本的起始行。 当点击“删除空行”时,也会弹出一个输入框,用户可以向里面写入要删除的行数,并且给出一个默认值——“从当前光标所在行到下一个非空行之间的总行数”,如果用户没有太大异议的话,也是按一下“enter”键就可以了,马上关闭了那个空间,恢复到紧凑的文本格式上了。

我在使用Mathcad的时候发现这个功能特别有用,用这种批量插入删除行的方法,可以很快的建立或者修改一套数学计算体系,而不会打断任何思路。

在Mathcad中的界面是这样的,供参考哈:

(1)当光标后面没有任何行的时候,“插入行”和“删除行”为灰色,未被激活:

(2)当光标后面有非空行的时候,“插入行”和“删除行”被激活:

(3)点击插入行之后,弹出一个对话框: 对话框里给出一个默认行数“1”,焦点聚集在文本框里,有“确定”和“取消”按钮。

(4)点击删除行之后,弹出一个对话框: 对话框里给出的默认行数是光标所处的行与下面第一个非空行之间的行数,焦点聚集在文本框里,有“确定”和“取消”按钮。 在这个Mathcad的例子里,删除空行时给出了默认行数是“7”,当我输入的行数大于7的时候,会弹出一个警告框: 这样就保证了这个功能只能删除空行,而不会把后面有文字的行也同时给删掉了。

呵呵,我所建议的功能就是这样子的。希望您能参考。 :)

LiMinggang commented 8 years ago

我不太了解MathCad,他这个空行是软回车还是硬回车?而删除空行这个功能感觉很鸡肋,自己选择几行一删了事,还需要先右键一点,然后再选择菜单,再弹出对话框输入,然后还有各种校验,输错了还会被否决。这得多麻烦

zhulaojianke commented 8 years ago

噢,我也不知道软回车和硬回车之间有啥区别……

删除空行这个被您这么一说好像是挺麻烦的哈。可能是我在MC里用习惯了,在MC里这种删行还用来调整插入图表和折叠区域等等的占用页面空间。要不您就仅仅加一个“批量插入空行”的选项吧。

Mathcad的工作界面里没有明显行的概念,所谓的插入多少行,其实就调整各个块之间竖直方向有多大距离用的。一般我用插行都是50行100行的这样往上加,这样就可以在Mathcad的工作表里一次性的开辟出一大块儿地方供自己折腾。

LiMinggang commented 8 years ago

I added MsgBox and InputBox to MadPython. So, it enables you to add the function by script.

I've wrote a script to do insert lines. You can also add delete lines or I can give you another example script to do so.

This would be released in 4.3