Questions tagged [autocmd]

`autocmd`s are commands executed automatically on certain events. Questions on creating or modifying `autocmd` definitions are appropriate for this tag.

Filter by
Sorted by
Tagged with
2
votes
1answer
31 views

How do I trim whitespace automatically?

I've been doing this: au BufRead,BufWrite * if ! &bin | silent! %s/\s\+$//ge | endif The problem is that it moves the cursor sometimes when I save the file.
0
votes
1answer
56 views

How do I tell vim to detect when a new file was created and do some action? [closed]

What I want to achieve is simply set up some auto command that will detect anytime I create a new file and based on the name of the file I want to insert a couple of lines of text in that file. So if ...
2
votes
1answer
41 views

How to handle a drag & drop event in vim in order to paste the file path instead of opening it

I would like to handle a drag & drop event of a file into gvim in order to insert the file name into the buffer I am dropping it. This should happen only when such file is an image, e.g. .png, or ....
2
votes
1answer
39 views

How can I access buffer variables from BufUnload/BufDelete?

vimdoc says: BufUnload Before unloading a buffer. ... NOTE: When this autocommand is executed, the current buffer "%" may be different from the buffer being unloaded "<afile>". Don't change ...
2
votes
1answer
50 views

Autocmd treat user defined command differently?

This works fine: augroup au_test | au! autocmd BufNew * if 1 | echom 123 | endif augroup end But this doesn't work: com Test echom 123 augroup au_test | au! autocmd BufNew * if 1 | Test | endif ...
4
votes
2answers
118 views

Saving a scratch buffer

I currently use scratch buffers a lot for various uses such as when I read from STDIN to quickly analyze some data or take some very temporary notes. That way I don't have to worry about a swap file ...
1
vote
2answers
53 views

Vim auto save buffer on Tmux `select-pane`

How to make (N)Vim auto save buffer on Tmux select-pane? In my vimrc I tried: " Auto save when buffer lose focus autocmd FocusLost,BufLeave * silent! wa " Save on buffer change set autowrite But ...
3
votes
2answers
51 views

mutually exclusive Autocommands for similar file extensions

I have a couple of autocmds in my vim config along the lines of this (the actual commands are quite long): au BufWritePost *.latex.md silent! ... au BufWritePost *.md silent! ... where ...
2
votes
0answers
34 views

How to profile save time

Sometimes it takes a really long time to save a file out. Saving the same file after various changes takes various amounts of time. It does not seem to be related to file size. I've disabled any ...
1
vote
2answers
31 views

Auto Command fails with file plugin command

I have following line in my .nvimrc au! BufWritePost *.elm ElmMake Each time I save an elm file vim tells me that this command does not exist. However I am able to run this command in command more ...
2
votes
1answer
55 views

autocommand within conditional autocommand

I have an autocommand that is supposed to register a different autocommand whenever I enter a buffer where a certain condition is met: let w:contextlist_open = 1 augroup LaunchShowContext ...
1
vote
1answer
35 views

Call a function after inserting a newline

In insert mode, I want to call some function if <Enter> was typed. I tried InsertCharPre but it did not work.
1
vote
2answers
40 views

Save buffer before opening new file

When I'm in a modified buffer and try to open a file using :e otherFile I get E37: No write since last change (add ! to override) Since this happens fairly often, I'd like to automatically save ...
0
votes
1answer
102 views

How to echo a message in BufWritePost so that it writes over the “~/.foo xxxL, xxC written” status message?

Say I write an autocommand for a particular file to do something when I save it, such as autocmd BufWritePost .Xresources silent! execute 'xrdb ~/.Xresources' I'm doing it with silent! execute, ...
1
vote
1answer
52 views

Avoiding unwanted TextChanged events to avoid 'modified' (hex editing)

Huh? From this interesting post, I took the idea to incorporate xxd into vim a little more nicely than the usual %!xxd. So I started structuring the code and testing. (It's a first draft.) Link to ...
2
votes
1answer
75 views

Behaviour of BufEnter

In neovim, open two different buffers as follows (using :vnew, for example): *--------------*--------------* | | | | 1 | 2 | | | ...
0
votes
1answer
44 views

I want to save my typescript file, and immediately run tsc myfile.ts from inside vim. What is the best way to accomplish this?

I am building a daemon, and nodemon currently monitors a file called server.js, which is compiled from the file I am working on, server.ts In order to compile server.ts, after saving with :w, I need ...
2
votes
0answers
43 views

Is it more efficient to use one function instead of multiple autocommands?

I have a lot of lines with with filetype-specific autocommands defining mappings and abbreviations, which looks like this: augroup vimrc au! ... au FileType blah nnoremap <buffer> aa bb au ...
1
vote
1answer
33 views

vim8 - why does my 0read not read? [closed]

I have the following function in an autoload file: function! closet#FindSkeletonForFile() if exists('b:closet_skeleton') return 0 endif let b:closet_skeleton = s:closet....
1
vote
2answers
30 views

Unable to conditionally test for presence of a plugin command & invoke it

I have the following code in my vimrc if exists(":Goyo") augroup LatexGoyo autocmd! autocmd BufReadPost,BufNewFile *.tex Goyo augroup END else augroup LatexColumnSet ...
1
vote
0answers
25 views

Autocmd commands for sharing terminal when open new tab

I was trying to create a trigger that does the following: When opening a new tab with a file, if there already exists a terminal buffer, it is opened below in this new tab. I have seen in logfiles ...
1
vote
1answer
45 views

Override indentation settings with autocmd

When editing Typescript neovim automatically sets indentexpr=GetTypescriptIndent(). I don't like the way it aligns to an open brace instead of inserting a (soft) tab or two, but it doesn't seem to be ...
1
vote
0answers
33 views

How to externally trigger [neo]vim to reload an edited file?

I have a file, /tmp/file.txt that is being edited by vim (or neovim), as well as some other external process. I wish the external app to notify vim, in such a way that vim takes that notification to ...
2
votes
1answer
83 views

Don't jump on search and replace

How do I get my cursor to not move to the last thing it replaced after a search and replace. No <C-o> or extra key presses. Is there some autocmd magic I can setup to listen on any substitute ...
1
vote
3answers
79 views

NERDTree maximize on enter

I'd like to maximize NERDTree when I enter the NERDTree buffer. The command I have so far is: autocmd BufEnter NERD_tree_* <A> ...but the <A> part is wrong. I get the error: E21: Cannot ...
0
votes
1answer
63 views

Reload vim autocmd Filetype [duplicate]

I tried searching for this on the internet but I get bombarded with answers saying to :so $MYVIMRCwhich does not work if I add lines of the type autocmd FileType foo bar. What's a more efficient way ...
2
votes
0answers
17 views

How can I trigger the autocmd FileType commands for all buffers? [duplicate]

I have a key binding to reload my ~/.vimrc. However, some of my options set via autocmd FileType are not active after reloading the config. Those are to set the text width, creating highlights, etc. I ...
1
vote
0answers
43 views

Automatically saving on FocusLost sometimes stops working for a gvim window

In my ~/.vimrc I have at the moment: autocmd BufLeave,FocusLost * nested silent! wall Which most of the time works as I would like, however sometimes it seems saving simply stops working (for a ...
0
votes
1answer
92 views

Apply templates when new file created

I have a file template which is rendered with replacing some stubs when new file created: augroup templates autocmd! autocmd BufNewFile *.java $r ~/.vim/templates/skeleton.java|call s:...
1
vote
1answer
47 views

Execute command only for specified filetype

I'm setting up an environment to automatically recompile .tex files on save. I've found solution for this: autocmd BufWritePost *.tex :! latexmk -pdf But is there any better way to do this? It seems ...
1
vote
0answers
36 views

Keep `scroll` equal to current window height

Is there a way to update scroll every time window height changes? I know, that I can achieve the same behavior calling winheight(0) on each ctrld press as suggested here, but I'm curious if there is ...
0
votes
1answer
74 views

Always move cursor to top of gitcommit buffer

I have the following autocmd in my vimrc. augroup line_return au! au BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ execute 'normal! g`"zvzz' | \ ...
2
votes
1answer
153 views

why doesn't this autocmd take effect for neovim?

I am writing an autocmd which will warn me if the file opened is not in UTF-8 format. This is what I have got: augroup non_utf8_file autocmd! autocmd BufRead * if &fileencoding != 'utf-8' ...
3
votes
2answers
235 views

autocmd for the event: “the first time a buffer is entered”

I know that the autocommand autocmd BufEnter will be triggered every time a buffer is entered. Is there a way to define an autocmd that will be triggered only the first time a buffer is entered?
3
votes
1answer
242 views

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

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 * ...
0
votes
1answer
59 views

Enable line numbering for directories

When viewing a directory (using :Explore, for example), I would like to see line numbers. I can run :set number after opening the directory, and that works, but I can't get numbering to turn on by ...
0
votes
2answers
93 views

Trigger autocommand on error?

Is there an autocommand that is triggered when an error occurs (a Vim error of the type E###)? A try/catch block isn't enough because I need it at a more global level.
1
vote
1answer
64 views

VimEnter autocmd to change cursor shape sometimes outputs escape sequences

Inspired by this answer, I have the following in my vimrc: augroup cursor au! autocmd VimEnter * silent !echo -ne "\e[1 q" augroup end However, this sometimes prints the following on startup:...
1
vote
0answers
46 views

Run commands before and after a buffer is externally changed

Imagine I have a Vim buffer open and the file is changed externally (example: I switched git branches or the file was just edited normally). Any time that happens, I want to have 2 commands run. The ...
2
votes
0answers
68 views

Jump to last position when using vim netrw to open a file

I am looking to jump automatically to the last position in any file that I open. I have in my ~/.vimrc file: autocmd BufReadPost * ...
2
votes
1answer
89 views

How to match file pattern, with extension, not containing a specific word?

I'm trying to use autocmd BufNewFile to like so: autocmd BufNewFile \(.*_spec\)\@!.rb 0r ~/vim/skeleton.rb autocmd BufNewFile *_spec.rb 0r ~/vim/skeleton_spec.rb So, I want the first ...
0
votes
1answer
54 views

Run pdflatex in vim without a pop-up window

I currently have this autocommand in my vimrc: autocmd BufWritePost *.tex silent! execute "!pdflatex %" | redraw! It compiles my current LaTeX file whenever I save with :w. However, a terminal ...
2
votes
1answer
45 views

Automatically save a file that has been previously saved

I am new to vim and was wondering if there is a way for files that have already been manually saved to be automatically saved (every few seconds). I currently make a lot of new files (for testing ...
0
votes
1answer
43 views

Is there a way to tell what autocmds have run?

If the autocmd has an obvious side effect, this is not too hard to tell; but sometimes the result is more subtle and it would be nice to just see "Hey, here's all the autocmds that ran on startup." I ...
0
votes
2answers
125 views

How to match autocmd pattern for unique file

I'm trying to make autocommands that will run only when the buffer is a man page (:Man), but I can't get the right pattern as I'm not too familiar with regex and globs. Here's what I've tried so far: ...
0
votes
1answer
93 views

autocmd for markdown textwidth=100 failing

I want to set my markdown files to have textwidth=100 but cannot get it working. The strange thing is that it works sometimes and sometimes not. My autocmd is: augroup auFileTypes autocmd! ...
0
votes
0answers
47 views

BufRead autocmd error for “*.*” and E45

I have vim version 7.4.1689. It was running quite smoothly. But recently I noticed a problem that I didn't have before. Whenever I run :help <something> in command mode the following error shows ...
1
vote
1answer
273 views

How to do a conditional key mapping dynamically?

I know that I can do a conditional key mapping by map-expression: map [key] [condition] ? [foo] : [bar] But now my situation is somehow awkward. I want to map <C-h> to <C-w>h if I have ...
2
votes
0answers
66 views

Preventing autocmds from being redundantly repeated

I'm trying to figure out what is the proper way to prevent autocmds from being redundantly repeated. Here are articles which I have already read: Remove augroups around autocmds in .vimrc (related ...
0
votes
0answers
376 views

Exclamation mark after autocommands

I'm trying to understand what does exclamation mark after autocommands mean. Sometimes it is possible to see something like this: function! LangSpecificOptions() if (&filetype == 'markdown' || ...