2014-09-04 8 views
6

So che in Vim è possibile eliminare tutti i commenti in un file con una scorciatoia da tastiera, ma non sono riuscito a trovare una tecnica simile in ST3. Questo sarebbe particolarmente utile per gemfile e altri file che hanno commenti distraenti ovunque.Esiste un modo per eliminare tutte le righe di commento in Sublime Text 3?

Cercare una scorciatoia da tastiera o un'alternativa rapida e semplice.

Qualche suggerimento?

risposta

9

Il più semplice è quello di utilizzare una regex di ricerca e sostituzione, ad esempio,

  • Cmd - Opt - f
  • Selezionare il * opzione (regex)
  • .
  • Trova che cosa: ^#.*\nNota 1
  • Sostituisci con: (niente)

Questo non funzionerà con blocchi di commenti. Per loro è necessario essere un po 'più complicato, (molto) più o meno:

=begin(.|\n)*=end 

(. Non testato robustamente)

Se si esegue questa operazione molto (che IMO è un po' strano) potresti legarlo a una chiave.


Nota 1: Questo funziona per i commenti all'inizio di linee. Non fa commenti aggiunti alle code line; se si desidera gestirlo, è possibile rimuovere lo ^, ma sarà necessario fare qualcosa sugli EOL che scompariranno durante la sostituzione. Oppure puoi semplicemente ignorare l'EOL e avere delle righe vuote dove erano i commenti di linea.

3

Ciò che Dave ha risposto non ha funzionato per me. Quindi il seguente se lo stesso caso anche per te,

Per eliminare tutti specifico < tag> elemento incluso il contenuto al suo interno:

  • Ctrl + H (su PC)
  • Abilita (Regular Expression):. * icona o Alt +R
  • individuare ad esempio:

    RE sintassi per lavorare con un determinato tag,

    < tag iniziale> * (s?).?< tag finale>

    Come ad esempio, per un commento CSS tag,

    (? S)/*. *? */

    Per tag di commento HTML,

    < - * - >

  • Sostituisci con (s?):!.? Lasciare il campo vuoto

  • Sostituisci tutto
+1

Per commenti a blocchi, i seguenti ha lavorato per me usando RegReplace e trovare e sostituire: '\/\ * (? [\ S \ S] *) \ * \ /' – blizzrdof77

+0

i tag di commento opere espressione HTML , Ho trovato che l'espressione dei tag di commento CSS invece restituisce un messaggio di errore: Espressione regolare precedente non valida prima dell'operatore di ripetizione. – Luigi