如何修改vim下vhdl语言语法文件

Vim、Emacs配置和使用
回复
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

如何修改vim下vhdl语言语法文件

#1

帖子 wangjun403 » 2010-03-31 23:32

代码: 全选

  " indent:   follow indent of previous opening statement, otherwise -sw
  " keyword:  "begin"
  " where:    anywhere in current line
  if curs =~? s:NC.'\<begin\>'
    let ind = ind - &sw
    " find previous opening statement of
    " keywords: "architecture", "block", "entity", "function", "generate", "procedure", "process"
    let s2 = s:NC.s:NE.'\<\%(architecture\|block\|entity\|function\|generate\|procedure\|process\)\>'
    if (curs !~? s2.'.*'.s:NC.'\<begin\>.*'.s:ES && prevs =~? s2) || m == 1
      let ind = ind + &sw
    endif
    return ind
  endi
这是vhdl语法文件中的一段,它定义了begin下一行的缩进为2个tab位,如何修改使之定义begin下一行的缩进为1个tab位

代码: 全选

architecture rt1 of fenpin3 is 
signal p,q:std_logic_vector(1 downto 0);
begin
		process(clk)
		begin
				if(clk'event and clk='1')then
						if p="10" then
								p<="00";
						else
								p<=p+1;
						end if;
				end if;
		end process;
		
		process(clk)
		begin
				if(clk'event and clk='0') then
						if q="10" then
								q<="00";
						else
								q<=q+'1';
						end if;
				end if;
		end process;
		clk_out<='1' when p="00" or q="00" else
				 '0';
end rt1
几乎所有的关键字默认的缩进都是2个tab位

谁可以告诉下,感激不尽!!!
生命只不过是上帝借你一用的资本!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何修改vim下vhdl语言语法文件

#2

帖子 lilydjwg » 2010-04-01 13:44

wangjun403 写了:

代码: 全选

  " indent:   follow indent of previous opening statement, otherwise -sw

代码: 全选

:setlocal sw=<whatever_you_like>
写到~/.vim/ftplugin/vhdl.vim里(或者 ~/.vimrc 如果你希望所有文件类型都这样)去吧。

代码: 全选

:help 'sw'
不明白看这个。
wangjun403
帖子: 433
注册时间: 2009-07-06 14:26

Re: 如何修改vim下vhdl语言语法文件

#3

帖子 wangjun403 » 2010-04-01 19:13

非常感谢LS的,问题解决了
生命只不过是上帝借你一用的资本!
回复