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
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
add a comment |
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
add a comment |
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
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
autocmd
asked May 5 at 8:47
aonemdaonemd
132
132
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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
.
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 oneautocmd!
command, you're fine withoutaugroup
s. Otherwise, shared eventautocmd!
s will clear each other. So, wrapping yourautocmd
commands inside anaugroup
is the safer option here.
– aonemd
May 5 at 13:31
1
@aonemd Exactly! E.g. I have one autocmd related to syntax in myvimrc
and wrapped even this single cmd in a group calledmy_syntax_autocmds
.
– Ralf
May 5 at 14:36
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
.
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 oneautocmd!
command, you're fine withoutaugroup
s. Otherwise, shared eventautocmd!
s will clear each other. So, wrapping yourautocmd
commands inside anaugroup
is the safer option here.
– aonemd
May 5 at 13:31
1
@aonemd Exactly! E.g. I have one autocmd related to syntax in myvimrc
and wrapped even this single cmd in a group calledmy_syntax_autocmds
.
– Ralf
May 5 at 14:36
add a comment |
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
.
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 oneautocmd!
command, you're fine withoutaugroup
s. Otherwise, shared eventautocmd!
s will clear each other. So, wrapping yourautocmd
commands inside anaugroup
is the safer option here.
– aonemd
May 5 at 13:31
1
@aonemd Exactly! E.g. I have one autocmd related to syntax in myvimrc
and wrapped even this single cmd in a group calledmy_syntax_autocmds
.
– Ralf
May 5 at 14:36
add a comment |
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
.
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
.
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 oneautocmd!
command, you're fine withoutaugroup
s. Otherwise, shared eventautocmd!
s will clear each other. So, wrapping yourautocmd
commands inside anaugroup
is the safer option here.
– aonemd
May 5 at 13:31
1
@aonemd Exactly! E.g. I have one autocmd related to syntax in myvimrc
and wrapped even this single cmd in a group calledmy_syntax_autocmds
.
– Ralf
May 5 at 14:36
add a comment |
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 oneautocmd!
command, you're fine withoutaugroup
s. Otherwise, shared eventautocmd!
s will clear each other. So, wrapping yourautocmd
commands inside anaugroup
is the safer option here.
– aonemd
May 5 at 13:31
1
@aonemd Exactly! E.g. I have one autocmd related to syntax in myvimrc
and wrapped even this single cmd in a group calledmy_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 augroup
s. 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 augroup
s. 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
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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