Konwertuj tabulatory na spacje w Notepad ++


1075

Jak przekonwertować tabulatory na spacje w Notepad ++?

Znalazłem stronę internetową, która sugeruje, że jest to możliwe, ale nie mogłem znaleźć żadnych informacji o tym, jak to zrobić.

Chciałbym móc to zrobić, ponieważ niektóre formularze internetowe nie szanują kodu z zakładkami.


4
Wcięcie tabulatora = 1x znak, wcięcie spacji = więcej niż 3 znaki.
Yousha Aleayoub,

SciTE robi to dość łatwo. Szkoda, że ​​nie rozszerza się tak dobrze, jak Notepad ++.
bvj

1
Wygląda na to, że wszedłem do Strefy Zmierzchu. Mój Notepad ++ zawsze ma potrójne odstępy między poszczególnymi kartami i nic, co zaktualizowałem w IDE, nie zmieniło zachowania. Używam go od lat i nigdy wcześniej nie napotkałem tego problemu. Nawet obniżenie oceny nie usunęło problemu. Więc tak. Nazywam to. Funkcja Strefy Zmierzchu.
kayleeFrye_onDeck

@YoushaAleayoub 1 spacja = 1 spacja, 1 tab = inna dla każdego.
csabinho,

3
@csabinho o to chodzi. Aby każdy mógł go dostosować i ustawić na własny rozmiar.
# Frere

Odpowiedzi:


985

Aby przekonwertować istniejące tabulatory na spacje, naciśnij Edit->Blank Operations->TAB to Space.

Jeśli w przyszłości chcesz wciskać spacje zamiast tabulacji po naciśnięciu klawisza tab:

  1. Przejdź do Settings->Preferences...->Language(od wersji 7.1) lub Settings->Preferences...->Tab Settings(poprzednie wersje)
  2. Czek Replace by space
  3. ( Opcjonalnie ) Możesz ustawić liczbę spacji zamiast Tab, zmieniając Tab sizepole.

Zrzut ekranu zamiany przez spację


29
@Algina - możesz zmienić ustawienia Notepad ++, aby automatycznie konwertować tabulacje na spacje - po prostu przejdź do: Ustawienia - Preferencje - Ustawienia tabulatorów - zaznacz pole „Zamień na spację” - jak mrzli już opisane w tej odpowiedzi.
AddingColor

3
Wpływa na to rozmiar zakładki zdefiniowany w „Ustawieniach” - „Preferencjach” - „Ustawieniach kart” - „Rozmiaru zakładek”, oczywiście.
caw

6
Chcę tylko dodać, że ścieżka była dla mnie: Settings=> Language Menu/Tab Settings=> Replace by space(w prawym dolnym rogu). To prawie tak, jak powiedział mrzli, ale z trudem zauważyłem, gdzie to powiedział Tab Settings. (Wiem, że jestem ślepy!)
Dzyann

11
Brak ustawień -> Preferencje ... -> Ustawienia kart w Notatniku ++ v7.1 Teraz jest w Ustawieniach -> Preferencje -> Język
Dave Burton

3
Korzystam z wersji 7.2.2 i mogę zmienić tabulatory na spacje za pomocą Edit -> Blank Operations -> Tab to Space. Również Tab Settingssą teraz w Edit -> Preferences -> Language. Chociaż nie rozumiem, co to Tab Settingsrobi. Zaznaczam to Replace by spacepole javascript, ale po naciśnięciu klawisza Tab wciąż pojawia się karta. Czy zamiast tego nie powinien wypisywać 4 spacji?
akinuri

585

Przestarzałe: ta odpowiedź jest poprawna tylko dla starszej wersji Notepad ++. Konwersja między tabulatorami / spacjami jest teraz wbudowana w Notepad ++, a wtyczka TextFX nie jest już dostępna w oknie dialogowym Menedżera wtyczek.

  • Najpierw ustaw „zastąpić spacjami” ustawienie w Preferences -> Language Menu/Tab Settings.
  • Następnie otwórz dokument, którym chcesz zastąpić karty.
  • Zaznacz cały tekst ( CTRL+ A).
  • Następnie wybierz TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Uwaga: Upewnij się, że wtyczka znaków TextFX jest zainstalowana ( Plugins -> Plugin manager -> Show plugin manager, Installedtab). W przeciwnym razie nie będzie menu TextFX.


1
Tak, jest to o wiele bardziej sensowne niż wyszukiwanie / zamiana, a TextFX jest wbudowany w Notepad ++.
rjh

130
Po prostu źle nazwana funkcja w źle umieszczonym menu.
spoulson

14
Najlepszą odpowiedzią na to pytanie (być może nie tak, jak zamierzał autor) jest wtyczka tabulatory do spacji oferowana poniżej. Pytanie dotyczy wszystkich tabulatorów w spacje, podczas gdy ta odpowiedź konwertuje tylko spacje wiodące . Jeśli na przykład musisz przekonwertować dane tabelaryczne rozmieszczone tabulatorami przy zachowaniu pozycji kolumn, ta odpowiedź nie pomoże. Wtyczka jest jedynym rozwiązaniem Notepad ++ na to pytanie, które widzę tutaj.
Binarny Phile

4
Musiałem przejść do menedżera wtyczek i zainstalować wtyczkę TextFX, ale po otrzymaniu tej instrukcji pozostałe instrukcje były w porządku.
Rebecca Chernoff

12
Odpowiedź, która wydaje się nieprawidłowa. Jak wskazuje Binary Phile, konwertuje tylko wiodące karty. W późniejszych wersjach dostępna jest również opcja Edytuj -> Operacje puste -> TAB do spacji, ale to również nie działa zgodnie z żądaniem. O ile widzę, nie ma obecnie możliwości wyjścia z NP ++ po wyjęciu z pudełka. Nie próbowałem wtyczki, o której wspomina Binary Phile.
Stijn de Witt

228

Ustawienia ->Preferencje ->Edytuj składniki (karta) ->Ustawienia karty (grupa) ->Zastąp spacją

W wersji 5.6.8 (i wyżej):

Ustawienia ->Preferencje ... ->Język Menu / Karta Ustawienia ->Karta Ustawienia (grupa) ->Zastąp spacją


Dziękuję za odpowiedź. Miałem nadzieję, że istnieje sposób, aby po prostu zastosować go do podświetlonego bloku tekstu. Wolę pracować z kartami. Chcę tylko móc przełączyć się na spacje przed wklejeniem kodu do formularza.
Helephant

3
Chociaż odpowiedź Drora jest z pewnością „odpowiedzią”, zdecydowanie jest przydatna również w przypadku innych zastosowań!
Marc Bollinger

Nie odpowiedź na pytanie, ale odpowiedź, której szukałem. Pozdrawiam, Aron.
BrezzaP

Łał! Tyle plotek na temat (pozornie) prostego zadania. Zamień na \ t, a rozszerzony przełącznik działa dla mnie dobrze
wanders

3
Wersja 5.9.3 ma Edycja-> Operacje puste-> TAB do spacji. Zobacz odpowiedź mrzli.
koppor

148

Musisz wymienić \t - upewnij się, że używasz trybu rozszerzonego!

Zastąpić


22
tylko dla podkreślenia, musisz wstawić cztery spacje (lub dwa lub cokolwiek innego) w polu „zamień na”.
hasen

1
możesz zamienić \ t (tab) na dowolną liczbę spacji, zobacz wiki.answers.com/Q/How_many_spaces_is_a_tab
Dror

7
Działa to poprawnie tylko w przypadku kart na początku wiersza. Np. W wierszu takim jak ten (używając [tab] do przedstawienia tabulatora): „[tab] foo [tab] bar”, przy rozmiarze tabulatora 4 spacje, pierwsza tabulacja powinna mieć 4 spacje, ale druga tabulacja powinna być tylko 1 spacja.
mercator

4
@DaveE Nie, sprawa mercatora jest uniwersalnym przypadkiem działania TAB. Chociaż wspomniany w komentarzu, a nie w pierwotnym pytaniu, w istocie OP chce zasadniczo przejścia z tabulatorów na spacje, to znaczy nie powinien wiedzieć, patrząc na konwersję, że konwersja została wykonana. Biorąc wybrany tekst i rozszerzając go na początku linii, można zaimplementować obliczenia i zrobić dokładnie to, co sugeruje mercator. Zależy tylko od tekstu rozwiniętego do granic linii. Dlatego decyzja nie jest potrzebna. Dokładnie tak działa polecenie rozwijania w systemie UNIX
Paralife,

2
Inne odpowiedzi mogą odpowiedzieć na konkretne pytanie, ale myślę, że ta odpowiedź jest najlepsza, ponieważ odpowiada, jak zamienić tabulację na WSZYSTKO, nie tylko spacje.
Kik

84

Postępuj zgodnie z tą procedurą, aby przekonwertować spacje na tabulacje i odwrotnie:

Spacja - Tab


1
Dostępne w Notepad ++ v6.3.2 i kilku wcześniejszych wersjach.
AdrianHHH

W przypadku wersji 7.5.4 działało to na mnie urok, ponieważ wszystkie znaki tabulacji (nie tylko wiodące) nie wymagały dodatkowej instalacji wtyczek
J. Paulding

Czy jest jakiś klawisz skrótu, aby zrobić to samo. ?
Akshat Chaturvedi

26

Właśnie opublikowałem wtyczkę Notepad ++ do konwersji tabulatorów na spacje. Tak, konwertuje tabulatory na środku linii. Tak, uwzględnia inne znaki w polu z kartami. Sprawdź to.


1
Co się stanie, jeśli mam ciąg znaków, który chcę zdefiniować z kartą? Zmienia również mój kod źródłowy i literały łańcuchowe?
maxwellb

Działa jak urok zakładek do spacji. Ale to wszystko.
Binarny Phile

Dziękuję, to świetnie. Jest to właściwie jedyna prawdziwa odpowiedź na pytanie, która obejmuje wszystkie sytuacje - wiodące tabulatory lub osadzone tabulatory oraz uwzględniające położenie tekstu i odpowiednią szerokość tabulatora.
RenniePet

To powinna być odpowiedź na to pytanie, zwłaszcza teraz, gdy TextFX nie znajduje się w domyślnej instalacji Notepad ++. Wtyczka działa bezbłędnie. Dziękuję Ci!
Brown

2
Wersja 5.9.3 ma Edycja-> Operacje puste-> TAB do spacji. Zobacz odpowiedź mrzli.
koppor

10

Łatwa droga:

  1. Podświetl obszar jednej karty
  2. Kopiuj
  3. Wyświetl wyszukiwanie / zamień
  4. Wklej w polu wyszukiwania
  5. Kliknij w pole zamiany i wciśnij spację
  6. Następnie wymień wszystko.

2
jest to leniwe podejście, które ogólnie jest moim MO:]
matt lohkamp

3
Jest to także sposób na robienie notatników (nie ++).
maxwellb

W Notepad ++ 6.5.5, próbując TO TABS (z przecinków), było to jedyne podejście, które działało dla mnie: wpisz a tab, wybierz i copy, i wkleja się w pole zastępowania. (Umieszczenie /tw Replace withpudełku nie działało, niezależnie od tego, czy wybrałem Extendedczy Regular Expression.)
Doug_Ivison

5
@Doug_Ivison To dlatego, że /tnie jest sekwencją ucieczki; to ukośnik i litera t. Jeśli chcesz zastąpić karty, użyj \t. Stąd Extended (\n, \r, \t, \0, \x...).
Dan Bechard

@ Dan Masz rację ... dzięki. Kopiuj / wklej działa i \tdziała.
Doug_Ivison

7

W wersji 5.8.7:

Ustawienia menu -> Preferencje ... -> Język Menu / Ustawienia tabulatorów -> Ustawienia tabulatorów (możesz wybrać sam język, aby zastąpić tabulatory spacjami. To fajne!) -> Odznacz Użyj wartości domyślnej i zaznacz Zamień spacją .

Zrzut ekranu okna dialogowego Preferencje


Co rozumie się przez „sam język zastępujący karty”?
Peter Mortensen,

Zmieniło się to ponownie w wersji 7.1 (2016-10-16) (z „Menu języka / Ustawienia karty” na „Język” )
Peter Mortensen

7

Nie przeczytałem wszystkich odpowiedzi, ale nie znalazłem odpowiedzi, której szukałem.

Używam Pythona i nie chcę wyszukiwać / zamieniać lub „pustych operacji” za każdym razem, gdy chcę skompilować kod ...

Więc najlepszym rozwiązaniem dla mnie jest to, że dzieje się to w locie !

Oto proste rozwiązanie, które znalazłem :

Iść do:

  1. Ustawienia menu -> Preferencje
  2. Wybierz Ustawienia karty
  3. Wybierz typ języka (np. Python)
  4. Zaznacz pole wyboru „Użyj wartości domyślnej”
  5. Zaznacz pole wyboru „Zamień spacją”

Wpisz opis zdjęcia tutaj


Zmieniło się to ponownie w wersji 7.1 (2016-10-16) (z „Menu języka / Ustawienia karty” na „Język” (i było „Ustawienia karty” w jeszcze starszej wersji (jak w tej odpowiedzi)).
Peter Mortensen

3

W ustawieniach preferencji nie ma zakładki „Edytuj składniki”. Musisz przejść do „Menu języka / Ustawienia karty”, jest tam opcja kontrolowania zachowania karty. Możesz nawet ustawić go tak, aby działał inaczej w zależności od języka pliku.


A po ustawieniu go, użyj TextFX (TextFX -> TextFX Edycja -> Prowadzenie spacji do tabulatorów lub tabulatorów do spacji), jak opisano wcześniej. Jest to zdecydowanie sposób na przejście w najnowszej wersji Npp.
Cees Meijer,

Zmieniło się to ponownie w wersji 7.1 (16.10.2016) (z „Menu języka / Ustawienia karty” na „Język” )
Peter Mortensen

2

Wtyczka CLR Tab do spacji powinna być dobrym rozwiązaniem. Użyłem go i zadziałało.


bezbłędne zwycięstwo! zaznacz tekst, wtyczki> CLR Tabs do spacji> Tabs do spacji. ta wtyczka bierze pod uwagę, ile spacji jest wymaganych dla tab, tj. twój wynik w odstępach wygląda dokładnie tak samo jak twój wynik w kartach.
sonjz

2

Postępuję w ten prosty sposób:

  • Dwukrotnie kliknij (Podświetl) pojedynczą kartę (np .: \ t ).
  • Naciśnij ctrl + F( Find/repace).
  • Nie możesz zobaczyć \ t lub jednolitego obszaru kartę na Find What:polu. Ale nie martw się.
  • Wpisz spacew Replace With:polu.
  • Kliknij Replce All.

Gotowy! :)

Widzieć:

Zamień * Tab * na * Spacja * w <code> Notepad ++ </code>

Uwaga: Metoda ta ma zastosowanie do tyłu (Wymień miejsca przez kartę ) przypadku.


Jeśli wybierzesz „Rozszerzone” w trybie wyszukiwania, możesz wprowadzić \ t, a także znajdzie zakładkę. Problem z tym rozwiązaniem polega na tym, że nie dostosowuje odstępów między tabulatorami, tzn. Jeśli tabulator ma maksymalnie 5 spacji, tekst przed tabulatorem może mieć od 1 do 4 spacji ...
sonjz

1
Nie wiem, dlaczego ta odpowiedź została odrzucona, ale dla mnie jest prawdopodobnie najlepsza, ponieważ zawiera następujące elementy: KISS. Oczywiście nigdy nie obejmie wszystkich narożnych obudów i konfiguracji, którą przyniosłaby wtyczka, ale z drugiej strony, konieczność polegania na wtyczce w przypadku czegoś tak prostego jest po prostu szalona w przypadku ogólnym. Całuj przez całą drogę.
luis.espinal

2

Jeśli zdarzy ci się pracować w środowisku Unix, potrzebujesz polecenia expand :


1
Czy Notepad ++ nie jest przeznaczony tylko dla systemu Windows?
ta osoba

1

Ustawienia> Preferencje> Ustawienia kart Zaznacz „zamień spacją”. Zauważ, że powyżej znajduje się rozmiar tabulatora: 4 Kliknij cztery, a otworzy się okno z opcją zmiany wartości na inną liczbę całkowitą.

Wprowadź żądaną liczbę całkowitą i naciśnij klawisz ENTER.

Masz to <3.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.