MANPAGER
bashで変数を使用してvimを私のマニュアルページに設定するのに問題があることがわかりました。
最初は、以下の方法を使用してマニュアルページを設定しました:help manpager
。
export MANPAGER="vim -M +MANPAGER -"
man fzf
これでマニュアルページが開きますが、ANSIの色を表示するのではなくカラーコードが表示されますが、単に実行すると
man fzf | vim -M +MANPAGER -
ANSI カラー指定が有効になると、マニュアルページが正しく表示されます。 AnsiEsc・vimプラグインを使ってMANPAGER
以下のように変数を設定して色を表示したいと思います。
export MANPAGER="vim -M +MANPAGER -c 'AnsiEsc' -"
ただし、この方法ではANSIコードは消えますが、テキストに色は適用されません。私は何らかの理由でこれが変数を設定MANPAGER
し、マニュアルページを表示したときにbashrc
設定がロードされないために発生することがわかりました。bashrc
コマンドv
をにマッピングするエイリアスがあるため、これを確認しましたvim
。したがって、実行すると次のようになります。
man fzf | v -M +MANPAGER -
を使用して同じコマンドを実行するのと同じ(有効な)結果を取得しますvim
。しかし、私が実行したとき:
export MANPAGER="v -M +MANPAGER -"
man fzf
エラーが発生します。
man: can't execute v: No such file or directory
man: command exited with status 255: sed -e '/^[[:space:]]*$/{ N; /^[[:space:]]*\n[[:space:]]*$/D; }' | LESS=-ix8RmPm Manual p
age fzf(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page fzf(1) ?ltline
%lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=fzf(1) v -M +MANPAGER -
bashrc
実行時にロードされないという私の仮定は正しいman
ですか?もしそうなら、解決策はありますか?
ありがとう