Byłem trochę zepsuty przy użyciu Eclipse i Java. Zacząłem używać vima do kodowania w C w środowisku linuxowym, czy jest sposób, aby vim automatycznie wykonywał odpowiednie odstępy między blokami?
Więc po wpisaniu a {następna linia będzie miała 2 spacje wcięte, a powrót w tej linii utrzyma ją w tym samym wcięciu, a} przesunie 2 spacje wstecz?
c
vim
coding-style
vi
zxcv
źródło
źródło
I napisał o kartach w vim , co daje kilka ciekawych rzeczy, które nie zapytać. Aby automatycznie wciąć nawiasy klamrowe, użyj:
:set cindent
Aby wciąć dwie spacje (zamiast jednej tabulacji z ośmioma spacjami, vim domyślnie):
:set shiftwidth=2
Aby Vim nie konwertował ośmiu spacji na zakładki:
:set expandtab
Jeśli kiedykolwiek zechcesz zmienić wcięcie bloku tekstu, użyj <i>. Zwykle używam tego w połączeniu z trybem wyboru bloku (v, wybierz blok tekstu, <lub>).
(Spróbowałbym odwieść cię od używania wcięć z dwoma spacjami, ponieważ ja (i większość innych ludzi) trudno jest to przeczytać, ale to już inna dyskusja.
źródło
Wiele funkcji Vima (takich jak
autoindent
icindent
) jest domyślnie wyłączonych. Aby naprawdę zobaczyć, co Vim może dla ciebie zrobić, potrzebujesz przyzwoitego~/.vimrc
.Jest dobry starter
$VIMRUNTIME/vimrc_example.vim
. Jeśli chcesz to wypróbować, użyjkiedy w vimie.
Właściwie sugerowałbym po prostu skopiowanie zawartości do twojego,
~/.vimrc
ponieważ jest dobrze skomentowana i jest dobrym miejscem do rozpoczęcia nauki korzystania z vim. Możesz to zrobić przezSpowoduje to nadpisanie twojego prądu
~/.vimrc
, ale jeśli wszystko, co tam masz, to ustawienia wcięć, które zasugerował Davr, nie przejmowałbym się tym, ponieważ przykładowy vimrc zadba o to również za ciebie. Aby zapoznać się z pełnym opisem przykładu i tym, co robi dla Ciebie, zobacz:help vimrc-intro
.źródło
Po prostu uruchom:
user@host:~ $ echo set autoindent >> .vimrc
źródło
Myślę, że najlepsza odpowiedź jest faktycznie wyjaśniona na wikii vim:
http://vim.wikia.com/wiki/Indenting_source_code
Pamiętaj, że odradza używanie opcji „set autoindent”. Najlepszą cechą ze wszystkiego, co znalazłem w tym wyjaśnieniu, jest możliwość ustawienia ustawień dla poszczególnych plików, co jest szczególnie przydatne, jeśli programujesz na przykład w Pythonie i C ++, ponieważ chciałbyś 4 spacje dla tabulatorów w pierwszym i 2 dla spacje w tym drugim.
źródło
i zawsze pamiętaj o tym czcigodnym wyjaśnieniu Spaces + Tabs:
http://www.jwz.org/doc/tabs-vs-spaces.html
źródło
Próbować:
ustaw sw = 2
ustaw ts = 2
ustaw smartindent
źródło