Менять меньше (пейджер) параметры по умолчанию

9

Я использую Ubuntu 10.04. Мой пейджер по умолчанию (установлен с использованием альтернатив обновления, а не $ PAGER) меньше. Проблема в том, что когда я использую ri (инструмент документации Ruby) с режимом '-f ansi', меньше показывает escape-последовательности (такие как 'ESC [36m') вместо отображения текста в цвете. Я могу заставить его отображать цвета, вручную обнуляя вывод с помощью опции -R, например:

ri -f ansi String | less -R

Тем не менее, я бы хотел, чтобы эта опция использовалась по умолчанию, когда в качестве пейджера используется less.

Примечание. Мне известно, что по умолчанию больше и больше цветов отображаются, но я использую меньше из-за привязок клавиш в стиле vi.

imgx64
источник

Ответы:

9

Я нашел ответ где-то еще. Мне нужно было использовать, lesskeyчтобы настроить параметры меньше:

$ lesskey -
#env
LESS = -R

Тогда Ctrl+d

сделал свое дело. Я все еще не уверен, почему менее игнорирует $ LESS, хотя.

imgx64
источник
Ага! параметры в ~/.less(что lesskeyпишет) переопределяют параметры в среде. Таким образом, вы должны были иметь .lessфайл, содержащий LESS=-rранее.
Жиль "ТАК - перестань быть злым"
3

Задайте для LESSпеременной среды список ваших любимых параметров, разделенных пробелами.

Жиль "ТАК - перестань быть злым"
источник
Не работает, менее полностью игнорирует $ LESS. Я предполагаю, что это специфичная для Ubuntu проблема, так как многие другие переменные оболочки игнорируются, включая $ PAGER и $ EDITOR.
imgx64
lessоднозначно $LESSучитывает, на Ubuntu 10.04 как и везде. А $PAGERи $EDITORработа тоже. Похоже, вы не устанавливаете переменные среды должным образом. Как ты сделал это?
Жиль "ТАК - перестань быть злым"
Я попробовал это: "export LESS = '- R'; ri -f ansi String | less" Однако, less правильно использует другие переменные окружения, такие как упомянутые здесь: crunchbanglinux.org/forums/topic/2403/color- man-pages
imgx64
@ imgx64: Это работает для меня ™, и я не вижу, как это не могло работать. Хм ... Каков вывод двух команд type lessи env | grep LESS?
Жиль "ТАК - перестань быть злым"
"less is / usr / bin / less" и "LESS = -R LESSOPEN = | / usr / bin / lesspipe% s LESSCLOSE = / usr / bin / lesspipe% s% s"
imgx64
1

Наиболее вероятная проблема заключается в том, что вы не экспортировали менее переменную.

LESS="FRX"
ls -l | less
<not colorized>

export LESS="FRX"
ls -l | less
<colorized>

Вы можете, например, создать файл с именем /etc/profile.d/less.sh, в котором просто "export LESS =" FRX "", и ваша меньшая конфигурация будет доступна для всей системы.

Мистер Б
источник
Тебе не весело, стройная. ... что не так с указанием на некромантию?
г-н Б