3

I think the best way to do what you want is to use ctrle to scroll up and ctrly to scroll down as the doc says: :h CTRL-E :h CTRL-Y However if you really want to use the arrow keys and have a scroll lock mechanism you could implement it yourself by adding this to your vimrc: " This variable will hold the state of the scroll lock " 0: disabled 1: ...


3

There's a command that is made to deal with exactly that: :diffoff It's effect on the current window... 'diff' off 'scrollbind' off 'cursorbind' off 'scrollopt' without "hor" 'wrap' on 'foldmethod' "manual" 'foldcolumn' 0 In other words it reverses all the settings put in place by :diff. ...


3

:h getmousepos() to get mouse last "click" (or "wheel") position and then :h win_execute() to execute a command in an arbitrary window. So it may look like nnoremap <ScrollWheelUp> <cmd>call win_execute(getmousepos().winid, "resize-1")<CR> nnoremap <ScrollWheelDown> <cmd>call win_execute(...


1

The feature in your screenshot (in Kate editor) is called “minimap” and it was introduced/popularized by the SublimeText editor. There are a few implementations of minimap for Vim, but they tend to have a few limitations. Since Vim is primarily an editor for the terminal, it doesn't really support displaying multiple font sizes in the same window, which can ...


1

Not a direct answer, but a good way to have vim 'remember' a particular line (and column) is to use 'marks (think 'bookmarks' in the file). See :help mark-motions.' You can set one mark for each letter on the keyboard. When you set one, it 'marks' where the cursor is. So to set the 'a' mark, you would do: ma and then jump to it again with 'a to get to the ...


1

Have you tried scrolling with ctrl-y (up) and ctrl-e (down) instead? You may want to do :set display+=lastline too. Other than that you're not going to be able to do what you want, because Vim always wants the entire line the cursor is on to be fully displayed.


1

It's because there is set noesckeys in your .vimrc. Removing this line in your .vimrc should solve the problem. If the reason behind this parameter was because some commands such as O are too slow and someone recommended it as a tip, you can instead set ttimeout and set ttimeoutlen=50 instead. (Tip: If you also want scrolling to be disabled in insert mode, ...


1

noremap <expr> <F11> winnr()==1 ? \ ':windo set scb<CR><C-W><C-W>:syncbind<CR>:windo set noscb<CR><C-W><C-W>' : \ ':windo set scb<bar>syncbind<CR>:windo set noscb<CR>' I have a strong feeling this solution exceedingly verbose and can probably be optimized, but it does the job.


Only top voted, non community-wiki answers of a minimum length are eligible