13
5

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 1 year has passed since last update.

vim3Advent Calendar 2019

Day 8

効率の悪い移動を繰り返すと自責の言葉を表示するVimプラグイン

Last updated at Posted at 2019-12-07

アドベントカレンダー初参加です。

はじめに

みなさんは効率の良い・素早い移動を心がけているでしょうか?

本記事で吊るし上げる「効率の悪い」移動とは、

h/j/k/lを連打もしくは長押しすること

です。

効率の悪い移動を控えるように矯正し、f/F、その他検索やジャンプなどを使う癖をつけたいものです。

動作例

自責の言葉やフロートウインドウの大きさ、効率の悪い移動の許容範囲・回数は変更可能です。

「自責」1

自分で自分のあやまちを責めること。

似た言葉
恥じる 恥じ入る 慙愧 悔いる 悔やむ

矯正方法の例

  • h/j/k/lを無効化する
    • 突然なくなるのは苦しいかもしれません。
  • h/j/k/lを押すと保存せずにVimを閉じる
    • どこかの記事でみた気がしますが、過激過ぎます。
  • h/j/k/lをある回数以上繰り返したときに自責の言葉を表示する
    • 本記事で紹介する方法(プラグイン名: vim-hjkl-warning)です。

仕組み

移動する度に移動距離の測定と回数のカウントを行い、効率の悪い移動を繰り返し行った時に自責の言葉を表示するようにしています。

設定例1

let g:hjkl_warning_win_width    = 10
let g:hjkl_warning_win_height   = 3
let g:hjkl_warning_min_column   = 5
let g:hjkl_warning_min_line     = 2
let g:hjkl_warning_max_repeat   = 8
let g:hjkl_warning_message      = ["わたしには", "学習能力が", "ありません"]
let g:hjkl_warning_enable_title = v:false

横方向に5文字未満、もしくは縦方向に2文字未満の移動を8回を超えて連続で繰り返した時、以下のように表示されます。
Screenshot 0001-12-07 at 5.58.47 PM.png

設定例2

let g:hjkl_warning_win_width    = 2
let g:hjkl_warning_win_height   = 1
let g:hjkl_warning_min_column   = 3
let g:hjkl_warning_min_line     = 1
let g:hjkl_warning_max_repeat   = 5
let g:hjkl_warning_message      = ["😡"]
let g:hjkl_warning_enable_title = v:false

横方向に3文字未満、もしくは縦方向に1文字未満(つまり縦方向では判定されない)の移動を5回を超えて連続で繰り返した時、以下のように表示されます。
Screenshot 0001-12-07 at 6.07.35 PM.png

リポジトリ

おわり

記事を読んでくれてありがとうございます😊

プラグインを作ったのは初めてで、かつあまり時間を割けなかったため、作りが甘い・良くない可能性が高いと思っています。例えば、pluginディレクトリとautoloadディレクトリの違いをあまり理解せず、全てpluginディレクトリの1ファイルで済ませてしまっています(これを逆手にとり、「そんな感じでもプラグイン作れるんだ」という気軽な気持ちでプラグイン作成に挑戦してみても良いと思います🙂)。

ご意見やアドバイスなどあれば、ぜひコメントしてください。

ここまで読んでくださってありがとうございます!

Twitterフォローしていただけると嬉しいです!
https://twitter.com/_matoruru

  1. 三省堂 大辞林 第三版

13
5
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
13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?