Come posso sostituire il testo in una selezione?


124

Ho appena iniziato a usare Sublime Text 2, proveniente da emacs.

Ho selezionato una regione di testo. All'interno di quella regione, vorrei sostituire tutte le istanze di testo di "0" con "255".

Come posso fare questo tipo di sostituzione del testo?

Risposte:


212

Questo mi ha frustrato e nessuna delle risposte di cui sopra mi ha davvero ottenuto quello che volevo. Ho finalmente trovato la risposta che stavo cercando, su un mac se fai + option+ Fsi aprirà una barra Trova-Sostituisci nella parte inferiore dell'editor che è locale al file che hai aperto.

C'è un'opzione icona che quando passa il mouse sopra dice "In Selezione" che puoi selezionare per trovare e sostituire all'interno di una selezione. Ho indicato l'icona corretta nello screenshot qui sotto.

inserisci qui la descrizione dell'immagine

Hit sostituisce tutto e voilà tutte le istanze di '0'verranno sostituite con '255'.

Nota: questa funzione è disponibile SOLO quando si utilizza + option+ F.

NON appare quando si utilizza + shift+ F.

Nota: questo sostituirà tutte le istanze di '0'con '255'. Se si desidera sostituire 0(senza virgolette) con 255, inserire semplicemente 0(senza virgolette) e 255nei campi Find What:e Replace With:rispettivamente.

Nota:

optionchiave è anche etichettata come altchiave.

chiave è anche etichettata come commandchiave.


2
Grazie per questa risposta! Anche la grafica aiuta. Avevo pensato che ci fosse solo il command+shift+Fdialogo. Non avevo idea che ce ne fosse un altro.
Joseph Marikle,

2
Questa è l'unica risposta che risponde effettivamente alla domanda: come posso sostituire il testo in una selezione .
ericsoco,

7
Ctrl+Hsu GNU / Linux o menu Find>Replace...
cbliard l'

SÌ @CBLIARD Ctrl + H HA FATTO IL LAVORO PER UBUNTU GRAZIE
zee

15
su Windows OSit Ctrl+Ho menu Find > Replace..., sembra essere lo stesso di Linux (vedi il commento di @cbliard)
Adrien Be,

36

Su un Mac è possibile selezionare il testo desiderato, quindi premere: cmd+ ctrl+G

Questo selezionerà ogni istanza del testo selezionato all'interno dello stesso documento. Se ora inizi a digitare per sostituire il testo evidenziato originale, sostituirai tutte le altre occorrenze contemporaneamente.


6
Grazie! Questo e 'esattamente quello che stavo cercando.
Kopty,

Questo non funziona correttamente. Non appena si preme CMD-Ctrl-G, anche tutte le altre sottostringhe che corrispondono al testo selezionato vengono selezionate e quindi modificate durante la modifica.
David

@ David. Sicuramente hai appena descritto lo stesso comportamento che ho fatto io?
Simon Wilder,

27

Alcune delle risposte qui non hanno davvero aiutato.

Le persone ti stanno mostrando come trovare cose, ma ora come sostituirle.

Ho appena dato un'occhiata, e sembra che sia Ctrl+ Hper sostituire, quindi ottieni la finestra di dialogo di ricerca e una finestra di sostituzione. Questo ha funzionato per me.


Non funzionerà per l'utente Mac. Come, Ctrl + H nasconde sublime in Mac.
Vineet Jain,

Sono anche un utente Mac. È cmd+ Hper nascondere, no ctrl, anche se detto questo uso Atom invece di sublime ora e la scorciatoia per sostituire è alt+ cmd+ fquindi le cose possono cambiare
Adam K Dean,

17

ST2 ha una funzione per modificare più selezioni contemporaneamente.

  1. Fare doppio clic sulla prima istanza di 0 che si desidera modificare.
  2. Premi il tasto Trova-> Aggiunta rapida successiva * per selezionare l'istanza successiva di 0 e ripeti finché non hai selezionato tutte le istanze di 0 che desideri modificare.
    Se questo metodo seleziona un'istanza che desideri saltare, premi il tasto Trova-> Salta veloce successivo .
  3. Verifica che i campi evidenziati multipli siano ciò che desideri sostituire. Quindi, digita "255" e dovrebbe modificare contemporaneamente tutte le istanze selezionate.

* Guarda il menu Trova sulla barra dei menu per trovare il tasto di scelta rapida corretto per il tuo sistema. Per Windows vaniglia, il menu indica che Trova -> Aggiunta rapida successiva è Ctrl+ De Trova -> Salta rapida successiva è Ctrl+ K, Ctrl+ D.


1
Sì, basta fare doppio clic su una parola e tutte le altre istanze saranno leggermente evidenziate e inizierà a premere Comando + D e inizierà a evidenziare le altre occorrenze, quindi puoi semplicemente iniziare a digitare e sostituirà il testo in tutte le aree selezionate.
WallMobile

12

So che è stato risposto molte volte, e tutti sono corretti, ma ho pensato di aggiungere un altro:

Simile al metodo Ctrl- Dper selezionare singole occorrenze della selezione corrente, è possibile selezionare tutte le occorrenze nel file con Alt+ F3quando si utilizza Windows o Linux ( CMD+ CTRL+ Gnel mondo Mac).

Questo è utile per cambiamenti di massa.


9

Innanzitutto, selezionare la parte del testo contenente i bit che si desidera modificare. Su Windows (mi dispiace) è Ctrl+ Ho Find > Replace...Questo apre le caselle Trova / Sostituisci nella parte inferiore del file. Inserisci i tuoi dati quindi fai clic su Replace All(o Ctrl+ Alt+ Enter)


6

1) Ctrl + F(o Cmd + Fsu un Mac);
2) Immettere la stringa che si desidera trovare nell'input nella parte inferiore della finestra.
3) Premere "Trova tutto";

Tutti gli aspetti sono ora selezionati. Fai quello che vuoi.

A parte

Ci sono un sacco di opzioni a sinistra dell'ingresso che si apre Ctrl + F. Ce n'è uno che dice qualcosa come "Trova nel testo selezionato". Seleziona un gruppo di testo, seleziona quell'opzione e ripeti gli stessi passaggi precedenti a partire da 2). Ora, vengono selezionate solo le partite appartenenti a quella selezione.


complicazioni: sto usando Linux e sto usando i keybindings di emacs per ST2. Quindi, CTRL-F sposta semplicemente il cursore in avanti. Inoltre, mi chiedo in particolare se esiste un modo per sostituire tutte le istanze di una stringa di destinazione che esistono solo all'interno di una selezione.
user1419762

Vedi il mio da parte per la sostituzione esclusivamente all'interno di una selezione. Ora su Linux ... Non posso davvero aiutarti lì perché l'ho usato solo su Mac e Windows.
banzomaikaka,

4

Puoi usare ctrl+ Fper trovare il testo.
ctrl+ hper inserire il testo sostitutivo. Quindi ctrl+ shift+h per sostituire il testo attualmente selezionato e passare al testo corrispondente successivo.

Questo è per Windows. Ma puoi fare il check in mac anche per il quale potresti voler controllare i collegamenti chiave in Preferenze.



3
  1. Seleziona l'elemento che desideri sostituire (fai doppio clic su di esso o Ctrl- Fper trovarlo) ...

  2. Quindi esegui un ( Ctrl- Apple- G) su Mac (noto anche come "Ricerca veloce tutto"), per evidenziare tutte le occorrenze della stringa contemporaneamente.

  3. Ora basta digitare direttamente il testo di sostituzione ... Tutte le occorrenze di selezione verranno sostituite durante la digitazione (come se il cursore si trovasse in più posizioni contemporaneamente!)

Molto maneggevole...


2

Come affermato da @JOPLOmacedo, ctrl+F è ciò di cui hai bisogno, ma se non riesci a utilizzare quel collegamento puoi controllare il menu:

  • Trova -> Trova ..

    E il gioco è fatto.
    Puoi anche impostare una combinazione di tasti personalizzata per Trova andando in:

  • Preferenze -> Key Bindings - User

    Come richiesta di sola selezione , è presente un pulsante accanto al campo di ricerca in cui è possibile optare per "in selezione" .

  • 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.