Eclipse 有一个键盘快捷键,可以删除当前行(如果未选择任何内容)或当前选定文本的所有行:Ctrl+ D。
有没有办法让Ctrl+D在 Notepad++ 中做同样的事情?
我能做的最好的就是将快捷方式重新映射到 Scintilla 的SCI_LINE_DELETE
,但即使选择跨越多行,也只能一次删除一行。
答案1
Ctrl++Shift将L达到同样的效果。
Ctrl+L将删除该行,但也会将其保留在剪贴板中,替换剪贴板内容。
我不确定您是否可以映射 Ctrl+D 来执行相同的操作。我并没有真正弄乱 Notepad++ 的键盘映射,因为它们与 Visual Studio 的键盘映射非常相似
答案2
我必须将Ctrl+映射D到两个都 SCI_LINEDELETE
并SCI_LINECUT
使其表现得像 Eclipse。希望这对您有所帮助。
您还需要禁用或重新绑定,以免+SCI_SELECTIONDUPLICATE
发生冲突。 要禁用快捷方式,请突出显示它,单击将 DropDownList 设置为,先单击 ,然后单击。CtrlDModify
None
Apply
Okay
答案3
宏在这里是个不错的选择。虽然我编写的宏有点滞后(您可以看到,在大选择中,CTRL-D 击打和行被删除之间可能有四分之一秒的滞后),但它在单行和多行选择上都运行良好,并且涵盖了各种棘手的情况。
所以,我的宏是:
CTRL + J- 如果选择了多条线,它们将合并为一条线
家- 常用的 HOME 按钮。将光标移至行首(或连接行的开头)
SHIFT + END- 选择从光标位置开始直到行末的行
CTRL + SHIFT + L- 删除整行
这组操作涵盖了我在大量使用 notepad++ 过程中遇到的所有可能的行删除情况。
答案4
作为@Jan Domozilov 答案的非宏替代方案,我遵循了以下步骤(使用 Notepad ++ v6.5.1(UNICODE)):
- 在里面设置菜单,选择
Shortcut Mapper
。 - 在里面主菜单tab,设置
Join Lines
(第 26 行)为Ctrl+Alt+D
。 - 点击Scintilla 命令标签。
SCI_LINEDELETE
将(第 90 行)设置为Ctrl+D
。- 关闭窗口。
这样,您只需进行少量修改即可实现所需的行为。选择文本,使用 运行“连接行”命令Ctrl+Alt+D
,然后释放该Alt
键,再按D
一次即可删除文本。