1
0

More than 1 year has passed since last update.

【zsh/iTerm2】lessの閲覧結果が通常の画面に残ってしまう&マウスホイールによるスクロールが効かない不具合を治す

Posted at

環境

  • macOS 13.3.1
  • zsh 5.9 (x86_64-apple-darwin22.0)
  • iTerm2 3.4.19

症状

  1. 本来 less で読んだ中身は通常画面(コマンド打ったりするとこ)に残らないはずであるが、それが残ってしまう。(図1)
  2. lessman などで長い文書を読む際、マウスホイールによるスクロールが反映されない。それだけではなく、上にスクロールすると通常画面が見えてしまう。(図2)

画像

図1
図1. このようにlessで見た中身が残ってしまう。通常ならこの画面には残らないはず。

図2
図2. ウィンドウバーを見ると分かる通り、現在 $ man lsを実行中(qキーで抜ける前)。上にスクロールするとコマンド部分が見える。

原因

lessのデフォルトオプション設定に-Xが付いていた

~/.zprofile にlessコマンドのデフォルトオプション設定があった。
そこにて デフォルトで-Xオプションがつけられており、これがマウスホイールの動作に影響を与えていた。

おそらくPreztoか何かを導入した際に自動で生成されたものだと思う(不明)。以下はいつの間にか書かれていたもののコピペ

~/.zprofile
# Set the default Less options.
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
# Remove -X to enable it.
if [[ -z "$LESS" ]]; then
  export LESS='-N -g -i -M -R -S -w -X -z-4'
fi

こんな丁寧に書いてくれてるや〜ん

iTerm2のprofile設定にalternate screenに関する項目があった

iTerm2 > Settings… > Profiles > Terminal に次のような設定項目がある。
「 [x] Disable save/restore alternate screen 」
この設定によって謎の内容保持が行われていた。

解決法

  1. lessのデフォルトオプションから-Xをなくす。
  2. iTerm2のprofile設定「Disable save/restore alternate screen」のチェックを外す。

※自分の好みによってこの辺の設定を変えるのもあり。

おまけ

めっちゃ検索しまくったけどマジで見つからなくて泣いてた。これで助かる人がいればいいなぁ

1
0
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
0