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 tab header not visible? I am not able to see tab header in vim when opened multiple files using vim -p *.
Vim File Explorer with include directory
Copy lines longer than terminal window
Is there a vim errorformat that will catch a function name instead of a line number?
vim “Unknown function: omni#cpp#maycomplete#Dot”
Jump to next occurence of different characters
Open xlsx with vim
How to remove the start message of Gvim? And why my mark function does not work?
How to display the function name quickly?
explanation of the following text-manipulation command in vim
delete ocurrences that ocurr less than X time
How can I determine a variable's type in a vim function?
vimscript call vs. execute
Vim colors too bright (terminal)
vim remove non existing mapping [closed]
Advanced Usage of Ranges with Vim Keymappings