Estoy tratando de usar vim 7.2 (en Windows XP) para sangrar automáticamente y formatear algunos códigos VHDL y Matlab. Para hacerlo, intento usar el comando "gg = G". Sin embargo, esto no funciona correctamente. El código no está adecuadamente sangrado en absoluto.Cómo reparar la sangría automática rota en vim
Para dar un ejemplo, tenía el siguiente código, que ya estaba sangría correctamente:
% This function is based on the code_g_generator() function
function [v_code] = get_code(n_code_number)
% There is no need to clear the persistent variables in this function
mlock
%% Initialize the internal variables
persistent n_fifo_top;
if isempty(n_fifo_top)
n_fifo_top = 1;
end
N_MEMORY_SIZE = 4;
if n_code_number > 4
c_saved_code_fifo = {-1*ones(1, N_MEMORY_SIZE)};
end
Si utilizo el comando "gg = G" me sale:
% This function is based on the code_g_generator() function
function [v_code] = get_code(n_code_number)
% There is no need to clear the persistent variables in this function
mlock
%% Initialize the internal variables
persistent n_fifo_top;
if isempty(n_fifo_top)
n_fifo_top = 1;
end
N_MEMORY_SIZE = 4;
if n_code_number > 4
c_saved_code_fifo = {-1*ones(1, N_MEMORY_SIZE)};
end
Como puede ver, en este ejemplo Vim indebidamente sangra el código después del primer bloque "if". Para otros archivos, tengo problemas similares (aunque no necesariamente en el primer bloque si).
Para archivos VHDL me sale problemas similares.
He intentado utilizar diferentes combinaciones de las configuraciones autoindent, smartindent y cindent. Después de pasar por estos foros, también me he asegurado de que la "sintaxis", "tipo de archivo", "tipo de archivo" y "tipo de archivo sangría" estén activados. Aún así, no funciona. Además, si hago "¿establecer la sintaxis?" Obtengo "matlab" para los archivos de matlab y "vhdl" para los archivos de vhdl, lo cual es correcto. Y si hago "set indentexpr?" Obtengo "GetMatlabIndent (v: lnum)" para los archivos de matlab y "GetVHDLindent()" para los archivos vhdl.
Para intentar aislar el problema (y asegurarme de que no se debe a uno de los complementos de vim que he instalado) realizando una nueva instalación de VIM en una computadora diferente (en la que VIM nunca se había instalado) . En esa computadora tengo el mismo tipo de problemas (es por eso que no creo que deba darte el .vimrc, pero si lo necesitas puedo subirlo aquí también).
¿Alguna idea?