Я пытаюсь использовать vim 7.2 (в Windows XP) для автоматического отступа и форматирования некоторого кода VHDL и Matlab. Для этого я пытаюсь использовать команду "gg = G". Однако это не работает должным образом. Код не имеет правильного отступа.
Чтобы привести пример, у меня был следующий исходный код, который уже был правильно вставлен:
% 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
Если я использую команду "gg = G", я получаю:
% 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
Как видите, в этом примере Vim неправильно делает отступ для кода после первого блока if. Для других файлов возникают аналогичные проблемы (хотя и не обязательно в первом блоке if).
Для файлов VHDL возникают похожие проблемы.
Я пытался использовать различные комбинации настроек autoindent, smartindent и cindent. После просмотра этих форумов я также удостоверился, что «синтаксис», «тип файла», «отступ типа файла» и «отступ модуля типа файла» включены. Тем не менее, это не работает. Кроме того, если я делаю "установить синтаксис?" Я получаю "Matlab" для файлов Matlab и "VHDL" для файлов VHDL, который является правильным. А если я сделаю "установить indentexpr?" Я получаю «GetMatlabIndent (v: lnum)» для файлов matlab и «GetVHDLindent ()» для файлов vhdl.
Чтобы попытаться изолировать проблему (и убедиться, что это связано не с одним из установленных мной плагинов vim), выполнив новую установку VIM на другом компьютере (на котором VIM никогда не устанавливался ранее). На этом компьютере возникают такие же проблемы (поэтому я не думаю, что мне нужно дать вам .vimrc, но если вам это нужно, я могу загрузить его и здесь).
Есть идеи?