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

Mat*_*all 87 keyboard-shortcuts notepad++

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

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

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

Ant*_*haw 107

Ctrl+ Shift+L将达到同样的效果。

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

我不确定你是否可以映射 Ctrl+D 来做同样的事情。我并没有真正弄乱 Notepad++ 的键盘映射,因为它们与 Visual Studio 的非常相似

  • 请注意,`Ctrl+L` 将剪切该行(将其复制到剪贴板中)。实际删除该行是`Ctrl+Shift+L`,这将删除选定的行而不覆盖剪贴板。 (28认同)
  • 杰出的!现在我只需要找到什么`Ctrl+L` 映射到...... ***edit*** 啊哈,它映射到`SCI_LINECUT`。这实际上是“SCI_LINE_DELETE”下面的下一个 Scintilla 命令。 (16认同)
  • 为什么这不在菜单“编辑 > 行操作”中 (6认同)
  • @RØŠÐÎ `SCI_LINEDELETE` 是 `Ctrl+Shift+L` 映射到的。我尝试过,但它只删除(不复制到剪贴板)所选行的第一行,类似于OP。我错过了什么吗? (2认同)

小智 24

我必须将Ctrl+映射D两者 SCI_LINEDELETESCI_LINECUT以使其表现得像 Eclipse。希望这是有帮助的。

您还需要禁用或重新绑定,SCI_SELECTIONDUPLICATE以便在Ctrl+上没有冲突D
要禁用快捷方式,请突出显示它,单击Modify将 DropDownList 设置为NoneApply先单击,然后单击Okay

  • 怎么两个都需要? (2认同)
  • 当我将相同的快捷方式映射到这两个快捷方式时,所发生的情况是,它从仅删除所选行的第一行切换为仅删除光标所在的行。 (我使用了 Ctrl+Shift+D,所以我不必担心选择重复绑定。) (2认同)

Jan*_*lov 15

宏在这里是个不错的选择。虽然我想出的宏有点滞后(你可以看到 CTRL-D 命中和在大选择中删除的行之间可能有四分之一秒的滞后)它在单行和多行选择上都很好用,并且涵盖了各种棘手的情况。

所以,我的宏是:

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

这组操作涵盖了迄今为止我在大量使用记事本++期间遇到的所有可能的行删除场景。


小智 10

有在记事本++的快捷方式删除行:Ctrl+ Shift+ L..但这样只会删除单行。

即使选择了多行,它也只会删除光标所在的行,而不会删除突出显示的行。

因此,删除一系列选定行的最简单方法是,您必须使用以下快捷键组合录制宏:

Ctrl+J

其次是

Ctrl+ Shift+L

这将首先JOIN选定行,然后DELETE是整行。

这比使用上面提到的和方法(我已经尝试过)的组合更好因为在某些情况下,它还会删除未选择的行。CUTDELETE


ski*_*iou 7

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

  1. 设置菜单中,选择Shortcut Mapper
  2. Main menu选项卡中,将Join Lines(第 26 行)设置为Ctrl+Alt+D
  3. 单击Scintilla 命令选项卡。
  4. SCI_LINEDELETE(第 90 行)设置为Ctrl+D
  5. 关闭窗口。

这允许您通过小的修改来执行所需的行为。您选择文本,使用 运行连接行命令Ctrl+Alt+D,仅释放Alt键,然后D再次按下以删除文本。