-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Description
内容
relativenumber
(行数表示を、相対行数 で表示する) の設定について、
:copy
等の 行数を指定するコマンドと 非常に相性が悪い挙動をする気がします。
これらの挙動、ちょっと使いづらいような気がしますが、どうでしょうか?
範囲指定 → コマンド の際、選択範囲 末尾 基準の行数を表示する
Shift-V
で、ビジュアルモードの 複数行数指定している際 の状況です。
この際、:'<,'> copy +N
(N行目 後 にコピー) を実行する際の基準行は、
選択範囲の最初 (= '<
) です。
しかし、選択状態から、:
で コマンド入力しようとすると、
カーソルが 選択範囲 末尾 に移動するため、relativenumber
の表示は、末尾基準 となります
(コマンドウィンドウに :'<,'>
と入力されるので、最後の '>
の位置 に移る、という意図?)。
そのため、relativenumber
表示 をそのまま使うと、意図しないところにコピーされます。
実現方法
- 範囲指定のコマンド実行 の際に、カーソル行を、基準行の先頭 に移動する
Pros 良くなる点
- コマンド実行の際に、カーソル配置 と 相対行数指定の基準行 がズレない
Cons 悪くなる点
relativeの指定行 までの間に fold範囲 があると、行数指定がズレる
相対行数での指定の際に、指定行の間に foldしている領域 が挟まる場合です。
以下、L10 ~ L14, L20 ~ L29 の 2つのfold がある状態で、
カーソルは、それより前の L5 にいます。
ここで、2つ目のfold範囲 L20 ~ L29 をコピーするため、
:+11 co -1
を実行すると、L16 (最初の fold を開いた状態での、5 + 11 = 16行目) がコピーされます。
絶対行数指定で、:20 co -1
をすると、L20 ~ L29 の fold範囲全体 がコピーされますが、
そのつもりで実施すると、おかしな挙動になります。
実現方法
- 相対行数指定の際、foldの状況 を加味する
Pros 良くなる点
- fold表示と、相対行数指定 が 一致する
Cons 悪くなる点
Vimのバージョン
- Vim v9.1.445
OSの種類/ディストリ/バージョン
- Windows 10 Pro 23H2 (v10.0.22631.3593)
- MSYS2 (msys2-runtime v3.5.3-3)