如何在 less 中使用我的 vim 配置?

如何在 less 中使用我的 vim 配置?

相当多的程序都有使用 less 输出的命令(例如git blame filename)。我想在使用 less 时使用我的 vim 配置(例如,<C-j>而不是使用Pg Down向下翻页)。我该如何设置?

根据此主题并且将 less 手册页放入export EDITOR=vimexport VISUAL=vim~/.baschrc应该使用 vim 来执行 less 但是在重新加载终端会话并启动 less 后我没有看到任何变化(例如我不能使用我的页面向下热键)。

答案1

$EDITOR变量$VISUAL定义编辑使用(例如,当您使用“编辑”命令时较少的)。

当程序运行时较少的,他们将其作为寻呼机,而不是作为编辑——他们关注的是的价值$PAGER

安装维姆帕杰, 然后:

export PAGER=vimpager

答案2

如果您不想按照接受的答案建议的那样安装 vimpager,我发现有两种较简单的解决方法可以将 stdout 直接发送到 vim。

1) 作为一种非全局的解决方法,您可以将所有内容通过管道传输到 less
<command_outputting_to_less> | vi -

2) 更全局地,您可以设置
export PAGER='vi -'
我遇到的一个问题是,向寻呼机发送输出的 cmd 可能会将颜色代码放入其中,因为它认为寻呼机应该能够处理颜色代码。要纠正这个问题,您需要通过其他程序删除颜色代码,或者输出程序可以选择删除颜色代码。对于我使用的程序 (git),我更改了它以使其正确输出git config --global color.ui false

答案3

我不确定您到底想要什么,但less其原始安装中有很多类似 vi 的键绑定可供使用。至少在我的 Ubuntu Jaunty 盒子上是这样的。但如果您缺少某些特定功能,您可以使用lesskey程序重新分配您的键绑定。运行此程序将.less在您的主目录下创建一个名为的文件。它将是一个文本文件,您可以甚至cat查看其内容。viless

检查手册页less(查找 KEY BINDINGS)和/或lesskey命令来完成您想要完成的操作。

相关内容