请问各位用 Linux 的 V 友,Linux 下是否有好用的全局快捷键修改?想要修改成 macOS 一样把 copy 改成 super+c, paste 改成 super+v 等,谢谢!
试试 xmodmap 能不能做映射
什么桌面什么系统,windows 还分个 win7,win10 的
基于 ubuntu 的 pop!_os,wm 为 gnome
谢谢 这个是类似 xkb 进行按键映射的吧?按键映射和快捷键修改有个细微区别,就是映射过后虽然按键位置变了,但逻辑上没有变,也就是快捷键没有变,复制仍然按的是 ctrl+c。但这个会在 terminal 里产生干扰,我想要的是真正全局修改成 super+c 为复制,这样就不影响 terminal 里面了
Mac 上复制改成 Ctrl Shift C
Ubuntu 下 Super 映射成 Ctrl
Caps Lock 一律改成 Ctrl
这样只是改了按键的位置 没有在逻辑上更改快捷键 所以逻辑上的一些问题还是会存在 比如 terminal 中 ctrl+c 会产生中断操作
适当配合 https://github.com/baskerville/sxhkd
centos7 的 gnome3 桌面有系统自带的设置全局快捷键地方, 感觉这是 gnome3 的功能,ubuntu 估计也有
设置 -- 设备 -- 键盘
嗯 但是只有部分功能可以设置 并没有全局的复制粘贴可供更改
https://github.com/Chester-zZz/linux-capslock
觉得可以的话给个 star 哦
谢谢,已 star。XKB 也能实现类似的映射功能,问题还是没有在逻辑上修改系统内的全局快捷键,就是不论你按了哪些键,最终逻辑上还是 ctrl+c=复制,我希望在逻辑上修改 super+c=复制。
如果只是为了写代码方便,经过一段时间的实验,我觉得用 autokey 就行了,配置也方便,设置开机启动,不想用的时候直接关掉软件就行了。
如果是想程序里应用系统修改,目前还没有研究过。不过直接改系统的好么?感觉不如打个补丁,不想用的时候补丁一撕就完事儿。
纯粹键盘映射的问题是无法解决一些快捷键冲突,比如 terminal 中 ctrl+c=中断(虽然已经映射到 super+c 的键位上了),但像在 macOS 里面那样在逻辑上用 super+c 复制就不会引起中断了,而且能够保证在 terminal 和其他地方都是按同样的键位进行复制
Ctrl+C 产生中断操作是无法避免的 所以在终端中不如就用默认的 Ctrl+Shift+C 来复制,但是你可以改变在 Mac 下的习惯,将 Mac 下的复制设置为 Ctrl+Shift+C ;我用 KeyboardMaestro 实现
当然终端内和终端外复制的快捷键没法统一…我是养成了两套习惯了(哦不其实是三套,vim 里也不一样…)
win/linux gui: Ctrl+C / Ctrl+V
terminal: Ctrl+Shift+C / Ctrl+Shift+V, Ctrl+Insert / Shift + Insert(这套在 linux gui 下面也基本是通用的)
tmux: Ctrl+b, [, Space, Enter / Ctrl + b, ] ,外加自定义复制到剪贴板的 y
vim: .... 外加自定义复制到系统剪切板的 Ctrl + y
改快捷键是窗口管理器的功能,没有提供就只能魔改窗口管理器了。拿着窗口管理器源码改改,改好了把补丁提交给上游合并了岂不是美滋滋
autokey 现在可以直接 pyhon 文件,强大的一批
https://github.com/linuxmint/gtk/blob/master/gtk/gtk-keys.css.mac
https://www.reddit.com/r/emacs/comments/c22ff1/gtk_4_support_for_key_themes_does_not_affect/
使用 gnome 的话可以设置键绑定主题。两个链接,参考一下。我本来也想设置来着,想着想着,还是想买台 mac 吧。这么改还是不完美的。我猜你是想使用 emacs 的快捷键吧,但是这样会占用很多程序使用的快捷键。总有你改不了的快捷键。还是买 mac 是完美的方案。
我想了一不办法是保持原来的快捷键,在 super + a,e,p,n,b,f 上增加快捷键。但是这又和终端的快捷键冲突了。
哈哈 谢谢 我目前的方案是适应 ctrl 键。。