Я пытаюсь использовать 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, что правильно. А если я сделаю "set indentexpr?" Я получаю «GetMatlabIndent (v: lnum)» для файлов Matlab и «GetVHDLindent ()» для файлов VHDL.
Чтобы попытаться изолировать проблему (и убедиться, что она не связана с одним из установленных мной плагинов vim), выполнив новую установку VIM на другом компьютере (на котором VIM никогда раньше не устанавливался). На этом компьютере у меня возникают такие же проблемы (поэтому я не думаю, что мне нужно давать вам .vimrc, но если вам это нужно, я могу загрузить его и здесь).
Есть идеи?