macvim-dev / macvim-dev/macvim

GUI keyboard repeat rate suffers with many long lines

オープン
#1,259 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Input
主要言語
Vim Script
スター
7.9k
フォーク
691
PR マージ指標
30日以内にマージされた PR はありません

説明

Steps to reproduce
  1. Open MacVim (mvim --clean)
  2. Create a line 80 characters long (80ii<Esc>)
  3. Go to beginning of line (0)
  4. Hold down 'l' and time how long it takes to get to the end of the line (for me, about 3 seconds)
  5. Delete this line (dd)
  6. Create a line 700 characters long (700ii<Esc>)
  7. Make 90 copies of this line (yy90p)
  8. Go to column one, row one (1G0)
  9. Hold down l and time how long it takes to get to column 80 (for me, about 6 seconds)

(This affects insert repeat rate as well as cursor motion.)

(Also, I don't think this was a problem before the recent update to 9.0, but I could be wrong.)

Expected behaviour

The repeat rate shouldn't be affected by the data in the buffer.

Version of Vim and architecture

VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Jul 25 2022 08:23:03) macOS version - x86_64 Included patches: 1-65

Environment

MacOS 11.6.4
MacVim GUI

How MacVim was installed

Internal update; originally installed from download

Logs and stack traces

No response

Vim configuration where issue is reproducable

No response

Issue has been tested with given configuration
  • by running MacVim.app from GUI macOS interface
  • by running vim/gvim/etc installed by MacVim
  • by running other versions of vim (e.g. /usr/bin/vim)
Issue has been tested with no configuration
  • by running mvim --clean (or gvim, supplied by MacVim distribution)
  • by running vim --clean (in terminal, supplied by MacVim distribution)
  • by running vim --clean (in terminal, other suppliers, e.g. /usr/bin/vim)
Other conditions
  • The both Homebrew packages "vim" and "macvim" are installed

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、レポートにある短い行と長い行を繰り返す手順を使い、mvim --clean で MacVim の遅延を再現して、GUI の挙動を記載されているクリーンなターミナル Vim の実行と比較します。GUI のキーボードリピートとカーソル移動の経路を追跡します。完了条件は、報告されたケースでリピート速度がバッファの内容に依存しなくなることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
macos, vim
領域
desktop, performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。