On Tue, Jan 31, 2012 at 15:32, Christian Brabandt <cbli...@256bit.org>wrote:

> On Tue, January 31, 2012 8:16 am, Clark J. Wang wrote:
> > On Tue, Jan 31, 2012 at 15:11, Christian Brabandt
> > <cbli...@256bit.org>wrote:
> >
> >> On Tue, January 31, 2012 8:05 am, Clark J. Wang wrote:
> >> > I have some files named in the *.kshlib format which are ksh scripts
> >> but
> >> > vim always recongnized them as "ft=conf". So how can I force vim to
> >> > consider those files as "ft=sh"?
> >> >
> >> > I tried following in vimrc but it did not work:
> >> >
> >> > autocmd BufReadPost *
> >> >         \ if bufname('%') =~ '^.*\.kshlib$' |
> >> >         \   exe 'normal set ft=sh' |
> >> >         \ endif
> >> >
> >>
> >> :h new-filetype
> >>
> >
> > Thanks I see the example "au BufRead,BufNewFile *.mine set filetype=mine"
> > and that works for me. But what's wrong with my original post though it's
> > a
> > bit complicated?
> >
>
> It looks weird.
>
> The whole point of the BufReadPost autocommand is to match
> against a file name, in your case you use the wildchar * to match against
> any file pattern, but within the autocommand, you only want to match
> against .kshlib.
>
> Secondly, your exe 'normal set ft=sh' is wrong, you missed the
> colon and additionally you don't need neither the 'exe' nor the 'normal
> command so this statement can be simplified to :set ft=sh.
>

Thanks.

>
> After all your whole autocommand can then be simplified to
> au BufReadPost *.kshlib :set ft=sh
> which is basically the same autocommand, that is given below
> :h new-filetype, except that you are still missing the BufNewFile
> autocommand.
>
> regards,
> Christian
>
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to