Me he echado a perder un poco al usar Eclipse y Java. Comencé a usar vim para hacer codificación C en un entorno de Linux, ¿hay alguna manera de que vim haga automáticamente el espaciado adecuado para los bloques?
Entonces, después de escribir a {, la siguiente línea tendrá 2 espacios con sangría, y un retorno en esa línea la mantendrá en la misma sangría, y a} retrocederá 2 espacios.
c
vim
coding-style
vi
zxcv
fuente
fuente
Yo escribí todo acerca de pestañas en vim , lo que da un par de cosas interesantes que usted no preguntó. Para sangrar automáticamente las llaves, use:
:set cindent
Para sangrar dos espacios (en lugar de una pestaña de ocho espacios, el valor predeterminado de vim):
:set shiftwidth=2
Para evitar que vim convierta ocho espacios en pestañas:
:set expandtab
Si alguna vez desea cambiar la sangría de un bloque de texto, use <y>. Normalmente utilizo esto junto con el modo de selección de bloque (v, seleccione un bloque de texto, <o>).
(Trataría de convencerlo de que no use sangría de dos espacios, ya que a mí (y a la mayoría de las personas) nos resulta difícil leer, pero esa es otra discusión).
fuente
Muchas de las funciones de vim (como
autoindent
ycindent
) están desactivadas de forma predeterminada. Para ver realmente lo que vim puede hacer por usted, necesita un archivo~/.vimrc
.Ha llegado un buen comienzo
$VIMRUNTIME/vimrc_example.vim
. Si quieres probarlo, usacuando en vim.
De hecho, sugeriría que simplemente copie los contenidos a usted,
~/.vimrc
ya que está bien comentado, y es un buen lugar para comenzar a aprender a usar vim. Puedes hacer esto porEsto sobrescribirá su actual
~/.vimrc
, pero si todo lo que tiene es la configuración de sangría que sugirió Davr, no me preocuparía, ya que el ejemplo vimrc se encargará de eso por usted también. Para obtener un recorrido completo del ejemplo y lo que hace por usted, consulte:help vimrc-intro
.fuente
Simplemente ejecute:
user@host:~ $ echo set autoindent >> .vimrc
fuente
Creo que la mejor respuesta se explica en la wikia vim:
http://vim.wikia.com/wiki/Indenting_source_code
Tenga en cuenta que desaconseja el uso de "set autoindent". La mejor característica de todas que encuentro en esta explicación es poder establecer configuraciones por archivo, lo cual es especialmente útil si programa en Python y C ++, por ejemplo, ya que querría 4 espacios para pestañas en el primero y 2 para espacios en este último.
fuente
y recuerda siempre esta venerable explicación de Spaces + Tabs:
http://www.jwz.org/doc/tabs-vs-spaces.html
fuente
Tratar:
establecer sw = 2
establecer ts = 2
establecer smartindent
fuente