mkdir aux
ls | shuf > a # a=randomize list of files
(tail -n +2 a ; head -1 a) > b # b=rotate a one line
paste a b > c # c=(name1 name2)*
gawk '{system( "mv " $1 " aux/" $2)}' c # mv name1 -> aux/name2
mv aux/* . # mv aux/name -> name
rm a b
оставьте c
, чтобы вернуться в случае необходимости.
(Выберите лучшее имя для дополнительных файлов)
Я хотел сделать то же самое, и после некоторых поисков и экспериментов, наконец, это заработало.
Решение 1
(См. решение 2 ниже, которое потенциально лучше)
Шаг 1 (сопоставление caps _lock + hjkl):Следуйте этому ответу и добавьте файл config.Вы должны добавить в файл «us», если вы используете раскладку клавиатуры для США, и пропустить другие сочетания клавиш, которые вам не интересны. Затем запустите setxkbmap -layout us
.
Шаг 2 (колпачки _запираются как выход):Прогон xcape -e 'ISO_Level3_Shift=Escape'
. Вы можете добавить эту строку в свой /etc/profile
, чтобы вам не приходилось запускать ее вручную после перезагрузки.
============================================== ====
Решение 2 (возможно лучше)
Я был доволен решением 1, пока не понял, что не могу использовать привязки клавиш в IntelliJ, что является большим обломком. В конце концов я понял, что могу просто использовать xmodmap и xcape для выполнения этой работы, но при этом иметь возможность использовать их в IntelliJ!
Шаг 1 (сопоставление заглавных букв _lock + hjkl):Создайте файл (скажем «~/.xmodmap» )со следующим содержимым:
keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down
keysym u = u U Prior
keysym i = i I Home
keysym o = o O End
keysym p = p P Next
Можете пропустить последние 4 строки. Я вставил их, потому что они могут быть полезны и вам. На самом деле, я очень надеюсь, что caps _улучшение блокировки будет работать в Linux.
Затем запустите xmodmap ~/.xmodmap
.
Шаг 2 (колпачки _запираются как выход):Прогон xcape -e 'Mode_switch=Escape'
.
Шаг 3 (необязательный):Чтобы не применять сочетания клавиш вручную, поместите 2 приведенные выше команды в свой /etc/profile
.
У меня возникли проблемы с корректной работой этого с /etc/profile, поэтому, расширив ответ от @matrinica, я смог добиться успеха (на ubuntu/gnome )с помощью следующего метода:
sudo apt install xclip
sudo apt install xcape
Скопируйте следующий текст:
keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down
Создать файл с содержимым:
touch ~/.xmodmap
xclip -o > ~/.xmodmap
Скопируйте следующий текст:
xmodmap ~/.xmodmap
xcape -e 'Mode_switch=Escape'
Создать файл с содержимым:
touch ~/xmodmap.sh
xclip -o > ~/xmodmap.sh
Сделать файл исполняемым:
chmod +x ~/xmodmap.sh
Скопируйте следующий текст:
[Desktop Entry]
Type=Application
Exec=sh -c "$HOME/xmodmap.sh"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=xmodmap
Comment=xmodmap script
Создать файл с содержимым:
touch ~/.config/autostart/xmodmap.deskop
xclip -o > ~/.config/autostart/xmodmap.deskop
Этот метод не работает с Wayland и поэтому не рассчитан на будущее. Для совместимых с Wayland методов достижения аналогичных результатов см.:
https://askubuntu.com/a/898462
https://wiki.archlinux.org/index.php/Keyboard_input
https://realh.co.uk/wp/linux-keymap-hacking/
Если вы можете придумать чистый метод, совместимый с Wayland, опубликуйте его здесь.
Я использую символы 3-го слоя и назначаю стрелки буквамhjkl
Установить gnome-tweaks
приспособление
В настройках gnome -перейдите в Дополнительные параметры макета и выберите Caps Look в качестве клавиши, чтобы выбрать 3-й уровень.
Затем откройте терминал и перейдите к /usr/share/X11/xkb/symbols/
На вашем компьютере хранятся все раскладки клавиатуры
Сделайте резервную копию макета
cp us us_old
Изменить файл как root
sudo nano us
Третьи значения в массивах — это ваши ключи:
key <AC01> {[a,A,Home]};
key <AC02> {[s,S,BackSpace]};
key <AC03> {[d,D,Delete]};
key <AC04> {[f,F,End]};
key <AC05> {[g,G]};
key <AC06> {[h,H,Left]};
key <AC07> {[j,J,Down]};
key <AC08> {[k,K,Up]};
key <AC09> {[l,L,Right]};