Vimをポケットベルとして使用しています。
export MANPAGER="/usr/share/vim/vim73/macros/manpager.sh"
私のプロフィールに。これで、マニュアルページの色と内容がとても良く見えます。しかしman ascii
、ASCIIテーブルを表示しようとすると、下のスクリーンショットに示すように、テーブルが正しく整列していないことがわかりました。
デフォルトのポケットベルにはこの問題はありません。テーブルを設定したexport MANPAGER="view -"
ときも正しいので、スクリプトに問題があるようですmanpager.sh
。
#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \
vim \
-c 'let no_plugin_maps = 1' \
-c 'set nolist nomod ft=man' \
-c 'let g:showmarks_enable=0' \
-c 'runtime! macros/less.vim' -
この問題をどのように解決できますか?
答え1
次のスクリプトを使用しようとすると、すべてがうまくいきます。
#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | \
vim \
-c 'let no_plugin_maps = 1' \
-c 'set nolist nomod ft=man' \
-c 'let g:showmarks_enable=0' \
-c 'runtime! macros/less.vim' -
col
シーケンスでそれがどのような役割を果たしているのかはわかりませんが、間違いなくスペースを混乱させます。誰かがより良い解決策を見つけるまで、これは私の解決策になります。
編集する:col
「可能であれば、スペース文字をタブに置き換える」ので、質問も同じです。この問題を解決するには、オプションのタブの代わりにcol
スペースを使用してください-x
。最終設定は次のとおりです(Gilles提供)。
#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -bx | \
vim \
-c 'let no_plugin_maps = 1' \
-c 'set nolist nomod ft=man' \
-c 'let g:showmarks_enable=0' \
-c 'runtime! macros/less.vim' -