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


74

Eclipse具有键盘快捷键,该快捷键将删除当前行(如果未选择任何内容)或所有当前选中文本的一部分:Ctrl+ D

有没有一种方法可以使Ctrl+ D在Notepad ++中做同样的事情?

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

Answers:


93

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

Ctrl+ L将删除该行也将保持在剪贴板替换剪贴板中的内容。

我不确定是否可以将Ctrl + D映射为相同的功能。我并没有真正搞砸Notepad ++的键盘映射,因为它们与Visual Studio的键盘映射非常相似


14
辉煌!现在,我只需要查找Ctrl+L映射到...的内容,编辑 aha,将其映射到SCI_LINECUT。这实际上是下面的下一个Scintilla命令SCI_LINE_DELETE
马特·鲍尔,

26
请注意,这Ctrl+L会剪切线(将其复制到剪贴板中)。要实际删除的行是Ctrl+Shift+L,这将删除选定的行而不覆盖剪贴板。
Rosdi 2013年

1
@RØŠÐÎ SCI_LINEDELETECtrl+Shift+L映射的对象。我试过了,但它只删除(不复制到剪贴板)所选行的第一行,类似于OP。我想念什么吗?
jinglesthula '16

4
为什么不在菜单上显示此内容Edit > Line Operations
aliopi

20

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

您还需要禁用或重新绑定,SCI_SELECTIONDUPLICATE因此Ctrl+ 上没有冲突D
要禁用快捷方式,请突出显示该快捷方式,Modify将DropDownList设置为None,单击Apply,然后单击Okay


1
为什么两者都需要?
乔纳森·本恩

1
当我将相同的快捷方式映射到所有这两种情况时,它会从仅删除所选行的第一行切换为仅删除光标所在的行。(我使用了Ctrl + Shift + D,所以我不必担心选择重复绑定。)
jinglesthula 2016年

14

宏是一个不错的选择。尽管我提出的宏有些滞后(您可能会看到CTRL-D命中和在大范围选择中删除行之间有四分之一秒的滞后),但它在单行和多行选择中均能很好地工作棘手的情况。

所以,我的宏是:

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

这组操作涵盖了到目前为止在大量使用notepad ++时遇到的所有行删除的可能情况。


我知道我要迟到几年了,但是仅使用DELETE而不是CTRL + SHIFT + L作为最后一个命令,此宏不能很好地工作吗?如果我理解正确,您已经使用前三个命令标记了要删除的所有文本。
Bjarte Aune Olsen

9

Notepad ++中有一个删除行的快捷方式:Ctrl+ Shift+ L..但这只会删除一行。

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

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

Ctrl+J

其次是

Ctrl+ Shift+L

这将首先JOIN选择线,然后DELETE是整个线。

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


4

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

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

这使您可以进行少量修改即可执行所需的行为。您选择文本,使用来运行“加入行”命令Ctrl+Alt+D,仅释放Alt键,然后D再次按删除文本。



-1

您可以使用CTRL + DELETE删除一行的全部内容。然后,您要做的就是再次使用DELETE删除换行符。如果这还不够,您可以创建一个宏来执行这两项操作。

由于它似乎已停止在最新版本中工作,因此建议您对整个问题使用“宏”方法。转到宏,“开始录制”,然后按“主页”,“ Shift” +“ END”,“删除”,“删除”,然后转到宏并停止宏。之后,转到“保存当前记录的宏”,然后选择一个名称和快捷方式(例如CTRL + DEL)。这将重新启用删除行的快捷方式。


Ctrl+Delete不会为我删除Notepad ++中的行(除以外,我没有重新映射任何键Ctrl+D)。
Matt Ball

您正在使用哪个版本的Notepad ++?它正在Win7下在Notepad ++ 5.8.2上运行
private_meta

Win7 x64上的5.8.7(最新版本)。你是说Ctrl+Backspace吗 (也对我不起作用)
Matt Ball,

啊,我只是用5.8.7进行了测试,它也没有起作用,让我看看
private_meta

我更新了我的答案
private_meta

-1

CTRL + SHIFT + DELDETE对我有效,可以删除整行。


2
OP希望删除属于当前所选文本的所有行。您的快捷方式只会删除所选内容的第一行。
nixda 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.