Domanda

Sono stato un po' viziato usando Eclipse e Java.Ho iniziato a usare vim per eseguire la codifica C in un ambiente Linux, c'è un modo per fare in modo che vim esegua automaticamente la spaziatura corretta per i blocchi?

Quindi, dopo aver digitato a { la riga successiva avrà 2 spazi rientrati e un ritorno su quella riga la manterrà con lo stesso rientro e a } tornerà indietro di 2 spazi?

È stato utile?

Soluzione

Questi due comandi dovrebbero farlo:

:set autoindent
:set cindent

Per ottenere punti bonus inseriscili in un file denominato .vimrc situato nella tua home directory su Linux

Altri suggerimenti

IO ha scritto tutto sulle schede in vim, che fornisce alcune cose interessanti che non hai chiesto.Per rientrare automaticamente le parentesi graffe, utilizzare:

:set cindent

Per rientrare due spazi (invece di una tabulazione di otto spazi, impostazione predefinita di vim):

:set shiftwidth=2

Per impedire a Vim di convertire otto spazi in tabulazioni:

:set expandtab

Se desideri modificare il rientro di un blocco di testo, utilizza < e >.Di solito lo uso insieme alla modalità di selezione del blocco (v, seleziona un blocco di testo, < o >).

(Proverei a dissuaderti dall'usare il rientro a due spazi, dato che io (e la maggior parte delle altre persone) trovo difficile leggere, ma questa è un'altra discussione.)

Molte funzionalità di Vim (come autoindent E cindent) sono disattivati ​​per impostazione predefinita.Per vedere davvero cosa può fare Vim per te, hai bisogno di un file decent ~/.vimrc.

C'è un buon antipasto $VIMRUNTIME/vimrc_example.vim.Se vuoi provarlo, usa

:source $VIMRUNTIME/vimrc_example.vim

quando sei in vim.

In realtà suggerirei semplicemente di copiare i contenuti sul tuo file ~/.vimrc poiché è ben commentato e un buon punto di partenza per imparare a usare vim.Puoi farlo tramite

:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc

Questo sovrascriverà il tuo attuale ~/.vimrc, ma se tutto quello che hai sono le impostazioni di rientro suggerite da Davr, non mi preoccuperei, dato che l'esempio vimrc si prenderà cura di questo anche per te.Per una panoramica completa dell'esempio e cosa fa per te, vedi :help vimrc-intro.

Esegui semplicemente:

user@host:~ $ echo set autoindent >> .vimrc

Penso che la risposta migliore sia effettivamente spiegata sulla wikia di vim:

http://vim.wikia.com/wiki/Indenting_source_code

Si noti che consiglia di utilizzare "Imposta autoindent". La migliore caratteristica di tutto ciò che trovo in questa spiegazione è essere in grado di impostare le impostazioni per file, che è particolarmente utile se si programmino in Python e C ++, ad esempio, poiché vorresti 4 spazi per le schede nel primo e 2 per spazi in quest'ultimo.

e ricorda sempre questa venerabile spiegazione di Spazi + Tabs:

http://www.jwz.org/doc/tabs-vs-spaces.html

Tentativo:

impostare sw=2

imposta ts=2

imposta smartindent

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top