2012-12-12 10 views

risposta

0

Se utilizza spazi reali invece di tabulazioni (che suona come), no, non è possibile visualizzare vim in 2 spazi in cui sono presenti 4. Tuttavia, è possibile indicare i seguenti comandi per sostituire tutti i gruppi di 4 spazi con il carattere di tabulazione e quindi visualizzarli come 2 spazi.

:set tabstop=4 ! display a tab as 4 columns 
:set shiftwidth=4 
:set noexpandtab 
:gg=G ! convert the whole file to tabs 
:set tabstop=2 !display a tab as 2 columns 
:set shiftwidth=2 

Quando si è pronti per inviare il tuo lavoro,

:set tabstop=4 
:set shiftwidth=4 
:set expandtab 
:%retab 

caso riconvertirlo.

4

L'aiuto ha un esempio per un caso di utilizzo simile di diverse larghezze di tabulazione, vedere :help retab-example.

adattamento che a dimezzare/spazi raddoppio:

:autocmd BufReadPost,BufWritePost * %substitute/^\(\+\)\1/\1/e 
:autocmd BufWritePre    * %substitute/^ \+/&&/e 
+0

che è grande ! Funziona su tutti i file o solo su quello corrente? –

+0

Con '*', su tutti. Vedi ': help autocmd-patterns' su come influenzarlo. –

6

questo è l'opposto di ciò che è stato chiesto here.

Sì, è possibile! Se hai l'opzione "nascondi", puoi provarlo.

:syntax match spaces// conceal cchar= "Don't forget the space after cchar! 
:set concealcursor=nvi 
:set conceallevel=1 

Ecco ciò che questi comandi fanno:

  • impostare il carattere di sostituzione per 2 spazi per 1 posto
  • Mantenere il testo sotto il cursore a scomparsa per il normale, visiva, e inserire i modi
  • Abilita nascondere il testo con un carattere

Devi ancora impostare il tuo tabstop, softtabstop e shiftwidth-4, ma sembra e sente come è 2! Tuttavia, quando scrivi il file, è davvero 4.

Se si desidera attivare l'occultamento fuori si può fare una delle due cose:

  1. regola Rimuovere nascondere :syntax clear spaces o
  2. Lasciatevi testo nascosto di essere ampliato sotto il cursore :set concealcursor=
+2

Ho anche bisogno di aggiungere: set conceallevel = 1 prima che questo funzionasse – timmow

+0

C'è un modo per il contrario? Impostare 2 spazi per apparire come 4 spazi? – Uri

+0

@Uri Vedi https://stackoverflow.com/questions/14514336/gvim-show-4-spaces-but-save-2-spaces-tabs. Nota, non l'ho provato – Balthamos

Problemi correlati