在记事本++中选择行范围


10

如何在Notepad ++中快速选择特定范围的行?我有一个文本文件,其行数超过1M,我需要从中删除一些片段,但是手动选择行会花费太多时间。例如:我需要选择2000到12000之间的线,如何使其快速?


1
关于堆栈溢出的类似问题
trejder

Answers:


2

我得到了一个更好的答案。您可以记录一个宏(例如删除10行)。然后运行几次。

1)前往 Macro > Start recording

2)按住Shift并点按Down以标记示例10线。并删除它们。

3)前往 Macro > Stop Recording

现在您的宏已被记录,您可以将其保存以备将来使用。

4)前往Macro > Save Current Recording Macro...。并保存一个名称。

5)将光标移到要删除的行上,然后转到Macro > Run A Macro Multiple Times...。并选择您的宏并运行所需的N时间。


那是个主意!这可能有效,非常感谢。:)
Mcyg 2012年

7

只需Left Click一次线2000。然后去线12000,保持ShiftLeft Click试。

1)Left Click排队2000

2)转到行 12000

3)Shift+ Left Click排队12000


1
是的,但是我失去了ctrl + G的选择。这就是我所说的,从2000年到12000年需要很长时间。
麦吉

两种解决方案都可以工作,谢谢!节省了头痛

3

我刚刚在这个类似的问题对此做出了回应,但是它看起来似乎是一个更合适的答案,而且我猜想这个问题标题会获得更高的点击率...所以,我在这里发布,希望它不是某种人造假的……(也许应该只是另一个的链接?)

# File:: selectGOTO.py
#   A N++ Python Script to enhance line selection speed compared to mouse, cursor, page controls.
#   Selects text from the [ start|end ] of current line to [ end|start ] of GOTO line.

# Install using:: Plugins -> Plugin Manager -> Python Script
# Create script using:: Plugins -> Python Script -> New Script -> "selectGoto.py"
# Add to menu:: Plugins -> Python Script -> Configuration -> [select script] [ add ]
# Create shortcut:: [Restart N++]
#   Settings -> Shortcut Mapper -> Plugin Commands -> selectGOTO -> [modify] [ctrl]+[shift]+[g]

# Simple usage:
#   [ctrl]+[shift]+[g] line#
#   Do your operation... (ie: del)

from Npp import *

class startAnchor:
    pos = 0

def selectGOTO( args ):
    endPos = editor.getCurrentPos()
    if( endPos > startAnchor.pos ):
        startAnchor.pos = editor.positionFromLine( editor.lineFromPosition( startAnchor.pos ) )
    else:
        tmp = startAnchor.pos
        startAnchor.pos = endPos
        endPos = tmp
    endPos = editor.getLineEndPosition( editor.lineFromPosition( endPos ) )
    editor.setSel( startAnchor.pos, endPos )
    editor.clearCallbacks()

def main():
    startAnchor.pos = editor.getCurrentPos()
    editor.callback( selectGOTO, [SCINTILLANOTIFICATION.UPDATEUI] )
    notepad.menuCommand( MENUCOMMAND.SEARCH_GOTOLINE )

main()

大!我一直在寻找它。但是,我编辑了您的代码,因此它不会移动初始选择点-无需这样做。(在if(endPos> startAnchor.pos)之后删除了代码)。
Nigel Touch

我还创建了额外的版本,这些版本选择了更适合我的“上一个书签”(命令43007)和“下一个书签”(43006)。
Nigel Touch

0

1)单击ctrl + g给行号设置为2000
2)右键单击然后选择开始/结束选项
3)单击ctrl + g给行号设置为10000
4)右键单击然后选择Begin / End选项
5) Ctrl + c复制

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.