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.
Vim detect what kind of buffer the current buffer is
vim - forcing >> to use spaces, not tabs
Exuberant ctags exclude directories
Setting line number color works in command mode but not in .vimrc
Make clang-complete in vim to autocomplete after any input
background issue with my vim
Vim airline/status bar buffers of the same name
Control-Backslash doesn't work
How to replace '&=' with '=&' in Vim?
add the next occurrence of the current word to the selection in VIM
NERDTree: Autocmd error vim
Disable syntax hightlighting in vim only for specific buffer
Quickest way to switch order of comma-sparated list in Vim
Is there any Ctrl - R kind of command search in vim?
How to surround visual block with quotes (or similar) in vim
How to find the first uppercase letter of a word in vim?