What's the difference between autocmd cmd and autocmd! cmdWhy should I use augroup?Persist autocmd per file (not per filetype) without vimrcIs there a way to AND events in the autocmd?In an autocmd what's the use of the BufRead event?BufWritePost not working after navigating using netrwPrevent FocusGained autocmd running in command line editing modeQuickFixCmdPost autocommand after Glogthe matching pattern for TabClosed autocmdalternative of `BufWinLeave` autocmd that triggers when buffer goes invisible from the screenBufRead autocmd error for “*.*” and E45Run commands before and after a buffer is externally changed

Five Powers of Fives Produce Unique Pandigital Number...Solve for X..Tell me Y

What is the velocity distribution of the exhaust for a typical rocket engine?

Non-African Click Languages

Do high-wing aircraft represent more difficult engineering challenges than low-wing aircraft?

Cannot remove door knob -- totally inaccessible!

What technology would Dwarves need to forge titanium?

Physically unpleasant work environment

When the match time is called, does the current turn end immediately?

How can we delete item permanently without storing in Recycle Bin?

301 Redirects what does ([a-z]+)-(.*) and ([0-9]+)-(.*) mean

I recently started my machine learning PhD and I have absolutely no idea what I'm doing

How could it be that 80% of townspeople were farmers during the Edo period in Japan?

Does a non-singular matrix have a large minor with disjoint rows and columns and full rank?

Polynomial division: Is this trick obvious?

Given 0s on Assignments with suspected and dismissed cheating?

How to continually and organically let my readers know what time it is in my story?

A person lacking money who shows off a lot

AD: OU for system administrator accounts

Working hours and productivity expectations for game artists and programmers

multiline equation inside a matrix that is a part of multiline equation

Is it possible to pass a pointer to an operator as an argument like a pointer to a function?

Why are there five extra turns in tournament Magic?

Why are lawsuits between the President and Congress not automatically sent to the Supreme Court

Why is the A380’s with-reversers stopping distance the same as its no-reversers stopping distance?



What's the difference between autocmd cmd and autocmd! cmd


Why should I use augroup?Persist autocmd per file (not per filetype) without vimrcIs there a way to AND events in the autocmd?In an autocmd what's the use of the BufRead event?BufWritePost not working after navigating using netrwPrevent FocusGained autocmd running in command line editing modeQuickFixCmdPost autocommand after Glogthe matching pattern for TabClosed autocmdalternative of `BufWinLeave` autocmd that triggers when buffer goes invisible from the screenBufRead autocmd error for “*.*” and E45Run commands before and after a buffer is externally changed













2















For example, what's the difference between calling this command this way:



autocmd BufWritePre * call StripTrailingWhitespace()


vs. this way (with the bang after autocmd):



autocmd! BufWritePre * call StripTrailingWhitespace()









share|improve this question


























    2















    For example, what's the difference between calling this command this way:



    autocmd BufWritePre * call StripTrailingWhitespace()


    vs. this way (with the bang after autocmd):



    autocmd! BufWritePre * call StripTrailingWhitespace()









    share|improve this question
























      2












      2








      2








      For example, what's the difference between calling this command this way:



      autocmd BufWritePre * call StripTrailingWhitespace()


      vs. this way (with the bang after autocmd):



      autocmd! BufWritePre * call StripTrailingWhitespace()









      share|improve this question














      For example, what's the difference between calling this command this way:



      autocmd BufWritePre * call StripTrailingWhitespace()


      vs. this way (with the bang after autocmd):



      autocmd! BufWritePre * call StripTrailingWhitespace()






      autocmd






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 5 at 8:47









      aonemdaonemd

      132




      132




















          1 Answer
          1






          active

          oldest

          votes


















          2














          The command



          autocmd! BufWritePre * call StripTrailingWhitespace()


          Removes all autocmds for the event BufWritePre and the file pattern * from the default autocmd-group and sets a new autocmd for this event and pattern to call StripTrailingWhitespace().



          Example:



          autocmd BufWritePre * echomsg "First"
          autocmd BufWritePre * echomsg "Second"


          If you then enter :autocmd BufWritePre you will get the following (plus maybe other autocmds defined for this event):



          --- Autocommands ---
          BufWrite
          * echomsg "First"
          echomsg "Second"


          Then you execute



          autocmd! BufWritePre * echomsg "Third"


          followed by :autocmd BufWritePre and you get:



          --- Autocommands ---
          BufWrite
          * echomsg "Third"


          So the autocmds echoing "First" and "Second" were removed and the new autocmd echoing "Third" was defined.



          See :help autocmd-remove.






          share|improve this answer

























          • So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

            – aonemd
            May 5 at 12:49












          • I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

            – aonemd
            May 5 at 13:31







          • 1





            @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

            – Ralf
            May 5 at 14:36











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "599"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19849%2fwhats-the-difference-between-autocmd-cmd-and-autocmd-cmd%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          The command



          autocmd! BufWritePre * call StripTrailingWhitespace()


          Removes all autocmds for the event BufWritePre and the file pattern * from the default autocmd-group and sets a new autocmd for this event and pattern to call StripTrailingWhitespace().



          Example:



          autocmd BufWritePre * echomsg "First"
          autocmd BufWritePre * echomsg "Second"


          If you then enter :autocmd BufWritePre you will get the following (plus maybe other autocmds defined for this event):



          --- Autocommands ---
          BufWrite
          * echomsg "First"
          echomsg "Second"


          Then you execute



          autocmd! BufWritePre * echomsg "Third"


          followed by :autocmd BufWritePre and you get:



          --- Autocommands ---
          BufWrite
          * echomsg "Third"


          So the autocmds echoing "First" and "Second" were removed and the new autocmd echoing "Third" was defined.



          See :help autocmd-remove.






          share|improve this answer

























          • So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

            – aonemd
            May 5 at 12:49












          • I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

            – aonemd
            May 5 at 13:31







          • 1





            @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

            – Ralf
            May 5 at 14:36















          2














          The command



          autocmd! BufWritePre * call StripTrailingWhitespace()


          Removes all autocmds for the event BufWritePre and the file pattern * from the default autocmd-group and sets a new autocmd for this event and pattern to call StripTrailingWhitespace().



          Example:



          autocmd BufWritePre * echomsg "First"
          autocmd BufWritePre * echomsg "Second"


          If you then enter :autocmd BufWritePre you will get the following (plus maybe other autocmds defined for this event):



          --- Autocommands ---
          BufWrite
          * echomsg "First"
          echomsg "Second"


          Then you execute



          autocmd! BufWritePre * echomsg "Third"


          followed by :autocmd BufWritePre and you get:



          --- Autocommands ---
          BufWrite
          * echomsg "Third"


          So the autocmds echoing "First" and "Second" were removed and the new autocmd echoing "Third" was defined.



          See :help autocmd-remove.






          share|improve this answer

























          • So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

            – aonemd
            May 5 at 12:49












          • I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

            – aonemd
            May 5 at 13:31







          • 1





            @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

            – Ralf
            May 5 at 14:36













          2












          2








          2







          The command



          autocmd! BufWritePre * call StripTrailingWhitespace()


          Removes all autocmds for the event BufWritePre and the file pattern * from the default autocmd-group and sets a new autocmd for this event and pattern to call StripTrailingWhitespace().



          Example:



          autocmd BufWritePre * echomsg "First"
          autocmd BufWritePre * echomsg "Second"


          If you then enter :autocmd BufWritePre you will get the following (plus maybe other autocmds defined for this event):



          --- Autocommands ---
          BufWrite
          * echomsg "First"
          echomsg "Second"


          Then you execute



          autocmd! BufWritePre * echomsg "Third"


          followed by :autocmd BufWritePre and you get:



          --- Autocommands ---
          BufWrite
          * echomsg "Third"


          So the autocmds echoing "First" and "Second" were removed and the new autocmd echoing "Third" was defined.



          See :help autocmd-remove.






          share|improve this answer















          The command



          autocmd! BufWritePre * call StripTrailingWhitespace()


          Removes all autocmds for the event BufWritePre and the file pattern * from the default autocmd-group and sets a new autocmd for this event and pattern to call StripTrailingWhitespace().



          Example:



          autocmd BufWritePre * echomsg "First"
          autocmd BufWritePre * echomsg "Second"


          If you then enter :autocmd BufWritePre you will get the following (plus maybe other autocmds defined for this event):



          --- Autocommands ---
          BufWrite
          * echomsg "First"
          echomsg "Second"


          Then you execute



          autocmd! BufWritePre * echomsg "Third"


          followed by :autocmd BufWritePre and you get:



          --- Autocommands ---
          BufWrite
          * echomsg "Third"


          So the autocmds echoing "First" and "Second" were removed and the new autocmd echoing "Third" was defined.



          See :help autocmd-remove.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 5 at 11:06

























          answered May 5 at 9:13









          RalfRalf

          4,0101319




          4,0101319












          • So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

            – aonemd
            May 5 at 12:49












          • I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

            – aonemd
            May 5 at 13:31







          • 1





            @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

            – Ralf
            May 5 at 14:36

















          • So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

            – aonemd
            May 5 at 12:49












          • I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

            – aonemd
            May 5 at 13:31







          • 1





            @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

            – Ralf
            May 5 at 14:36
















          So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

          – aonemd
          May 5 at 12:49






          So does that mean there's not need to wrap my autocmd(s) in an augroup if I'm using the autocmd! cmd version since the previous autocmds will be cleared from the default/global group anyway?

          – aonemd
          May 5 at 12:49














          I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

          – aonemd
          May 5 at 13:31






          I think I got an answer to my question. As long as you don't have a shared event between more than one autocmd! command, you're fine without augroups. Otherwise, shared event autocmd!s will clear each other. So, wrapping your autocmd commands inside an augroup is the safer option here.

          – aonemd
          May 5 at 13:31





          1




          1





          @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

          – Ralf
          May 5 at 14:36





          @aonemd Exactly! E.g. I have one autocmd related to syntax in my vimrc and wrapped even this single cmd in a group called my_syntax_autocmds.

          – Ralf
          May 5 at 14:36

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Vi and Vim Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19849%2fwhats-the-difference-between-autocmd-cmd-and-autocmd-cmd%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company