如何让 Notepad++ 像 Eclipse 那样删除行?

如何让 Notepad++ 像 Eclipse 那样删除行?

Eclipse 有一个键盘快捷键,可以删除当前行(如果未选择任何内容)或当前选定文本的所有行:Ctrl+ D

有没有办法让Ctrl+D在 Notepad++ 中做同样的事情?

我能做的最好的就是将快捷方式重新映射到 Scintilla 的SCI_LINE_DELETE,但即使选择跨越多行,也只能一次删除一行。

答案1

Ctrl++ShiftL达到同样的效果。

Ctrl+L将删除该行,但也会将其保留在剪贴板中,替换剪贴板内容。

我不确定您是否可以映射 Ctrl+D 来执行相同的操作。我并没有真正弄乱 Notepad++ 的键盘映射,因为它们与 Visual Studio 的键盘映射非常相似

答案2

我必须将Ctrl+映射D两个都 SCI_LINEDELETESCI_LINECUT使其表现得像 Eclipse。希望这对您有所帮助。

您还需要禁用或重新绑定,以免+SCI_SELECTIONDUPLICATE发生冲突。 要禁用快捷方式,请突出显示它,单击将 DropDownList 设置为,先单击 ,然后单击。CtrlD
ModifyNoneApplyOkay

答案3

宏在这里是个不错的选择。虽然我编写的宏有点滞后(您可以看到,在大选择中,CTRL-D 击打和行被删除之间可能有四分之一秒的滞后),但它在单行和多行选择上都运行良好,并且涵盖了各种棘手的情况。

所以,我的宏是:

CTRL + J- 如果选择了多条线,它们将合并为一条线
- 常用的 HOME 按钮。将光标移至行首(或连接行的开头)
SHIFT + END- 选择从光标位置开始直到行末的行
CTRL + SHIFT + L- 删除整行

这组操作涵盖了我在大量使用 notepad++ 过程中遇到的所有可能的行删除情况。

答案4

作为@Jan Domozilov 答案的非宏替代方案,我遵循了以下步骤(使用 Notepad ++ v6.5.1(UNICODE)):

  1. 在里面设置菜单,选择Shortcut Mapper
  2. 在里面主菜单tab,设置Join Lines(第 26 行)为Ctrl+Alt+D
  3. 点击Scintilla 命令标签。
  4. SCI_LINEDELETE将(第 90 行)设置为Ctrl+D
  5. 关闭窗口。

这样,您只需进行少量修改即可实现所需的行为。选择文本,使用 运行“连接行”命令Ctrl+Alt+D,然后释放该Alt键,再按D一次即可删除文本。

相关内容