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

cindent

Expand Messages
  • vipin aravind
    vimmers, Is there a way to get the formatting done for whole of a c file? ok agree, if u set cinkeys it works, but then I have to go to each line and type
    Message 1 of 15 , Mar 1, 2001
    • 0 Attachment
      vimmers,
      Is there a way to get the formatting done   for whole of a c file?
      ok agree,  if u set cinkeys it works, but then I have to go to each line and type
      <c-f> in insert mode but thats cumbersome.
      Is there any easy way around?
      thanks                                                                                                 vipin
       
    • vipin aravind
      thanks for the info vipin ... From: Ross A. Osborn To: VIM Mailing list ; Sent: Friday, March 02, 2001 4:26 PM
      Message 2 of 15 , Mar 1, 2001
      • 0 Attachment
        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 3 of 15 , Mar 1, 2001
        • 0 Attachment
          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
        • Coen Engelbarts
          ... These should work on any selection, e.g. a visual selection (type and move), or type or from the first character on the first line.
          Message 4 of 15 , Mar 2, 2001
          • 0 Attachment
            :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.

            Hope this helps

            Coen

            -----Original Message-----
            From: vipin aravind [mailto:vipin.aravind@...]
            Sent: 01 March 2001 21:19
            To: VIM Mailing list; vim@...
            Subject: cindent


            vimmers,
            Is there a way to get the formatting done for whole of a c file?
            ok agree, if u set cinkeys it works, but then I have to go to each line and
            type
            <c-f> in insert mode but thats cumbersome.
            Is there any easy way around?
            thanks
            vipin
          • Arnaud CAILLAUX
            Try =G from the first line also see :help = ____________________________ Séparateur Réponse ________________________________ Objet : cindent Auteur :
            Message 5 of 15 , Mar 2, 2001
            • 0 Attachment
              Try =G from the first line
              also see :help =




              ____________________________ Séparateur Réponse ________________________________
              Objet : cindent
              Auteur : "vipin aravind" <vipin.aravind@...> à EMAIL
              Date : 02/03/01 01:49


              vimmers,
              Is there a way to get the formatting done for whole of a c file?
              ok agree, if u set cinkeys it works, but then I have to go to each line and
              type
              <c-f> in insert mode but thats cumbersome.
              Is there any easy way around?
              thanks
              vipin
            • Ross A. Osborn
              ... Do you have equalprg set to something? --
              Message 6 of 15 , Mar 2, 2001
              • 0 Attachment
                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 7 of 15 , Mar 2, 2001
                • 0 Attachment
                  > > 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 8 of 15 , Feb 15 4:41 AM
                  • 0 Attachment
                    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 9 of 15 , Feb 15 5:39 AM
                    • 0 Attachment
                      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 10 of 15 , Feb 15 5:56 AM
                      • 0 Attachment
                        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 11 of 15 , Feb 15 6:20 AM
                        • 0 Attachment
                          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 12 of 15 , Feb 15 6:21 AM
                          • 0 Attachment
                            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 13 of 15 , Feb 15 6:29 AM
                            • 0 Attachment
                              > 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 14 of 15 , Feb 15 6:43 AM
                              • 0 Attachment
                                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 15 of 15 , Feb 15 9:42 AM
                                • 0 Attachment
                                  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.