From 7758c2b961bedfcdf4a50bbc9e6db5c61b596f75 Mon Sep 17 00:00:00 2001 From: ADAM David Alan Martin Date: Fri, 15 Apr 2022 15:10:18 -0400 Subject: [PATCH] Vim touchscreen scrolling support. Use the environment variable to turn it on. --- vim/vimrc | 4 ++++ vim/vimrc.mousescroll | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 vim/vimrc.mousescroll diff --git a/vim/vimrc b/vim/vimrc index 533641f..b838cb5 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -23,5 +23,9 @@ source ~/.vim/vimrc.functions source ~/.vim/vimrc.fileprefs source ~/.vim/vimrc.statusline +if exists('$CSHENV_TOUCHSCREEN') + source ~/.vim/vimrc.mousescroll +endif + set shell=/bin/tcsh "set t_Co=1 diff --git a/vim/vimrc.mousescroll b/vim/vimrc.mousescroll new file mode 100644 index 0000000..86094d9 --- /dev/null +++ b/vim/vimrc.mousescroll @@ -0,0 +1,41 @@ +function! MouseScrollTouch() + "mark b is the current cursor position + "mark a is the previous cursor position + norm mb + let currPos= line('.') + norm `a + let prevPos= line('.') + let amt= 1 + abs(currPos - prevPos) / 2 + "norm `bma + while amt > 0 + if currPos>prevPos + norm  + elseif currPos 0 + if currPos>prevPos + norm  + elseif currPos ma:call MouseScrollTouch()