3

В некоторых программах есть команды, которые выдают меньше (например, git blame filename). Я хотел бы использовать мою конфигурацию vim (например, <C-j> вместо использования Pg Down для перехода на страницу) всякий раз, когда используется меньше. Как мне установить это?

В соответствии с этой веткой и меньшей страницей руководства, в которой экспорт ~ export EDITOR=vim и export VISUAL=vim в моем ~/.baschrc должен использовать vim для меньшего, но я не вижу никаких изменений после перезагрузки терминальной сессии и запуска меньшего (я могу ' например, используйте мою страницу вниз горячей клавиши).

3 ответа3

3

Переменные $EDITOR и $VISUAL определяют используемый редактор (например, когда вы используете команду "edit" внутри less).

Когда программы работают меньше, они запускаются как пейджер, а не как редактор - они смотрят на значение $PAGER .

Установите vimpager, затем:

export PAGER=vimpager
0

Я не уверен, что именно вам нужно, но есть много привязок клавиш в стиле vi, которые можно использовать с less в исходной установке. По крайней мере, так на моей коробке Ubuntu Jaunty. Но если вам не хватает определенной функциональности, вы можете использовать программу lesskey для переназначения привязок клавиш. Запуск этой программы создаст файл с именем .less в вашем домашнем каталоге. Это будет текстовый файл , который вы можете cat или vi или даже less , чтобы увидеть содержимое.

Проверьте справочные страницы less (ищите KEY BINDINGS) и / или lesskey чтобы выполнить то, что вы пытаетесь выполнить.

0

Если вы не хотите устанавливать vimpager, как рекомендует принятый ответ, я нашел два хакерских обходных пути, которые просто отправляют stdout прямо в vim.

1) В качестве неглобального обходного пути вы можете передать все, что будет
<command_outputting_to_less> | vi - .

2) Более глобально, вы можете установить
export PAGER='vi -' .
Проблема, с которой я столкнулся, заключается в том, что cmd, отправляющий вывод на пейджер, может помещать в него цветовые коды, потому что считает, что пейджер должен уметь обрабатывать цветовые коды. Чтобы исправить это, вам нужно удалить цветовые коды либо другой программой, либо в программе вывода может быть возможность удалить цветовые коды. Для того, что я использовал (git), я изменил это, чтобы заставить его правильно выводить git config --global color.ui false .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .