it-swarm.it

Notepad ++ Multi editing

Come posso avere più cursori in Notepad ++?

Avrò un paio di valori delimitati da tabulazioni. Devo scrivere una query per tutti questi valori. Ad esempio, se ottengo un file Excel con valori come questo:

1234 xyz pqr
2345 sdf kkk
...

Voglio copiare tutta questa parte di dati in Notepad ++ e scrivere la query, inserendo tutti i valori contemporaneamente. 

Come questo:

Insert into tbl (1234, xyz) where clm = 'pqr'
Insert into tbl (2345, sdf) where clm = 'kkk'
...

Lo facevo con il mio editor di testo precedente, Ultraedit. Questo può essere fatto usando Notepad ++?

86
Anu

Sì: basta premere e tenere premuto il tasto Alt tasto, fare clic e trascinare per selezionare le linee di cui si desidera modificare le colonne e iniziare a digitare.

Puoi anche andare a Impostazioni> Preferenze ..., e nella scheda Modifica, attiva la multi-modifica, per abilitare la selezione di più regioni o colonne separate di testo modifica subito.

È molto più intuitivo, dal momento che puoi vedere le tue modifiche dal vivo mentre digiti.

151
BoltClock

Nella posizione in cui vuoi aggiungere del testo, fai:

Shift + Alt + down arrow

e selezionare le linee che si desidera. Quindi digita. Il testo digitato viene inserito su tutte le linee selezionate.

25
devlin carnate

È possibile utilizzare Edit > Column Editor... per inserire il testo nelle righe correnti e successive. La scorciatoia è Alt + C.

19

Notepad ++ gestisce anche più cursori ora.

Vai in Impostazioni => Preferenze => Modifica e seleziona "Abilita" in "Impostazioni di modifica multipla" .__ Quindi, usa Ctrl + clic per utilizzare più cursori.

Feature demo sul sito ufficiale qui: https://notepad-plus-plus.org/features/multi-editing.html

16
Balmipour

È possibile aggiungere/modificare il contenuto su più righe utilizzando il pulsante di controllo. Questa è una funzionalità di modifica multipla in Notepad ++, è necessario abilitarlo dalle impostazioni. Tieni premuto il controllo, seleziona i luoghi in cui vuoi inserire il testo, rilascia il controllo e inizia a digitare, questo aggiornerà il testo in tutti i luoghi selezionati in precedenza.

 enter image description here

Rif: http://notepad-plus-plus.org/features/multi-editing.html

11
MoHaN K RaJ

Notepad ++ ha un potente motore regex, in grado di cercare e sostituire i pattern a piacimento.

Nel tuo scenario:

  1. Fai clic sulla voce di menu Cerca\Sostituisci ...

  2. Riempi il campo "Trova cosa" con il modello di ricerca:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. Riempi il modello di sostituzione:

    Insert into tbl (\1, \2) where clm = \3
    
  4. Fai clic sul pulsante Replace All.

E questo è tutto.

NotePad++ replace window screenshot

7
Alberto De Caro

Il metodo più semplice per risolvere il tuo problema (senza andare a un editor diverso o imparare una regex) è quello di registrare una macro.

  • Posiziona il cursore all'inizio del testo, fai clic sul pulsante "registra" nella barra multifunzione e modifica solo quella riga di testo. Puoi utilizzare solo i tasti freccia o ctrl + i tasti freccia per spostarti tra caratteri/parole invece di fare clic con il mouse. Anche i tasti "casa" e "fine" sono utili.
  • Quando hai finito con quella linea, sposta il cursore (sempre senza usare il mouse) all'inizio della riga successiva.
  • Fai clic sul pulsante "interrompi registrazione".
  • Fai clic sul pulsante "Riproduci macro" per verificare che funzioni sulla riga successiva come previsto.
  • Fai clic su "Esegui macro più volte" per farlo di nuovo, e ancora e ancora ...: P
Un vantaggio di questo su cursori 'multi-editing' è che non devi fare clic manualmente e posizionare i cursori su ogni singola riga. Il secondo vantaggio è che puoi lavorare con dati delimitati da tabulazioni che non hanno dimensioni e lunghezza coerenti - usa semplicemente ctrl + sinistra/destra per saltare le parole.

Onestamente, i macro in N ++ hanno salvato circa un anno della mia vita.

5
cr45hin

Notepad ++ ha solo la modifica della colonna. Questo non è completamente lo stesso di più cursori.

Sublime Text ha un'implementazione meravigliosa di questo, potrebbe valere la pena di provarlo ...
È un editor relativamente nuovo (2011) che sta guadagnando popolarità abbastanza velocemente: http://www.google.com/trends/explore#q=Notepad%2B%2B%2C%20Sublime%20Text&cmpt = q

Modifica: Apparentemente da qualche parte intorno a Notepad ++ versione 6.x è stata aggiunta la modifica multi-cursore, ma ci sono ancora alcune funzionalità avanzate in Sublime, come "seleziona l'occorrenza successiva".

1
Wouter

È possibile utilizzare il plugin ConyEdit per fare questo ..__ Con ConyEdit in esecuzione in background, attenersi alla seguente procedura:

  1. usa la riga di comando cc.spc /\t/ a per dividere il testo in colonne e memorizzarle in un array a due scuri. 
  2. usa il comando cc.p per stampare, usando il contenuto dell'array. 
0
Dick