Вставьте это в свой терминал (или поместите на bashrc):
less_cat(){
[ "$(wc -l <"$1")" -ge "$LINES" ] && less "$1" || less -FX "$1"
}
Теперь вы сможете выполнить:
less_cat /etc/fstab
less_cat /var/log/messages
И он будет делать именно то, что вы хотите.
ПРИМЕЧАНИЕ:Это решение совместимо с BASH/ZSH (см. комментарии)
Удачи!
Мне не удалось заставить его работать с опцией lv3:caps_switch
. Только после определения отдельного двухуровневого модификатора для заглавных букв смоделированные клавиши со стрелками работали вместе с другими модификаторами, такими как SUPER.
В качестве основы я использовал макет de,но это должно работать и с другими. Вот мой новый /usr/share/X11/xkb/symbols/custom
файл(setxkbmap -layout custom -variant 5layer
для активации):
default partial alphanumeric_keys xkb_symbols "5layer" {
include "de(basic)"
include "ansi_hybrid(caps_layer)"
include "ansi_hybrid(ralt_layers)"
};
partial modifier_keys xkb_symbols "caps_layer" {
// caps layer key definitions
replace key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Overlay1_Enable, Overlay1_Enable ],
actions[Group1] = [ SetControls(controls=Overlay1),
SetControls(controls=Overlay1) ]
};
key <LatH> { Overlay1 = <LEFT> };
key <LatJ> { Overlay1 = <DOWN> };
key <LatK> { Overlay1 = <UP> };
key <LatL> { Overlay1 = <RGHT> };
};
partial modifier_keys xkb_symbols "ralt_layers" {
// base, shift, ralt, shift+ralt layers key definitions
key <CODE> { [ base, shift, ralt_base, ralt_shift_symbol ] };
};