使用 Vim 作为我的男人的寻呼机
export MANPAGER="/usr/share/vim/vim73/macros/manpager.sh"
Run Code Online (Sandbox Code Playgroud)
在我的个人资料中。现在手册页在颜色和内容上看起来非常好。但是,在尝试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' -
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
当我尝试使用以下脚本时,一切正常:
#!/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' -
Run Code Online (Sandbox Code Playgroud)
我不确定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' -
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
493 次 |
最近记录: |