Vim - Issue calling repeat#set from function on nomodifiable file
I'm using Tim Pope's repeat.vim plugin and am having some trouble invoking repeat#set correctly. I want to create two mappings for quickly navigating between sections of a help doc, which are delineated by rows of equals signs. My function for going to the next section below works and is repeatable. function! s:NextHelpSection() execute "normal /^===\<CR>" nohlsearch normal zt endfunction nnoremap <buffer> <silent> <LocalLeader>n \ :<C-u>call <SID>NextHelpSection()<CR> \:<C-u>call repeat#set("\<LocalLeader>n")<CR> My function for going to the previous section works on its own but fails when I try to repeat it with E21: Cannot make changes, 'modifiable' is off. function! s:PrevHelpSection() execute "normal ?^===\<CR>" nohlsearch normal zt call repeat#set("\<LocalLeader>p") endfunction nnoremap <buffer> <silent> <LocalLeader>p :<C-u>call <SID>PrevHelpSection()<CR> The difference between the two is just where I call repeat#set, whether it's inside the function or afterwards. Why should this matter? Why would this second version fail? It's cleaner, so I'd prefer to write it this way if possible.
relative number on netbeans/JavaVI
Vim Multi-Line If-Statements into Single-Line If-Statements
emmet (vim plugin) won't work after restart
Can't read when Vim/Neovim highlight same color as text
marvim.vim doesn't load via pathogen
Vim “fast” search gets disabled after adding `.vimrc`
Chaining vimgrep and copen with Vim
How to get sufficient info about selection range in vim's 'VISUAL BLOCK' mode? getpos() is insufficient
How to change vim tab pages in tmux
How to satisfy this pattern comparison in vim script?
Why tab can't replace with white spaces in emmet plugin?
How to copy only yanked text to system clipboard in vim
Can you view the default vim settings?
How to straighten a grouped gvim Buffers menu?
How to remove Vim from fedora?
Vim replace command after yanking a word