10

Как быстро выбрать определенный диапазон строк в Notepad++? У меня есть текстовый файл, содержащий более 1 млн строк, и мне нужно удалить из него некоторые фрагменты, но выбор строк вручную просто занимает слишком много времени. Например: мне нужно выбрать строки от 2000 до 12000, как сделать это быстро?

4 ответа4

7

Просто щелкните левой кнопкой мыши один раз в строке 2000 Затем перейдите к строке 12000 , удерживайте Shift и щелкните левой кнопкой мыши еще раз.

1) Левый клик в строке 2000

2) Перейти к строке 12000

3) Shift + левый клик в строке 12000

3

Я только что ответил с этим в этом подобном вопросе, но это выглядит как более подходящий ответ для этого, и я предполагаю, что этот заголовок вопроса получит больше хитов ... так что, я публикую здесь и надеюсь, что это не так t какая-то подделка ... (может быть, это просто ссылка на другого?)

# 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()
2

Я получил лучший ответ. Вы можете записать макрос (удалив, например, 10 строк). Затем запустите его несколько раз.

1) Зайдите в Macro > Start recording

2) удерживайте Shift и коснитесь Вниз, чтобы отметить, например, 10 строк. И удали их.

3) Перейдите в Macro > Stop Recording

Теперь ваш макрос записан, вы можете сохранить его для использования в будущем.

4) Перейдите в Macro > Save Current Recording Macro... И сохраните его с именем.

5) Переместите курсор на строку, которую вы хотите удалить после этого.Затем перейдите в Macro > Run A Macro Multiple Times... И выберите свой макрос и запустите его N раз, что вы хотите.

0

1) нажмите Ctrl + G, чтобы ввести номер строки, предположим, 2000
2) Щелкните правой кнопкой мыши и выберите «Начать / закончить»
3) нажмите Ctrl + G, чтобы ввести номер строки, предположим, 10000
4) Щелкните правой кнопкой мыши и выберите «Начать / закончить»
5) Ctrl + C для копирования

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .