Как быстро выбрать определенный диапазон строк в Notepad++? У меня есть текстовый файл, содержащий более 1 млн строк, и мне нужно удалить из него некоторые фрагменты, но выбор строк вручную просто занимает слишком много времени. Например: мне нужно выбрать строки от 2000 до 12000, как сделать это быстро?
4 ответа
Просто щелкните левой кнопкой мыши один раз в строке 2000
Затем перейдите к строке 12000
, удерживайте Shift и щелкните левой кнопкой мыши еще раз.
1) Левый клик в строке 2000
2) Перейти к строке 12000
3) Shift + левый клик в строке 12000
Я только что ответил с этим в этом подобном вопросе, но это выглядит как более подходящий ответ для этого, и я предполагаю, что этот заголовок вопроса получит больше хитов ... так что, я публикую здесь и надеюсь, что это не так 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()
Я получил лучший ответ. Вы можете записать макрос (удалив, например, 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
раз, что вы хотите.
1) нажмите Ctrl + G, чтобы ввести номер строки, предположим, 2000
2) Щелкните правой кнопкой мыши и выберите «Начать / закончить»
3) нажмите Ctrl + G, чтобы ввести номер строки, предположим, 10000
4) Щелкните правой кнопкой мыши и выберите «Начать / закончить»
5) Ctrl + C для копирования