vimをポケットベルとして使用すると、「man ascii」がソートされない

vimをポケットベルとして使用すると、「man ascii」がソートされない

Vimをポケットベルとして使用しています。

export MANPAGER="/usr/share/vim/vim73/macros/manpager.sh"

私のプロフィールに。これで、マニュアルページの色と内容がとても良く見えます。しかしman ascii、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' -

関連情報