Loading ...
Sorry, an error occurred while loading the content.
 

Re: cindent

Expand Messages
  • vipin aravind
    thanks for the info vipin ... From: Ross A. Osborn To: VIM Mailing list ; Sent: Friday, March 02, 2001 4:26 PM
    Message 1 of 15 , Mar 1, 2001
      thanks for the info
      vipin
      ----- Original Message -----
      From: Ross A. Osborn <rosborn@...>
      To: VIM Mailing list <vim-dev@...>; <vim@...>
      Sent: Friday, March 02, 2001 4:26 PM
      Subject: Re: cindent


      > On Fri, Mar 02, 2001 at 09:30:01AM +0100, Coen Engelbarts wrote:
      > > :help =
      > > :help gq
      > >
      > > These should work on any selection, e.g. a visual selection (type <v>
      and
      > > move), or type <g><q><G> or <=><G> from the first character on the first
      > > line.
      > > Personally, I can't get <g><q> to work though, and <=> ignores my
      "comments"
      > > settings.
      >
      > Do you have "equalprg" set to something?
      >
      > --
      > | Ross Osborn | Motorola, Broadband Comm. Sector |
      > | rosborn@... | 101 Tournament Drive |
      > | | Horsham, PA 19044 |
      >
    • vipin aravind
      Is there any way to specify in the comman mode with line no,s I meant as in a searching string the formating to be done on block of lines. I underatand the =G
      Message 2 of 15 , Mar 1, 2001
        Is there any way to specify in the comman mode with line no,s
        I meant as in a searching string
        the formating to be done on block of lines.
        I underatand the =G in command mode and gq in visual mode.
        thanks
        vipin

        ----- Original Message -----
        From: Coen Engelbarts <Coen.Engelbarts@...>
        To: Ross A. Osborn <rosborn@...>; VIM Mailing list <vim-dev@...>;
        <vim@...>
        Sent: Friday, March 02, 2001 4:41 PM
        Subject: RE: cindent


        > > > Personally, I can't get <g><q> to work though, and <=>
        > > ignores my "comments"
        > > > settings.
        > >
        > > Do you have "equalprg" set to something?
        >
        > Nope, I checked:
        > equalprg=
        >
        > Other people seem to have the same problem with <=> ignoring the
        "comments"
        > string.
        > That might be a VIM bug.
        >
        > gq does not work on my C comments and formats C-code pretty strange:
        >
        > int test(int a, int B) { int c;
        >
        > return c; }
        >
        > Does anybody have any idea why vim behaves like this?
        > Thanks for any help
        >
        > Coen
        >
        >
        > I use Vim 5.7 on VMS with the following settings and version:
        >
        >
        > :set all
        > --- Options ---
        > aleph=224 nohidden previewheight=12 tagstack
        > noallowrevins history=50 noreadonly
        > term=builtin_gui
        > noaltkeymap nohkmap remap noterse
        > autoindent nohkmapp report=2 textauto
        > noautowrite hlsearch norevins notextmode
        > background=light icon norightleft textwidth=78
        > backspace=2 iconstring= ruler notildeop
        > nobackup ignorecase rulerformat= timeout
        > backupext=_ incsearch scroll=24
        > timeoutlen=1000
        > nobinary noinfercase noscrollbind title
        > browsedir=last noinsertmode scrolljump=1 titlelen=85
        > nocindent isprint=@,161-255 scrolloff=4 titlestring=
        > cinoptions= joinspaces nosecure nottimeout
        > clipboard= key= selectmode=
        ttimeoutlen=-1
        > cmdheight=2 keymodel= shell= ttybuiltin
        > columns=80 keywordprg=help shellcmdflag=-c ttyfast
        > nocompatible langmap= shellpipe=> ttymouse=dec
        > noconfirm laststatus=1 shellquote=
        ttyscroll=999
        > cpoptions=aABceFs nolazyredraw shellredir=>
        > undolevels=1000
        > dictionary= nolinebreak shellxquote=
        > updatecount=200
        > nodigraph lines=50 noshiftround
        > updatetime=4000
        > display= nolisp shiftwidth=8 verbose=0
        > noedcompatible nolist noshortname
        > viminfo='20,"50
        > endofline listchars=eol:$ showbreak= visualbell
        > equalalways magic showcmd warn
        > equalprg= makeprg=make noshowfulltag noweirdinvert
        > noerrorbells matchtime=5 showmatch
        whichwrap=b,s
        > esckeys maxfuncdepth=100 showmode
        wildchar=<Tab>
        > eventignore= maxmapdepth=1000 sidescroll=0 wildcharm=^@
        > expandtab maxmem=512 smartcase wildignore=
        > noexrc maxmemtot=2048 nosmartindent nowildmenu
        > fileencoding=ansi modeline smarttab
        wildmode=full
        > fileformat=unix modelines=5 softtabstop=4
        > winaltkeys=menu
        > filetype=vim nomodified nosplitbelow winheight=1
        > nofkmap more startofline
        winminheight=1
        > formatprg= mouse=a statusline= wrap
        > nogdefault nomousefocus swapfile wrapmargin=0
        > grepprg=grep -n mousehide swapsync=fsync nowrapscan
        > guifont= mousemodel=extend switchbuf= write
        > guifontset= mousetime=500 syntax=vim nowriteany
        > guiheadroom=50 nonumber tabstop=8 nowritebackup
        > guioptions=agimrt nopaste notagbsearch writedelay=0
        > guipty pastetoggle= taglength=0
        > helpheight=20 patchmode= tagrelative
        > backupdir=./,sys$login:,tmp:
        > breakat= ^I!@*-+_;:,./?
        > cinkeys=0{,0},:,0#,!^F,o,O,e
        > -- More --
        > nofkmap more startofline
        winminheight=1
        > formatprg= mouse=a statusline= wrap
        > nogdefault nomousefocus swapfile wrapmargin=0
        > grepprg=grep -n mousehide swapsync=fsync nowrapscan
        > guifont= mousemodel=extend switchbuf= write
        > guifontset= mousetime=500 syntax=vim nowriteany
        > guiheadroom=50 nonumber tabstop=8 nowritebackup
        > guioptions=agimrt nopaste notagbsearch writedelay=0
        > guipty pastetoggle= taglength=0
        > helpheight=20 patchmode= tagrelative
        > backupdir=./,sys$login:,tmp:
        > breakat= ^I!@*-+_;:,./?
        > cinkeys=0{,0},:,0#,!^F,o,O,e
        > cinwords=if,else,while,do,for,switch
        > comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
        > complete=.,w,b,u,t,i
        > define=^#\s*define
        > directory=./,sys$login:,tmp:
        > errorfile=errors.err
        > errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%f:%l:%m,"%f"\, line
        > %l%*\D%c%
        > *[^ ] %m,%D%*\a[%*\d]: Entering directory `%f',%X%*\a[%*\d]: Leaving
        > directory `
        > %f',%DMaking %*\a in %f
        > fileformats=unix,dos
        > formatoptions=tcql
        > grepformat=%f:%l%m,%f %l%m
        >
        >
        guicursor=n-v-c:block-Cursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Curso
        > r,
        > r-cr:hor20-Cursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
        > helpfile=USER_DISK:[USER.ENGELBARTS.BIN.VIM]doc/help.txt
        >
        >
        highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search
        > ,m
        >
        :MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v
        > :Vis
        > ual,V:VisualNOS,w:WarningMsg,W:WildMenu
        > include=^#\s*include
        > isfname=@,48-57,/,.,-,_,+,,,$,~
        > isident=@,48-57,_,192-255
        > iskeyword=@,48-57,_,192-255
        > makeef=tmp:vim##.err
        > matchpairs=(:),{:},[:]
        > nrformats=octal,hex
        > paragraphs=IPLPPPQPP LIpplpipbp
        > path=.,/usr/include,,
        > scrollopt=ver,jump
        > sections=SHNHH HUnhsh
        > selection=inclusive
        > sessionoptions=buffers,winsize,options,help,blank
        > shortmess=filnxtToO
        > suffixes=.bak,~,.o,.h,.info,.swp,.obj
        > tags=tags,TMP:tags,SYS$LOGIN:tags
        > titleold=Thanks for flying Vim
        > ttytype=builtin_gui
        > Press RETURN or enter command to continue
        >
        >
        > :version
        > VIM - Vi IMproved 5.7 (2000 Jun 24, compiled Jun 27 2000 09:11:09)
        > OpenVMS version
        > Compiled by ZAY@PLUTO (pluto.essnet.se), with (+) or without (-):
        > +autocmd +browse ++builtin_terms +byte_offset +cindent +cmdline_compl
        > +cmdline_info +comments +cryptv -cscope +dialog_con_gui +digraphs
        > +emacs_tags
        > +eval +ex_extra +extra_search +farsi +file_in_path -osfiletype
        +find_in_path
        > +GUI_Motif -hangul_input +insert_expand +langmap +linebreak +lispindent
        > +menu
        > +mksession +modify_fname +mouse +mouse_dec -mouse_gpm +mouse_netterm
        > +mouse_xterm +multi_byte -perl -python +quickfix +rightleft +scrollbind
        > +smartindent -sniff +statusline +syntax +tag_binary +tag_old_static
        > -tag_any_white -tcl +tgetent +textobjects +title +user_commands
        +visualextra
        > +viminfo +wildignore +wildmenu -writebackup +X11
        +xfontset -xim -xterm_save
        > system vimrc file: "$VIM/vimrc"
        > user vimrc file: "sys$login:.vimrc"
        > 2nd user vimrc file: "sys$login:_vimrc"
        > user exrc file: "sys$login:.exrc"
        > 2nd user exrc file: "sys$login:_exrc"
        > system gvimrc file: "$VIM/gvimrc"
        > user gvimrc file: "sys$login:.gvimrc"
        > 2nd user gvimrc file: "sys$login:_gvimrc"
        > system menu file: "$VIMRUNTIME/menu.vim"
        > Compilation: cc/decc /incl=[] /def=(HAVE_CONFIG_H,USE_GUI_MOTIF )
        > /opt/prefix
        > =all/include=[.proto]
        > Compiler: DEC C V6.0-001 on OpenVMS Alpha V7.1
        > Linking: link /exe=vim.exe *.obj ,OS_VMS.OPT/OPT
        > Press RETURN or enter command to continue
      • Ross A. Osborn
        ... Do you have equalprg set to something? --
        Message 3 of 15 , Mar 2, 2001
          On Fri, Mar 02, 2001 at 09:30:01AM +0100, Coen Engelbarts wrote:
          > :help =
          > :help gq
          >
          > These should work on any selection, e.g. a visual selection (type <v> and
          > move), or type <g><q><G> or <=><G> from the first character on the first
          > line.
          > Personally, I can't get <g><q> to work though, and <=> ignores my "comments"
          > settings.

          Do you have "equalprg" set to something?

          --
          | Ross Osborn | Motorola, Broadband Comm. Sector |
          | rosborn@... | 101 Tournament Drive |
          | | Horsham, PA 19044 |
        • Coen Engelbarts
          ... Nope, I checked: equalprg= Other people seem to have the same problem with ignoring the comments string. That might be a VIM bug. gq does not work on
          Message 4 of 15 , Mar 2, 2001
            > > Personally, I can't get <g><q> to work though, and <=>
            > ignores my "comments"
            > > settings.
            >
            > Do you have "equalprg" set to something?

            Nope, I checked:
            equalprg=

            Other people seem to have the same problem with <=> ignoring the "comments"
            string.
            That might be a VIM bug.

            gq does not work on my C comments and formats C-code pretty strange:

            int test(int a, int B) { int c;

            return c; }

            Does anybody have any idea why vim behaves like this?
            Thanks for any help

            Coen


            I use Vim 5.7 on VMS with the following settings and version:


            :set all
            --- Options ---
            aleph=224 nohidden previewheight=12 tagstack
            noallowrevins history=50 noreadonly
            term=builtin_gui
            noaltkeymap nohkmap remap noterse
            autoindent nohkmapp report=2 textauto
            noautowrite hlsearch norevins notextmode
            background=light icon norightleft textwidth=78
            backspace=2 iconstring= ruler notildeop
            nobackup ignorecase rulerformat= timeout
            backupext=_ incsearch scroll=24
            timeoutlen=1000
            nobinary noinfercase noscrollbind title
            browsedir=last noinsertmode scrolljump=1 titlelen=85
            nocindent isprint=@,161-255 scrolloff=4 titlestring=
            cinoptions= joinspaces nosecure nottimeout
            clipboard= key= selectmode= ttimeoutlen=-1
            cmdheight=2 keymodel= shell= ttybuiltin
            columns=80 keywordprg=help shellcmdflag=-c ttyfast
            nocompatible langmap= shellpipe=> ttymouse=dec
            noconfirm laststatus=1 shellquote= ttyscroll=999
            cpoptions=aABceFs nolazyredraw shellredir=>
            undolevels=1000
            dictionary= nolinebreak shellxquote=
            updatecount=200
            nodigraph lines=50 noshiftround
            updatetime=4000
            display= nolisp shiftwidth=8 verbose=0
            noedcompatible nolist noshortname
            viminfo='20,"50
            endofline listchars=eol:$ showbreak= visualbell
            equalalways magic showcmd warn
            equalprg= makeprg=make noshowfulltag noweirdinvert
            noerrorbells matchtime=5 showmatch whichwrap=b,s
            esckeys maxfuncdepth=100 showmode wildchar=<Tab>
            eventignore= maxmapdepth=1000 sidescroll=0 wildcharm=^@
            expandtab maxmem=512 smartcase wildignore=
            noexrc maxmemtot=2048 nosmartindent nowildmenu
            fileencoding=ansi modeline smarttab wildmode=full
            fileformat=unix modelines=5 softtabstop=4
            winaltkeys=menu
            filetype=vim nomodified nosplitbelow winheight=1
            nofkmap more startofline winminheight=1
            formatprg= mouse=a statusline= wrap
            nogdefault nomousefocus swapfile wrapmargin=0
            grepprg=grep -n mousehide swapsync=fsync nowrapscan
            guifont= mousemodel=extend switchbuf= write
            guifontset= mousetime=500 syntax=vim nowriteany
            guiheadroom=50 nonumber tabstop=8 nowritebackup
            guioptions=agimrt nopaste notagbsearch writedelay=0
            guipty pastetoggle= taglength=0
            helpheight=20 patchmode= tagrelative
            backupdir=./,sys$login:,tmp:
            breakat= ^I!@*-+_;:,./?
            cinkeys=0{,0},:,0#,!^F,o,O,e
            -- More --
            nofkmap more startofline winminheight=1
            formatprg= mouse=a statusline= wrap
            nogdefault nomousefocus swapfile wrapmargin=0
            grepprg=grep -n mousehide swapsync=fsync nowrapscan
            guifont= mousemodel=extend switchbuf= write
            guifontset= mousetime=500 syntax=vim nowriteany
            guiheadroom=50 nonumber tabstop=8 nowritebackup
            guioptions=agimrt nopaste notagbsearch writedelay=0
            guipty pastetoggle= taglength=0
            helpheight=20 patchmode= tagrelative
            backupdir=./,sys$login:,tmp:
            breakat= ^I!@*-+_;:,./?
            cinkeys=0{,0},:,0#,!^F,o,O,e
            cinwords=if,else,while,do,for,switch
            comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
            complete=.,w,b,u,t,i
            define=^#\s*define
            directory=./,sys$login:,tmp:
            errorfile=errors.err
            errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%f:%l:%m,"%f"\, line
            %l%*\D%c%
            *[^ ] %m,%D%*\a[%*\d]: Entering directory `%f',%X%*\a[%*\d]: Leaving
            directory `
            %f',%DMaking %*\a in %f
            fileformats=unix,dos
            formatoptions=tcql
            grepformat=%f:%l%m,%f %l%m

            guicursor=n-v-c:block-Cursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Curso
            r,
            r-cr:hor20-Cursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175
            helpfile=USER_DISK:[USER.ENGELBARTS.BIN.VIM]doc/help.txt

            highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search
            ,m
            :MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v
            :Vis
            ual,V:VisualNOS,w:WarningMsg,W:WildMenu
            include=^#\s*include
            isfname=@,48-57,/,.,-,_,+,,,$,~
            isident=@,48-57,_,192-255
            iskeyword=@,48-57,_,192-255
            makeef=tmp:vim##.err
            matchpairs=(:),{:},[:]
            nrformats=octal,hex
            paragraphs=IPLPPPQPP LIpplpipbp
            path=.,/usr/include,,
            scrollopt=ver,jump
            sections=SHNHH HUnhsh
            selection=inclusive
            sessionoptions=buffers,winsize,options,help,blank
            shortmess=filnxtToO
            suffixes=.bak,~,.o,.h,.info,.swp,.obj
            tags=tags,TMP:tags,SYS$LOGIN:tags
            titleold=Thanks for flying Vim
            ttytype=builtin_gui
            Press RETURN or enter command to continue


            :version
            VIM - Vi IMproved 5.7 (2000 Jun 24, compiled Jun 27 2000 09:11:09)
            OpenVMS version
            Compiled by ZAY@PLUTO (pluto.essnet.se), with (+) or without (-):
            +autocmd +browse ++builtin_terms +byte_offset +cindent +cmdline_compl
            +cmdline_info +comments +cryptv -cscope +dialog_con_gui +digraphs
            +emacs_tags
            +eval +ex_extra +extra_search +farsi +file_in_path -osfiletype +find_in_path
            +GUI_Motif -hangul_input +insert_expand +langmap +linebreak +lispindent
            +menu
            +mksession +modify_fname +mouse +mouse_dec -mouse_gpm +mouse_netterm
            +mouse_xterm +multi_byte -perl -python +quickfix +rightleft +scrollbind
            +smartindent -sniff +statusline +syntax +tag_binary +tag_old_static
            -tag_any_white -tcl +tgetent +textobjects +title +user_commands +visualextra
            +viminfo +wildignore +wildmenu -writebackup +X11 +xfontset -xim -xterm_save
            system vimrc file: "$VIM/vimrc"
            user vimrc file: "sys$login:.vimrc"
            2nd user vimrc file: "sys$login:_vimrc"
            user exrc file: "sys$login:.exrc"
            2nd user exrc file: "sys$login:_exrc"
            system gvimrc file: "$VIM/gvimrc"
            user gvimrc file: "sys$login:.gvimrc"
            2nd user gvimrc file: "sys$login:_gvimrc"
            system menu file: "$VIMRUNTIME/menu.vim"
            Compilation: cc/decc /incl=[] /def=(HAVE_CONFIG_H,USE_GUI_MOTIF )
            /opt/prefix
            =all/include=[.proto]
            Compiler: DEC C V6.0-001 on OpenVMS Alpha V7.1
            Linking: link /exe=vim.exe *.obj ,OS_VMS.OPT/OPT
            Press RETURN or enter command to continue
          • Oguz Akyuz
            A quick and probably an easy question: I would like to enable cindent only for files with extension .c, .cpp, and .h How can I do that? Thanks.
            Message 5 of 15 , Feb 15, 2006
              A quick and probably an easy question:


              I would like to enable cindent only for files
              with extension .c, .cpp, and .h

              How can I do that?

              Thanks.
            • A. J. Mechelynck
              ... Try adding this (untested) to your vimrc: autocmd FileType * call CheckCIndent() function CheckCIndent() if expand( %:e ) =~ | | set
              Message 6 of 15 , Feb 15, 2006
                Oguz Akyuz wrote:
                > A quick and probably an easy question:
                >
                >
                > I would like to enable cindent only for files
                > with extension .c, .cpp, and .h
                >
                > How can I do that?
                >
                > Thanks.
                >
                >
                >

                Try adding this (untested) to your vimrc:

                autocmd FileType * call CheckCIndent()
                function CheckCIndent()
                if expand('%:e') =~ '\<c\>\|\<cpp\>\|\<h\>'
                set cindent
                else
                set nocindent
                endif
                endfunction

                Best regards,
                Tony.
              • Peter Slizik
                I d suggest another simple way - use autocommand .vimrc: C/C++ autocommands augroup vimrc_c autocmd! cindent is set by expression indent autocmd
                Message 7 of 15 , Feb 15, 2006
                  I'd suggest another simple way - use autocommand

                  .vimrc:

                  " C/C++ autocommands
                  augroup vimrc_c
                  autocmd!
                  " cindent is set by expression indent
                  autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cindent
                  " cinkeys - a list of keys, that cause reindenting
                  " of the current line.
                  autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cinkeys=0{,0}
                  0),:,0#,!^F,o,O,*e,*<CR>
                  " Add some other stuff you might like
                  augroup END

                  For further help, :help autocommand.

                  Cheers,

                  -- Peter



                  > Oguz Akyuz wrote:
                  > > A quick and probably an easy question:
                  > >
                  > >
                  > > I would like to enable cindent only for files
                  > > with extension .c, .cpp, and .h
                  > >
                  > > How can I do that?
                  > >
                  > > Thanks.
                  >
                  > Try adding this (untested) to your vimrc:
                  >
                  > autocmd FileType * call CheckCIndent()
                  > function CheckCIndent()
                  > if expand('%:e') =~ '\<c\>\|\<cpp\>\|\<h\>'
                  > set cindent
                  > else
                  > set nocindent
                  > endif
                  > endfunction
                  >
                  > Best regards,
                  > Tony.

                  --
                  There's no trick to being a humorist when you have the whole government
                  working for you. --Will Rogers
                • A. J. Mechelynck
                  ... This doesn t set nocindent for _other_ filetypes whose ftplugins set cindent (currently: bib.vim [BibTeX]). Best regards, Tony.
                  Message 8 of 15 , Feb 15, 2006
                    Peter Slizik wrote:
                    > I'd suggest another simple way - use autocommand
                    >
                    > .vimrc:
                    >
                    > " C/C++ autocommands
                    > augroup vimrc_c
                    > autocmd!
                    > " cindent is set by expression indent
                    > autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cindent
                    > " cinkeys - a list of keys, that cause reindenting
                    > " of the current line.
                    > autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cinkeys=0{,0}
                    > 0),:,0#,!^F,o,O,*e,*<CR>
                    > " Add some other stuff you might like
                    > augroup END
                    >
                    > For further help, :help autocommand.
                    >
                    > Cheers,
                    >
                    > -- Peter

                    This doesn't set 'nocindent' for _other_ filetypes whose ftplugins set
                    'cindent' (currently: bib.vim [BibTeX]).


                    Best regards,
                    Tony.
                  • Benji Fisher
                    ... I like the second suggestion (with BufNewFile,BufRead *.c,*.cpp,*.h) better than the first (with FileType *). Best of all IMHO is autocmd FileType c,cpp I
                    Message 9 of 15 , Feb 15, 2006
                      On Wed, Feb 15, 2006 at 02:56:15PM +0100, Peter Slizik wrote:
                      >
                      > > Oguz Akyuz wrote:
                      > > > A quick and probably an easy question:
                      > > >
                      > > > I would like to enable cindent only for files
                      > > > with extension .c, .cpp, and .h
                      > > >
                      > > > How can I do that?
                      > >
                      > > Try adding this (untested) to your vimrc:
                      > >
                      > > autocmd FileType * call CheckCIndent()
                      > > function CheckCIndent()
                      > > if expand('%:e') =~ '\<c\>\|\<cpp\>\|\<h\>'
                      > > set cindent
                      > > else
                      > > set nocindent
                      > > endif
                      > > endfunction
                      > >
                      > > Best regards,
                      > > Tony.
                      >
                      > I'd suggest another simple way - use autocommand
                      >
                      > .vimrc:
                      >
                      > " C/C++ autocommands
                      > augroup vimrc_c
                      > autocmd!
                      > " cindent is set by expression indent
                      > autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cindent
                      > " cinkeys - a list of keys, that cause reindenting
                      > " of the current line.
                      > autocmd BufNewFile,BufRead *.c,*.cpp,*.h set cinkeys=0{,0}
                      > 0),:,0#,!^F,o,O,*e,*<CR>
                      > " Add some other stuff you might like
                      > augroup END
                      >
                      > For further help, :help autocommand.

                      I like the second suggestion (with BufNewFile,BufRead *.c,*.cpp,*.h)
                      better than the first (with FileType *). Best of all IMHO is

                      autocmd FileType c,cpp

                      I think this will catch all your .c, .cpp, and .h files as well as other
                      variants, like .hpp and .c++ and so on. See $VIMRUNTIME/filetype.vim
                      for details.

                      There is another solution that I like even better than using an
                      autocommand. Assuming that you have enabled filetype plugins
                      (:help ftplugins) in your vimrc file, any file that is recognized as
                      having 'filetype' c or cpp will use the appropriate ftplugin:
                      $VIMRUNTIME/ftplugin/c.vim or $VIMRUNTIME/ftplugin/cpp.vim . The
                      default ftplugin/cpp.vim just loads all ftplugins for c, including any
                      of your own. So all you have to do is create your own ftplugin/c.vim
                      (under ~/.vim/ on UNIX or $HOME/vimfiles/ on Windows). In this file,
                      you can set 'cindent' and any other options you like.

                      HTH --Benji Fisher

                      P.S. Pet peeve: posts that mix top-reply and bottom-reply.
                    • Peter Slizik
                      ... True, indeed. It just seemed to me that Oguz (the guy who posted the original question) was unaware of autocommands. -- Peter -- There s no trick to being
                      Message 10 of 15 , Feb 15, 2006
                        > This doesn't set 'nocindent' for _other_ filetypes whose ftplugins set
                        > 'cindent' (currently: bib.vim [BibTeX]).

                        True, indeed. It just seemed to me that Oguz (the guy who posted the original
                        question) was unaware of autocommands.

                        -- Peter


                        --
                        There's no trick to being a humorist when you have the whole government
                        working for you. --Will Rogers
                      • A. J. Mechelynck
                        Benji Fisher wrote: [...] ... When the OP said _only_ for *.c, *.cpp, *.h (emphasis mine) I understood and not for any other files whose ftplugins might
                        Message 11 of 15 , Feb 15, 2006
                          Benji Fisher wrote:
                          [...]
                          > I like the second suggestion (with BufNewFile,BufRead *.c,*.cpp,*.h)
                          > better than the first (with FileType *). Best of all IMHO is
                          >
                          > autocmd FileType c,cpp
                          >
                          > I think this will catch all your .c, .cpp, and .h files as well as other
                          > variants, like .hpp and .c++ and so on. See $VIMRUNTIME/filetype.vim
                          > for details.
                          >
                          > There is another solution that I like even better than using an
                          > autocommand. Assuming that you have enabled filetype plugins
                          > (:help ftplugins) in your vimrc file, any file that is recognized as
                          > having 'filetype' c or cpp will use the appropriate ftplugin:
                          > $VIMRUNTIME/ftplugin/c.vim or $VIMRUNTIME/ftplugin/cpp.vim . The
                          > default ftplugin/cpp.vim just loads all ftplugins for c, including any
                          > of your own. So all you have to do is create your own ftplugin/c.vim
                          > (under ~/.vim/ on UNIX or $HOME/vimfiles/ on Windows). In this file,
                          > you can set 'cindent' and any other options you like.
                          >
                          > HTH --Benji Fisher
                          >
                          > P.S. Pet peeve: posts that mix top-reply and bottom-reply.

                          When the OP said " _only_ for *.c, *.cpp, *.h" (emphasis mine) I
                          understood "and not for any other files whose ftplugins might set it"
                          (:vimgrep shows this is currently the case for BibTeX files
                          [ftplugin/bib.vim]; no idea what future filetypes might set it; in
                          addition, several indent scripts set it too). That's why I used
                          "FileType *" and set the option explicitly on or off.

                          If the constraints are relaxed a little (set it for C files and leave it
                          at the default for others), then your solution is best if "filetype
                          indent" is OFF. (If it's ON, then indent/c.vim includes "setlocal cindent".)


                          Best regards,
                          Tony.
                        • Oguz Akyuz
                          Hi, I m sure all the solutions would work (almost) equally well, but I only tried A. J. Mechelynck s first answer and it worked very well for my purpose.
                          Message 12 of 15 , Feb 15, 2006
                            Hi,

                            I'm sure all the solutions would work (almost)
                            equally well, but I only tried A. J. Mechelynck's
                            first answer and it worked very well for my purpose.

                            Thanks for all the answers.

                            On 2/15/06, A. J. Mechelynck <antoine.mechelynck@...> wrote:
                            > Benji Fisher wrote:
                            > [...]
                            > > I like the second suggestion (with BufNewFile,BufRead *.c,*.cpp,*.h)
                            > > better than the first (with FileType *). Best of all IMHO is
                            > >
                            > > autocmd FileType c,cpp
                            > >
                            > > I think this will catch all your .c, .cpp, and .h files as well as other
                            > > variants, like .hpp and .c++ and so on. See $VIMRUNTIME/filetype.vim
                            > > for details.
                            > >
                            > > There is another solution that I like even better than using an
                            > > autocommand. Assuming that you have enabled filetype plugins
                            > > (:help ftplugins) in your vimrc file, any file that is recognized as
                            > > having 'filetype' c or cpp will use the appropriate ftplugin:
                            > > $VIMRUNTIME/ftplugin/c.vim or $VIMRUNTIME/ftplugin/cpp.vim . The
                            > > default ftplugin/cpp.vim just loads all ftplugins for c, including any
                            > > of your own. So all you have to do is create your own ftplugin/c.vim
                            > > (under ~/.vim/ on UNIX or $HOME/vimfiles/ on Windows). In this file,
                            > > you can set 'cindent' and any other options you like.
                            > >
                            > > HTH --Benji Fisher
                            > >
                            > > P.S. Pet peeve: posts that mix top-reply and bottom-reply.
                            >
                            > When the OP said " _only_ for *.c, *.cpp, *.h" (emphasis mine) I
                            > understood "and not for any other files whose ftplugins might set it"
                            > (:vimgrep shows this is currently the case for BibTeX files
                            > [ftplugin/bib.vim]; no idea what future filetypes might set it; in
                            > addition, several indent scripts set it too). That's why I used
                            > "FileType *" and set the option explicitly on or off.
                            >
                            > If the constraints are relaxed a little (set it for C files and leave it
                            > at the default for others), then your solution is best if "filetype
                            > indent" is OFF. (If it's ON, then indent/c.vim includes "setlocal cindent".)
                            >
                            >
                            > Best regards,
                            > Tony.
                            >
                            >
                          Your message has been successfully submitted and would be delivered to recipients shortly.