Hvordan ændrer du faner til mellemrum i vim?

udstedelsestid: 2022-09-24

Der er et par måder at gøre dette på.Den enkleste måde er at bruge kommandolinjen :set tabstop=4.Dette vil ændre alle faner i dit dokument til mellemrum. En anden måde er at bruge kommandolinjen :tabedit.Dette åbner et tab-redigeringsvindue, hvor du kan indtaste det antal mellemrum, du vil konvertere hver fane til. Til sidst kan du bruge kommandolinjeindstillingen :set shiftwidth=4, som vil ændre alle faner i dit dokument til fire mellemrum bred. Dette er blot nogle få eksempler; der er mange flere muligheder tilgængelige, hvis du har brug for dem. Alle disse metoder fungerer lige godt med både tekst- og kodefiler.

Hvordan kan jeg få vim til at bruge mellemrum i stedet for tabs?

Der er et par måder at gøre dette på.En måde er at bruge kommandolinjeindstillingen :set tabstop=4.Dette sætter tabulatorstoppet til 4 mellemrum, hvilket vil få vim til at bruge fire mellemrum i stedet for tabulatorer, når du indsætter tekst i et dokument.En anden måde er at bruge autoindent plugin.Dette plugin indrykker automatisk tekst baseret på dens omgivende linjer, så hvis du indstiller autoindent-variablen i din .vimrc-fil til 1, vil vim bruge et mellemrum for hvert tabulatortegn, når du indsætter tekst i et dokument.Endelig kan du også konfigurere Vims tastaturgenveje, så de fungerer forskelligt alt efter om du bruger tabs eller mellemrum.For eksempel kan CTRL-T-genvejen konfigureres, så den indsætter et tabulatortegn i stedet for et mellemrum, når den bruges i Vim-redigeringstilstand (dvs. når du redigerer filer). Hvis ingen af ​​disse metoder virker for dig, eller hvis du bare vil have en nemmere måde at skifte mellem faner og mellemrum uden at skulle huske nogle specifikke kommandoer eller tastetryk, så kan du installere vim-tabs-udvidelsen.Denne udvidelse giver en række praktiske funktioner relateret til at skifte mellem faner og mellemrum i Vim-redigeringstilstand, inklusive en automatisk indrykningsfunktion og understøttelse af flere sprog.

Hvad er den bedste måde at konvertere faner til mellemrum i vim?

Der er et par måder at gøre dette på, men den nemmeste er at bruge kommandoen :set tabstop=4.Dette vil sætte dit tabulatorstop til 4 mellemrum, hvilket vil konvertere alle faner i din fil til mellemrum. Hvis du kun ønsker, at visse dele af din fil skal konverteres til mellemrum, kan du bruge kommandoen :setlocal tabstop=n.Dette vil sætte tabulatorstoppet for linjer, der matcher det givne mønster til n mellemrum, hvilket kun vil påvirke disse linjer. For eksempel: :setlocal tabstop=2 Hvis du vil have alle tabulatorer i din fil konverteret til mellemrum, uanset deres placering på skærmen, kan du bruge indstillingen :settab.Dette vil indstille standardadfærden for alle filer, som vim åbner, og det vil konvertere alle faner til mellemrum.:settab Du kan også ændre hvor mange mellemrum pr. fane Vim bruger ved at indstille miljøvariablen 'stty'.For eksempel: eksport STTY='utf8' Så når Vim starter op, bruger den 8 mellemrum pr. Tab i stedet for

Der er et par måder at gøre dette på, men

det nemmeste er

at bruge

kommandoen :set tabstop=4.Dette vil sætte dit tabulatorstop

til 4 mellemrum, som

vil konvertere alle faner i din fil til mellemrum.

Hvis du kun ønsker, at visse dele af din fil skal konverteres

til mellemrum, du kan bruge

kommandoen :setlocal tabstop=n.Dette vil sætte tabulatorstoppet for linjer, der matcher

det givne mønster til n mellemrum s , som kun vil påvirke disse linjer.

For eksempel: :setlocal tabstop=2 Hvis du vil have alle faner i din fil konverteret til mellemrum s, uanset deres placering på skærmen, kan du bruge e:se ttab-indstillingen. Dette vil indstille standardadfærden for alle filer, der åbner, og det vil konvertere alle faner til mellemrum: faneblad Du kan også ændre, hvor mange mellemrum pr. Tab Vim bruger ved at indstille 'st ty' miljøvariabel . For eksempel: eksport STTY='utf8' Så når Vim starter op, vil det bruge 8 mellemrum pr. Tab i stedet for

  1. : stty -T utf8 For at deaktivere konvertering helt (så hvert tegn behandles som sit eget token), skal du tilføje ":notab" i slutningen af ​​din .vimrc-fil.: notab
  2. :: stty -T utf8 For at deaktivere konvertering helt (så hvert tegn behandles som sit eget token), skal du tilføje ":notab" i slutningen af ​​din .

Hvordan forhindrer jeg vim i at bruge tabs og bruge mellemrum i stedet for?

Dette er et spørgsmål, der er blevet stillet mange gange, og der er flere måder at gøre det på.Her er fire metoder:

:set tabstop=4

lad g:TabStop = 4

:sæt softtabstop=4

  1. Brug kommandolinjeindstillingen :set tabstop=4 Indstil 'tabstop'-variablen i din .vimrc-fil Brug kommandolinjeindstillingen :set softtabstop=4 Brug kommandolinjen setlocal softtabstopDe to første metoder fungerer med Vim-standardindstillinger, mens den tredje metode kræver du kan tilføje en linje til din .vimrc-fil.Den fjerde metode bruger Vims lokale indstilling for 'softtabstop'. Her er et eksempel på, hvordan man bruger hver metode: For at bruge kommandolinjeindstillingen :set tabstop=4 skal du skrive:
  2. For at indstille 'tabstop'-variablen i din .vimrc-fil skal du skrive:
  3. For at bruge kommandolinjeindstillingen :set softtabstop=4 skal du skrive:

Er der en måde at tvinge vim til at bruge mellemrum i stedet for tabs?

Der er en måde at tvinge vim til at bruge mellemrum i stedet for tabs, men det er ikke særlig brugervenligt.For at gøre dette skal du indstille 'tabstop' og 'softtabstop' i din .vimrc-fil.Tabstop-indstillingen definerer, hvor mange mellemrum, der indsættes efter hvert tabulatortegn, mens softtabstop-indstillingen definerer, hvor mange mellemrum, der vil blive indsat før hvert ikke-mellemrumstegn. Sådan indstilles tabstop-indstillingen:

Er der en måde at tvinge vim til at bruge mellemrum i stedet for tabs?

Der er en måde at tvinge vim til at bruge de sekundære tegn i stedet for tabulatorer, men det er ikke særlig brugervenligt..For at gøre dette skal du stå 'tabstops'og'softtabstops'indstillingerne i deres cfil..Tabstopoptionen definerervismange mellemrumvilbliverindstilletefterhvertab-tegn,'vil'blødt-mandstopper-til-at-stoppe-mellemrum'et.

  1. Åbn din .vimrc-fil Tilføj følgende line:set tabstop=4 Gem dine ændringerSådan indstiller du softtabstop-indstillingen: Åbn din .vimrc-fil Tilføj følgende line:set softtabstop=4 Gem dine ændringerHvis du bruger Vim 7 eller nyere, kan du brug også kommandoen "setlocal softtabstop" til at indstille begge muligheder på én gang.: Hvis du bruger Vim 6 eller tidligere, skal du tilføje en separat linje for hver indstilling.: Du kan også bruge en af ​​disse kommandoer til at ændre tabulatorer i mellemrum automatisk, når du indtaster dem i: autocmd BufNewFile * :setlocal shiftwidth=4 autocmd FileType c :setlocal shiftwidth=4 Luk og genåbn din .vimrc-fil Hvis du vil vende tilbage til at bruge faner, skal du blot fjerne en af ​​disse linjer fra din .vimrc-fil.: Hvis du ikke ønsker at ændre faneblade til mellemrum automatisk, når du indtaster dem, men hellere manuelt justere deres bredder, når det er nødvendigt, så kan du bruge en af ​​disse kommandoer i stedet:autocmd BufNewFile * :setlocal shiftwidth= 0 autocmd FileType c :setlocal softtab stop = 0 God fornøjelse!
  2. .Åbn din'.vircfile'.

Hvorfor skulle jeg gøre faner til mellemrum i vim?

Der er et par grunde til, at du måske ønsker at gøre dette.En grund er, at det kan gøre din redigering mere effektiv.Når du har flere faner åbne i vim, behandles hver enkelt som sin egen separate fil.Ved at omdanne faner til mellemrum, vil vim behandle al teksten i disse faner som én enkelt fil, hvilket kan spare dig for en masse tid, når du redigerer store filer.

En anden grund til at omdanne faner til mellemrum er for konsistens.Hvis al din kode og kildefiler er skrevet i tabulatorer, kan det være forvirrende, hvis du begynder at skrive ord på én linje og derefter trykker på tabulatortasten for at gå til næste linje og ender med at trykke på mellemrumstasten i stedet for.At omdanne tabulatorer til mellemrum vil løse dette problem, så hvert ord er på en enkelt linje.

Endelig kan det at omdanne faner til mellemrum hjælpe med at holde din kode organiseret.Når alt er på én linje, er det meget nemmere at se, hvor alt passer sammen, og det gør det nemmere at finde specifikke stykker kode, når du har brug for dem.

Hvor mange mellemrum repræsenterer en tabulator i vim?

Når du trykker på tabulatortasten i vim, vil den indsætte et antal mellemrum svarende til antallet af tabulatorer, der er angivet af :set tabstop-indstillingen.For eksempel, hvis du har sat tabulatorstop til 8 mellemrum, vil et tryk på tabulatortasten indsætte 8 mellemrum i din tekst.Hvis du ikke har indstillet noget tabstop, vil vim bruge den værdi, der er defineret for 'tabstop' i din brugerkonfigurationsfil (normalt

Hvis du vil ændre, hvor mange mellemrum der indsættes, når du trykker på Tab-tasten, kan du gøre det ved at ændre værdien af ​​:set tabstop . Standardindstillingen er 8 mellemrum.Du kan også angive et andet antal mellemrum ved hjælp af et decimaltegn: Det er værd at bemærke, at denne indstilling kun påvirker, hvordan faner håndteres i vim; det har ingen som helst effekt på andre programmer, der kan bruge Windows-lignende vognretur (r), såsom Notepad eller Wordpad.I disse tilfælde, hver gang du trykker på Enter eller Retur efter at have skrevet noget tekst i vim og før du trykker på Tab, vil Vim tilføje en ekstra r i slutningen af ​​din tekst - uanset om du har sat tabulatorstop op eller ej!

Der er også et valgfrit tredje argument, som giver os mulighed for at tilsidesætte det tegn, der bruges som pladsholder for mellemrum, når vi trykker på TAB: Som standard er dette ' ', men vi kan ændre det ved at bruge :set tabstops=.

  1. . Så hvis du vil skrive et mellemrum i stedet for en tabulator, skal du blot trykke på mellemrumstasten.
  2. 5 for et halvt mellemrum, 1 for et mellemrum og så videre.

Kan jeg ændre antallet af mellemrumstegn, som en tabulator repræsenterer i vim?

Ja.For at gøre det skal du åbne 'tabs'-filen i din vim-konfigurationsmappe ( ~/.

Vil det at omdanne tabulatorer til mellemrumstegn i vim påvirke min kodes indrykning?

Nej, det vil det ikke.Tabs er simpelthen mellemrum med et andet tegn efter mellemrummet.Dette er grunden til, at du stadig kan se tabulatortegn, selv når du har forvandlet dem til mellemrumstegn.Men hvis du ønsker at holde din kodes indrykning konsistent, skal du bruge to mellemrum i stedet for en tabulator og et mellemrum for hvert niveau af indrykning.

Hvad er nogle potentielle problemer med at konvertere faner til mellemrum i vim?

  1. Tabs kan lettere skelnes i tekst end mellemrum.
  2. Når flere faner kombineres, kan det være svært at sige, hvilken der skal konverteres til et mellemrum, og hvilken der skal forblive som en fane.
  3. Hvis du bruger visse plugins eller scripts, der er afhængige af tabulering, kan det forårsage problemer at konvertere dem til mellemrum.
  4. Hvis du har mange filer med forskellige faneindstillinger, kan konvertering af dem alle til mellemrum resultere i inkonsistens på tværs af din arbejdsstation.
  5. Nogle programmer (såsom Sublime Text) konverterer automatisk faner til mellemrum, når du gemmer en fil, så hvis du ikke ønsker, at dette skal ske, skal du sørge for, at din vim-konfiguration ikke inkluderer "tabstop"-indstillingen.