我在Mac上运行,并使用VMWare Fusion运行Ubuntu(已安装VS Code)。自然,Ubuntu上的默认安装具有linux样式的快捷方式,尤其是control-c(复制),control-v(粘贴),control-w(关闭窗口)。为了让生活更轻松,我想使用VS Code,在Ubuntu下,在VMWare下,具有类似Mac的快捷方式,即分别为command-c,command-v,command-w等。我浏览了文档和UI,除了手动更改每个方法外,找不到其他方法。有提示吗?
答案 0 :(得分:3)
我相信您可以编辑keybindings.json
目录中的.config/Code/User/
文件,以覆盖默认的键盘快捷键。不需要您一个个地编辑它。
我首先要打开默认的键盘快捷方式文件。为此,请通过以下步骤打开“ VS Code”命令面板:
查看->命令面板...(或按
Ctrl + Shift + p
)
这将打开一个文本框,您可以在其中输入命令:然后输入Shortcuts File
之类的内容,它将列出一个匹配的选项,其外观应类似于:
打开键盘快捷方式文件
请注意,它与打开用户界面以编辑快捷方式的"Open Keyboard Shortcuts"
不同。
一旦选择了上面的命令,它将在一个拆分视图中打开您的键绑定,其中左窗格将为您显示一个只读的默认快捷方式文件,而右窗格将为您显示自定义键盘快捷键绑定。 (默认情况下为空)。应该看起来像这样:
然后从左侧窗格复制所有内容(默认快捷方式)并将其粘贴到keybindings.json
文件(右侧窗格)上。
现在,您可以进行搜索和替换,这比手动更改每个快捷方式要快。
希望有帮助!
答案 1 :(得分:3)
您可以通过在创建新绑定之前简单地换掉键盘映射来减轻工作量,但是,如果您在Ubuntu或任何Linux发行版上完全使用该终端,则Mac幻象将迅速消失。另外,除非您为Cmd +箭头键创建自定义键映射,否则它们的行为将不同。
如果您想自己减少工作量,那么我建议您使用Kinto。它将通过侦听您当前正在使用的应用程序来处理应用正确的(和本机的)键盘映射。它不会拦截像“自动键”或其他第三方重新绑定/重新映射工具这样的按键。
Kinto还为正常的Mac Cmd +箭头键行为提供了自定义键映射。
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
这里也是要点,如果您只想查看所有内容的核心,则它不会在需要时替换您的键盘映射。 Gist也不包括自定义的xkb键映射文件,这些文件设置了使用Cmd和箭头键设置macOS样式的光标/按词操作。
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
编辑:根据另一位成员的建议,我还将包括要点的实际内容,因为我不能现实地包含创建Kinto的所有代码和文件。除了Kinto能够动态更改键盘映射并应用特定于macOS行为的更多自定义键盘映射之外,此要点和Kinto完全相同。
# permanent apple keyboard keyswap
echo "options hid_apple swap_opt_cmd=1" | sudo tee -a /etc/modprobe.d/hid_apple.conf
update-initramfs -u -k all
# Temporary & instant apple keyboard keyswap
echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd
# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win
# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win
#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#
答案 2 :(得分:1)
您可能遇到的问题是Mac和PC键盘之间交换了asyncio.run()
和Command
键。在Mac上,Alt/Option
在空格键旁边,而在PC上,通常是Command
键。我遵循了Nimeshka给出的答案,并添加了两个步骤:
Alt
替换为alt
(Windows的Linux名称/ Command键)super
替换为cmd