LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1570|回复: 10

[部分解决]如何设置让less像vi一样彩色输出?

[复制链接]
发表于 2009-9-11 00:50:30 | 显示全部楼层 |阅读模式
如题。求助。谢谢!
发表于 2009-9-11 09:25:18 | 显示全部楼层
假定你的vim版本是7.2,用这个脚本代替 less 即可。

/usr/share/vim/vim72/macros/less.sh

可以在 bashrc 中 alias less=/usr/share/vim/vim72/macros/less.sh
回复 支持 反对

使用道具 举报

发表于 2009-9-11 17:11:43 | 显示全部楼层
Post by poet;2025873
假定你的vim版本是7.2,用这个脚本代替 less 即可。

/usr/share/vim/vim72/macros/less.sh

可以在 bashrc 中 alias less=/usr/share/vim/vim72/macros/less.sh



嗯,这个功能挺好~~受教!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-13 00:41:10 | 显示全部楼层
二楼兄弟你用的啥发行版?我这里是/usr/share/vim/macro/less.sh。并且执行完就退出了,不像less可以回滚屏幕。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-13 15:53:44 | 显示全部楼层
嗯。自己搜了两天,现在算解决了一半。

1、让“ls -l | less”命令具有彩色输出:
$ ls -l --color=always | less
(来自:http://forum.ubuntu.org.cn/viewt ... =188891&start=0)
看来彩色字符输出不关less的事,冤枉less了。特意验证了一下(Arch Linux):
$ yaourt -Ss cups | less

果然是彩色字符

2、让“less README”也有vi那样的彩色输出,暂时还不会。用view代替。二楼兄弟给出的方案似乎在我这儿不好使......囧
回复 支持 反对

使用道具 举报

发表于 2009-9-16 09:54:14 | 显示全部楼层
Post by 糊涂;2026436
二楼兄弟你用的啥发行版?我这里是/usr/share/vim/macro/less.sh。并且执行完就退出了,不像less可以回滚屏幕。

你用arch的vim话:
cp /usr/bin/vi /usr/bin/vim

之后应该就好了

一般自己从vim官方网站下载的源代码编译的 vim 都没有问题。arch根本没打算给正常的vim给你用。
回复 支持 反对

使用道具 举报

发表于 2009-9-16 14:15:23 | 显示全部楼层
的确不关less事、但是你必须让less知道它要分析control characters。
  1. less -R
复制代码

要less读完自动退出也是可以的:
  1. less --QUIT-AT-EOF
复制代码

可能你的Linux已经默认使用了。不然请自己设环境参数:
  1. $ env | grep LESS
  2. LESS="-R --QUIT-AT-EOF"
复制代码

读一读man就知道这些选项了。

如果你要的是自动按读档决定highlight、那只能用vimpager了。
你用arch的vim话:
cp /usr/bin/vi /usr/bin/vim
这是不好的做法。因为如果vi升级或改变了vim不会同步改变。应该用link:
  1. ln -s /usr/bin/vi /usr/bin/vim
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-16 14:17:15 | 显示全部楼层
Post by poet;2027261
......arch根本没打算给正常的vim给你用。
哦?此话怎讲?愿闻其详。(刚开始用Arch,对Arch所知甚少)
回复 支持 反对

使用道具 举报

发表于 2009-9-17 09:09:25 | 显示全部楼层
Post by 糊涂;2027351
哦?此话怎讲?愿闻其详。(刚开始用Arch,对Arch所知甚少)


arch 是一个非常本原的发行版,对于绝大多数软件,都奉行“保持原有风格”的原则。偏生对 vim 却要痛下杀手动刀子修改之,我不知道这算是什么意思,作者跟 vim 有仇?

vim 缺省编译会是Normal版,带X支持和GUI支持。并且 vi 跟 vim 都指向相同的文件。你不论用 vi 还是用 vim 启动都是一样结果。读取的也都是 .vimrc

在 arch 中,用 vi 和 用 vim 貌似是不同的,而且用 vi 读取的是 .virc。知名发行版中除了 arch 以外从没见过这么做。我有理由相信有太多的人第一次用arch时都受到过这个 .virc 的困扰。

建议自已编译,免得受发行版的气。
回复 支持 反对

使用道具 举报

发表于 2009-9-17 09:48:28 | 显示全部楼层
slackware中vi 是elvis, 也不是vim。要解决很简单重新ln 一下,或者用alias就可以了。

知道vi和vim的区别是很重要的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表