Sto provando ad usare vim 7.2 (su Windows XP) per indentare automaticamente e formattare alcuni codici VHDL e Matlab. Per fare ciò sto cercando di usare il comando "gg = G". Tuttavia questo non funziona correttamente. Il codice non è affatto rientrato correttamente.Come correggere il rientro automatico rotto in vim
Per fare un esempio, ho avuto il seguente codice sorgente, che è stata già adeguatamente rientrato:
% 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
Se uso il comando "gg = G" ottengo:
% 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
Come puoi vedere, in questo esempio Vim indenta in modo errato il codice dopo il primo blocco "if". Per altri file ho problemi simili (anche se non necessariamente sul primo blocco se).
Per i file VHDL si verificano problemi simili.
Ho provato a utilizzare diverse combinazioni delle impostazioni autoindent, smartindent e cindent. Dopo aver consultato questi forum, mi sono anche assicurato che la "sintassi", "filetype", "indentazione del tipo di file" e "indentazione del plug-in del filetype" fossero impostati su on. Tuttavia, non funziona. Inoltre, se faccio "impostare la sintassi?" Ottengo "matlab" per i file matlab e "vhdl" per i file vhdl che è corretto. E se io "set indentexpr?" Ottengo "GetMatlabIndent (v: lnum)" per i file MATLAB e "GetVHDLindent()" per i file vhdl.
Per provare a isolare il problema (e assicurarsi che non sia dovuto a uno dei plugin vim che ho installato) facendo una nuova installazione di VIM su un altro computer (in cui VIM non era mai stato installato prima) . Su quel computer ho lo stesso tipo di problemi (è per questo che non penso di doverti dare il .vimrc, ma se ne hai bisogno posso caricarlo anche qui).
Qualche idea?