Converti le schede in spazi in Notepad ++


1077

Come faccio a convertire le schede in spazi in Notepad ++?

Ho trovato una pagina web che suggerisce che è possibile, ma non sono riuscito a trovare alcuna informazione su come farlo.

Vorrei poterlo fare, perché alcuni moduli Web non rispettano il codice con le schede in essi contenute.


4
Rientro della scheda = 1x carattere, rientro dello spazio = più di 3 caratteri.
Yousha Aleayoub,

SciTE lo fa abbastanza facilmente. Peccato che non si estende così come Notepad ++.
bvj

1
Mi sembra di essere entrato nella Twilight Zone. Il mio Blocco note ++ esegue sempre una spaziatura tripla di ogni scheda e nulla di ciò che ho aggiornato nell'IDE ha modificato il comportamento. Lo uso da anni e non ho mai incontrato questo problema prima di o_o. Anche il declassamento non ha rimosso il problema. Quindi sì Lo sto chiamando. Funzionalità di Twilight Zone.
kayleeFrye_onDeck

@YoushaAleayoub 1 spazio = 1 spazio, 1 scheda = diverso per tutti.
csabinho,

3
@csabinho questo è il punto. In questo modo tutti possono personalizzarlo e impostarlo in base alle proprie dimensioni. #Freedom :)
Yousha Aleayoub,

Risposte:


989

Per convertire le schede esistenti in spazi, premere Edit->Blank Operations->TAB to Space.

Se in futuro vuoi inserire spazi anziché tab quando premi il tasto tab:

  1. Vai a Settings->Preferences...->Language(dalla versione 7.1) o Settings->Preferences...->Tab Settings(versioni precedenti)
  2. Dai un'occhiata Replace by space
  3. ( Facoltativo ) È possibile impostare il numero di spazi da utilizzare al posto di una scheda modificando il Tab sizecampo.

Schermata di Sostituisci per spazio


29
@Algina - puoi modificare le impostazioni di Notepad ++ per convertire automaticamente le schede in spazi - vai su: Impostazioni - Preferenze - Impostazioni scheda - spunta la casella "Sostituisci con Spazio" - come mrzli già descritto in questa risposta.
Aggiunta di colore

3
Ciò è influenzato dalla dimensione della scheda definita in "Impostazioni" - "Preferenze" - "Impostazioni scheda" - "Dimensione scheda", naturalmente.
Caw

6
Voglio solo aggiungere che il percorso per me era: Settings=> Language Menu/Tab Settings=> Replace by space(nell'angolo in basso a destra). È quasi come ha detto mrzli, ma ho avuto difficoltà a notare dove fosse detto Tab Settings. (So ​​di essere cieco!)
Dzyann

11
Non ci sono Impostazioni -> Preferenze ... -> Impostazioni scheda in Blocco note ++ v7.1 È ora in Impostazioni -> Preferenze -> Lingua
Dave Burton,

3
Sto usando v7.2.2 e posso cambiare le schede in spazi usando Edit -> Blank Operations -> Tab to Space. Anche Tab Settingsadesso ci sono Edit -> Preferences -> Language. Anche se non capisco cosa Tab Settingsfa. Ho selezionato la Replace by spacecasella per javascript, ma ho ancora una scheda quando premo il tasto tab. Non dovrebbe invece stampare 4 spazi?
akinuri,

585

Obsoleto: questa risposta è corretta solo per una versione precedente di Notepad ++. La conversione tra schede / spazi è ora integrata in Notepad ++ e il plug-in TextFX non è più disponibile nella finestra di dialogo Gestione plug-in.

  • In primo luogo impostare il "sostituire con spazi" impostazione nelPreferences -> Language Menu/Tab Settings .
  • Quindi, apri il documento con cui desideri sostituire le schede.
  • Evidenzia tutto il testo ( CTRL+A ).
  • Quindi selezionare TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Nota: assicurarsi che sia installato il plug-in Personaggi TextFX ( Plugins -> Plugin manager -> Show plugin manager, Installedscheda). Altrimenti, non ci sarà alcun menu TextFX.


1
Sì, è molto più sensato che cercare / sostituire e TextFX è integrato in Notepad ++.
rjh

130
Solo una funzione mal nominata in un menu mal posizionato.
spoulson,

14
La migliore risposta alla domanda (forse non come l'autore lo intendeva) sono le schede per il plug-in di spazi offerto di seguito. La domanda chiede a tutti i separatori di spazi, mentre questa risposta converte solo principali spazi. Se, ad esempio, devi convertire i dati tabulari spaziati con le schede mantenendo le posizioni delle colonne, questa risposta non ti aiuterà. Il plugin è l'unica soluzione Notepad ++ a quella domanda che posso vedere qui.
File binario

4
Avevo bisogno di andare nel gestore dei plug-in e installare il plug-in TextFX, ma dopo averlo fatto il resto delle istruzioni andava bene.
Rebecca Chernoff,

12
Risposta che sembra essere sbagliata. Come indica File binario, converte solo le schede iniziali. Nelle versioni successive c'è anche un'opzione Modifica -> Operazioni vuote -> TAB per lo spazio, ma non funziona neanche come richiesto. A mio avviso, al momento non esiste alcun modo predefinito in NP ++. Non ho mai provato il plug-in Binary Phile menziona.
Stijn de Witt,

228

Impostazioni ->Preferenze ->Modifica componenti (scheda) ->Scheda Impostazione (gruppo) ->Sostituisci per spazio

Nella versione 5.6.8 (e successive):

->Preferenze Impostazioni ... ->Lingua Menu / Scheda ->Scheda Impostazioni Impostazioni (gruppo) ->Sostituisci per spazio


Grazie per la risposta. Speravo che ci fosse un modo per applicarlo solo a un blocco di testo evidenziato. Preferisco lavorare con le schede. Voglio solo essere in grado di passare agli spazi prima di incollare del codice in un modulo.
Helephant,

3
Mentre la risposta di Dror è sicuramente la 'risposta', questa è sicuramente utile anche da sapere per altri usi!
Marc Bollinger,

Non la risposta alla domanda ma la risposta che stavo cercando. Saluti, Aron.
BrezzaP,

Wow! Tante voci su un compito (apparentemente) semplice. Sostituisci con \ t e l'interruttore Extended funziona bene per me
waander

3
La versione 5.9.3 ha Modifica-> Operazioni vuote-> TAB to Space. Vedi la risposta di mrzli.
koppor,

148

Devi sostituirlo \t - assicurati di utilizzare la modalità estesa!

Sostituire


22
solo per enfatizzare, devi mettere quattro spazi (o due, o altro) nella casella "Sostituisci con".
hasen

1
puoi sostituire la \ t (tab) con qualsiasi numero di spazi, vedi wiki.answers.com/Q/How_many_spaces_is_a_tab
Dror

7
Funzionerà correttamente solo per le schede all'inizio di una riga. Ad esempio in una linea come questa (utilizzando [tab] per rappresentare una scheda): "[tab] foo [tab] bar", con una dimensione della scheda di 4 spazi, la prima scheda dovrebbe essere di 4 spazi, ma la seconda scheda dovrebbe essere solo 1 spazio.
mercatore

4
@DaveE No, il caso di Mercator è il caso universale di come funziona TAB. Sebbene menzionato in un commento e non nella domanda originale, ciò che essenzialmente l'OP vuole è un passaggio transaperent dalle schede agli spazi, cioè, non dovrebbe sapere guardando dopo la conversione, che una conversione è stata fatta. Prendendo il testo selezionato ed espandendolo all'inizio delle righe, si potrebbe implementare un calcolo e fare esattamente ciò che il mercatore implica. Dipende solo dal testo espanso ai limiti di linea. Quindi la decisione caso per caso non è necessaria. È esattamente ciò che fa il comando di espansione in UNIX
Paralife,

2
Le altre risposte possono rispondere alla domanda specifica, ma penso che questa sia la migliore, poiché risponde come sostituire la scheda con QUALCOSA, non solo gli spazi.
Kik,

84

Seguire questa procedura per convertire gli spazi in schede o viceversa:

Spazio - Tab


1
Disponibile in Notepad ++ v6.3.2 e diverse versioni precedenti.
AdrianHHH,

Per la versione 7.5.4, questo ha funzionato per me, ottenendo tutti i caratteri di tabulazione (non solo in testa) senza alcuna installazione aggiuntiva del plugin
J. Paulding

Esiste un tasto di scelta rapida per fare lo stesso. ?
Akshat Chaturvedi,

26

Ho appena pubblicato un plug- in Notepad ++ per convertire le schede in spazi. Sì, converte le schede nel mezzo di una riga. Sì, tiene conto di altri caratteri all'interno del campo a schede. Controlla.


1
Cosa succede se ho una stringa che voglio definire con una scheda in essa? Cambia anche il mio codice sorgente e i letterali delle stringhe?
maxwellb,

Funziona come un incantesimo per le schede agli spazi. Questo è tutto, però.
File binario

Grazie, è fantastico. In realtà è l'unica vera risposta alla domanda che copre tutte le situazioni: le schede iniziali o le schede incorporate e prendendo in considerazione la posizione del testo e la larghezza della scheda corretta.
RenniePet,

Questa dovrebbe essere la risposta a questa domanda, soprattutto ora che TextFX non si trova nell'installazione predefinita di Notepad ++. Il plugin funziona perfettamente. Grazie!
Brown,

2
La versione 5.9.3 ha Modifica-> Operazioni vuote-> TAB to Space. Vedi la risposta di mrzli.
koppor,

10

Il modo semplice:

  1. Evidenzia una singola area della scheda
  2. copia
  3. Richiama trova / sostituisci
  4. Incolla nel campo Trova
  5. Fare clic nel campo Sostituisci e premere la barra spaziatrice
  6. Quindi sostituire tutto.

2
è l'approccio pigro, che è generalmente il mio MO:]
matt lohkamp,

3
Questo è anche il modo di fare le cose con Notepad (non ++).
maxwellb,

In Notepad ++ 6.5.5, provando TO TABS (dalle virgole), questo è stato l'unico approccio che ha funzionato per me: digita a tab, selezionalo copye viene incollato nel campo di sostituzione. (Mettere /tnella Replace withscatola non ha funzionato, indipendentemente dal fatto che abbia selezionato Extendedo Regular Expression.)
Doug_Ivison

5
@Doug_Ivison Questo perché /tnon è una sequenza di escape; è una barra e una lettera t. Se si desidera sostituire le schede, utilizzare \t. Quindi Extended (\n, \r, \t, \0, \x...).
Dan Bechard,

@Dan hai ragione ... grazie. La copia / incolla funziona e \tfunziona.
Doug_Ivison,

7

Nella versione 5.8.7:

Impostazioni menu -> Preferenze ... -> Menu lingua / Impostazioni scheda -> Impostazioni scheda (puoi selezionare la lingua per sostituire le schede negli spazi. È interessante!) -> Deseleziona Usa valore predefinito e seleziona Sostituisci con spazio .

Schermata della finestra di dialogo Preferenze


Cosa si intende per "la stessa lingua per sostituire le schede"?
Peter Mortensen,

Ciò è cambiato di nuovo nella versione 7.1 (16-10-2016) (da "Menu lingua / Impostazioni scheda" a "Lingua" )
Peter Mortensen,

7

Non ho letto tutte le risposte, ma non ho trovato la risposta che cercavo.

Uso Python e non voglio trovare / sostituire o 'operazioni vuote' ogni volta che voglio compilare il codice ...

Quindi la migliore soluzione per me è che accada al volo !

Ecco la semplice soluzione che ho trovato :

Vai a:

  1. Impostazioni menu -> Preferenze
  2. Scegli Impostazioni scheda
  3. Scegli il tipo di lingua (ad es. Python)
  4. Seleziona la casella di controllo "Usa valore predefinito"
  5. Seleziona la casella di controllo "Sostituisci per spazio"

Inserisci qui la descrizione dell'immagine


Questo è stato nuovamente modificato nella versione 7.1 (16-10-2016) (da "Menu lingua / Impostazioni scheda" a "Lingua" (ed era "Impostazioni scheda" in una versione ancora precedente (come in questa risposta))).
Peter Mortensen,

3

Non è presente la scheda "Modifica componenti" nell'impostazione delle preferenze. Devi andare su "Menu lingua / Impostazioni scheda", c'è un'opzione per controllare il comportamento delle schede. Puoi anche impostarlo per funzionare in modo diverso a seconda della lingua del file.


E dopo averlo impostato lì, usa TextFX (TextFX -> Modifica TextFX -> Spazi iniziali a schede o schede a spazi) come descritto in precedenza. Questo è sicuramente il modo di andare nell'ultima versione di Npp.
Cees Meijer,

Questo è cambiato di nuovo nella versione 7.1 (16-10-2016) (da "Menu Lingua / Impostazioni scheda" a "Lingua" )
Peter Mortensen,

2

Il plug-in CLR Tabs to Spaces dovrebbe essere una buona opzione. L'ho usato e ha funzionato.


vittoria impeccabile! evidenzia testo, plugin> Schede CLR su Spazi> Schede su Spazi. questo plug-in tiene conto di quanti spazi sono necessari per la scheda, ovvero l'output distanziato è esattamente uguale all'output a schede.
Sonjz,

2

Seguo questo semplice modo:

  • Fare doppio clic su (Evidenzia) scheda singola (ovvero: \ t ).
  • Premere ctrl + F(Find/repace ).
  • Potresti non vedere \ t o una singola area della scheda suFind What: campo. Ma non preoccuparti.
  • Inserisci un spaceinReplace With: campo.
  • Fare clic Replce All.

Fatto! :)

Vedere:

Sostituisci * Tab * con * Space * in <code> Notepad ++ </code>

Nota: questo metodo si applica anche al caso inverso (Sostituisci uno spazio con una scheda ).


Se selezioni "Esteso" dalla modalità di ricerca, puoi inserire \ t e troverà anche la scheda. Il problema con questa soluzione è che non regola la spaziatura per la scheda, cioè se una scheda ha un massimo di 5 spazi, il testo prima della scheda può essere 1-4 spazi ...
sonjz

1
Non so perché questa risposta sia stata sottovalutata, ma per me è forse la migliore perché incarna quanto segue: KISS. Ovviamente non coprirà mai tutti i casi angolari e la configurazione in abbondanza che un plug-in porterebbe, ma poi, fare affidamento su un plug-in per qualcosa di così semplice è semplicemente pazzo per il caso generale. BACIO fino in fondo.
luis.espinal,


1

Impostazioni> Preferenze> Impostazioni scheda Seleziona "Sostituisci con spazio". Si noti sopra di esso c'è la dimensione della scheda: 4 Fare clic su quattro e si aprirà una finestra con l'opzione per modificare il valore in un altro numero intero.

Inserisci il numero intero desiderato e premi il tasto INVIO.

Eccolo qui <3.


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.