Modifica Sublime 2 righe multiple


147

Voglio modificare più righe e ogni "parola" all'interno di quella riga. Per esempio:

45 28 42 65
24 87 47 95
01 25 87 98

Voglio selezionare tutti i numeri interi in tutte le righe e inserire uno "0x" prima che sia simile a:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Conosco il Ctrl+ shift+ Lper ottenere i cursori su ogni riga, ma come posso ottenere i cursori davanti a ogni numero per modificarli in massa tutti in una volta?


Probabilmente è tardi per rispondere a questa domanda, ma ecco un link dove potresti trovare una risposta per una domanda. sublimetext.com/docs/3/…
Alexander

Risposte:


282

Evidenzia le linee e usa:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Puoi quindi spostare il cursore sul contenuto del tuo cuore e modificare tutte le righe contemporaneamente.

Si chiama anche "Dividi in linee" nel menu "Selezione".


Sì, ma come posso modificare tutti i numeri sulle righe contemporaneamente? Quindi, se dovessi fare solo la prima riga, potrei modificare tutti i numeri sulla prima riga contemporaneamente? Se questo ha un senso
Syperus,

non puoi - puoi avere solo il cursore in una posizione su una data riga. Ma puoi spostarlo all'inizio della riga, aggiungere 0x, usare alt> per spostarti lungo una parola e aggiungere di nuovo 0x.
Owen,

28
Questo non è vero: puoi avere tutti i cursori che vuoi su una linea. Tutto quello che devi fare è Ctrl-click(in Windows) posizionarli.
MattDMo

3
@MattDMo YES !! Questo è esattamente quello che stavo cercando. Per caso conosci la scorciatoia da tastiera per selezionarle tutte in quel modo? Mi guarderò intorno e vedrò se riesco a trovarlo.
Syperus

quando ho usato Ctrl+ Shift+ L, seleziona tutte le righe, ma il cursore su ciascuna riga è all'inizio o alla fine della riga. se poi premo la freccia sinistra, nel tentativo di riportare tutti i cursori all'inizio di ogni riga, sposta i cursori all'indietro rispetto a dove si trovano, quindi non sono ancora uniformemente nella stessa posizione nella riga. come ottengo tutti i cursori all'inizio della riga? (per il contesto, sto solo cercando di aggiungere [space]*[space]all'inizio di ogni riga).
user1063287

84

Usa più cursori e selezione di colonne.

Nel tuo caso devi solo posizionare i cursori all'inizio di ogni colonna contenente le "parole".

Linux e Windows

  • Fai clic e trascina per selezionare le colonne: Shift+RightMouseBtn
  • Aggiungi altre colonne alla selezione facendo clic e trascina: Ctrl+ Shift+RightMouseBtn
  • Sottrai le colonne dalla selezione: Alt+ Shift+RightMouseBtn
  • Aggiungi singoli cursori: Ctrl+LeftMouseBtn
  • Rimuovi singoli cursori: Alt+LeftMouseBtn

Mac

  • Fai clic e trascina per selezionare le colonne: Option⌥+LeftMouseBtn
  • Aggiungi altre colonne alla selezione facendo clic e trascina: Option⌥+LeftMouseBtn
  • Sottrai le colonne dalla selezione: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Aggiungi singoli cursori: Cmd⌘+LeftMouseBtn
  • Rimuovi singoli cursori: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Quindi modifica se necessario. Nel tuo caso, digitare 0, x.

Puoi anche navigare fino alla fine o all'inizio delle parole, selezionare le parole e racchiuderle tra virgolette o parentesi e così via.


Riferimenti:


10

Ha funzionato per me su OS X + Sublime build 3083:

OPTION (ALT) + select lines

3

Non sono sicuro che sia possibile "out of the box". E, sfortunatamente, non conosco neanche un plugin appropriato. Per risolvere il problema che hai suggerito potresti usare espressioni regolari.

  1. Cmd + F (Trova)
  2. Regexp: [^ ]+(o \d+, o quello che preferisci)
  3. Opzione + F (Trova tutto)
  4. Modificalo

I tasti di scelta rapida possono variare in base al sistema operativo e alle preferenze personali (le mie sono per OS X).


Nessun plug-in richiesto. Usa Alt + Invio alla fine per Linux.
elomage

2

Stavo affrontando lo stesso problema su Linux, quello che ho fatto è stato selezionare tutto il contenuto (ctrl-A) e quindi premere ctrl + shift + L, ti dà un cursore su ogni riga e quindi puoi aggiungere contenuti simili a ogni colonna .

Inoltre è possibile eseguire altre operazioni come tagliare, copiare e incollare la colonna saggia.

PS: - Se vuoi selezionare un set rettangolare di dati dal testo, puoi anche premere Maiusc e tenere premuto il pulsante destro del mouse, quindi selezionare i dati in modo rettangolare. Quindi premere CTRL + MAIUSC + L per ottenere il cursore su ciascuna riga.


2

Windows: preferisco Alt + F3 per cercare una stringa e cambiare tutte le istanze della stringa di ricerca contemporaneamente.

http://www.sublimetext.com/docs/selection


Alt + F3 funziona anche su Linux e con Sublime Text 3. Questo è il modo più rapido e semplice per modificare la stessa stringa in un file.
Kiamlaluno,

2

Su Windows, preferisco Ctrl+ Alt+ Down.

Seleziona le righe una ad una e avvia automaticamente la modalità editor multilinea. È un po 'più veloce in questo modo. Se hai molte righe da modificare, seleziona il testo e Ctrl+ Shift+ Lè una scelta migliore.


0

ctrl + maiusc + tasto destro del mouse funziona meglio in questo modo


-1

Va bene selezionare manualmente ogni numero per un piccolo set di numeri come nel tuo esempio, ma per raccolte più grandi puoi fare una ricerca regex che farà il lavoro per te.

Ctrl+ Faprirà la barra di ricerca.

Le ricerche Regex sono attivate facendo clic sul pulsante ". *" All'estrema sinistra.

Digita "\ d +" per cercare tutte le occorrenze di 1 o più cifre. Facendo clic sul pulsante "Trova tutto" si selezionerà ciascuno di questi numeri separatamente.

Quindi puoi usare Ctrl+ Shift+ Lper convertire la selezione in più cursori. Da qui puoi fare come vuoi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.