1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vimでスワイプしたい

Last updated at Posted at 2018-04-20

はじめに

iVimを使っているとスワイプでスクロールしたくなります。
指を2本使えばホイール相当の動きをしますが、スマホなら1本指でやりたいものです。
探してみると、マークのおもしろい使い方を見つけたので共有しておきます。

スクリプト

function! Swipe()
	"mark b is the current cursor position
	"mark a is the previous cursor position
	normal mb
	let currPos=line('.')
	normal `a
	let prevPos=line('.')
	if currPos>prevPos
		normal `bma
		execute "normal! \<C-e>"
	elseif currPos<prevPos
		normal `bma
		execute "normal! \<C-y>"
	endif
endfunction

map <silent> <LeftDrag> ma<LeftMouse>:call Swipe()<CR>

解説

ほとんど参考そのままです。
ドラッグすると最初の位置をマーク(ma)した後<LeftMouse>を呼びます。
<LeftMouse>のデフォルト動作はカーソル移動なので、カーソルのある位置をマークできます(mb)。
最後に2つの行数を比べてスクロールします。

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?