如何按住某个键并在VSCode中重复该键?

时间:2016-10-11 07:30:25

标签: visual-studio-code

我使用vim插件,我通常只需按住j就可以在vim中滚动。在VSCode中,j只执行一个j命令,无论它持有多长时间。

即使在vanilla vscode中,这也不起作用 - 如果您尝试输入长块#########################,则会出现问题##用于评论分隔符。知道如何启用此功能吗?

10 个答案:

答案 0 :(得分:146)

要禁用Apple仅按住VSCode,请在终端中运行此命令:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

然后重启VSCode。

要重新启用,请在终端中运行此命令:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool true

答案 1 :(得分:28)

你在OSX上,对吗?如果是这样,问题可能是Apple的“Press& Hold”,您可以在长按上选择其他字符。

您可以在终端中使用defaults命令禁用此“功能”:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

之后你必须重新启动VSCode。

重新启用之前的行为:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true

答案 2 :(得分:11)

VS Code的official vim-plugin提到了如何在macOS上设置

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled  # If necessary, reset global default

答案 3 :(得分:7)

如果您使用的是Mac,并且使用VSCodium:

defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false

其他针对com.microsoft.VSCode的答案无效,因为您没有运行MS VSCode。 default write命令在~/Library/Preferences/后面的.plist中生成/更新文件,您必须定位正确的文件。


我的软件和版本:
macOS Mojave 10.14.6
VSCodium 1.41.1
-启用neovim的Vim(由vscodevim发行)1.12.4
Neovim 0.4.3 Vim 8.1.2250

答案 4 :(得分:2)

史蒂夫上面的回答因为全局设置而对我不起作用。它还让我很好奇在哪里可以找到应用的com.microsoft.VScode域名。以下是对我有用的和一般化的表述:

要为特定应用启用重复功能,例如VSCode,请首先确保没有覆盖全局设置。

defaults delete -g ApplePressAndHoldEnabled

然后启用特定应用程序的设置,您可以通过在安装它的Contents文件夹下的Info.plist文档中找到该应用程序的域名来找到该域名。

实施例

<key>CFBundleIdentifier</key>
<string>com.microsoft.VSCode</string>

然后在命令行上设置设置。

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

您也可以使用此模式其他应用程序特定设置。只需确保您的设置不会被全局覆盖。

有关defaults类型defaults help的详细信息。还有一点需要注意,如果您的用户已经是管理员,则无需将其作为sudo运行。

答案 5 :(得分:1)

Steve的最佳答案不适用于我的Mac,“默认写入com.microsoft.VSCode ApplePressAndHoldEnabled -bool false”,但是以下对我有用:

sudo defaults write -g ApplePressAndHoldEnabled -bool false

参考:https://github.com/VSCodeVim/Vim/issues/345

答案 6 :(得分:1)

对于我的新笔记本电脑,上述方法都不适合我,而是我必须使用:

defaults write -g ApplePressAndHoldEnabled -bool false

答案 7 :(得分:0)

Though I reset with above mentioned commands and even after reboot, Once I open
VSCode they are getting reset, so I had 'code' script to set them back
every time I open VSCode editor.

 $ cat code
VSCODE_CWD="$PWD" open -n -b "com.microsoft.VSCode" --args $* &
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled

答案 8 :(得分:0)

对于那些使用VS Code Insiders的人,只需将Bundle标识符更改为:

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false

答案 9 :(得分:0)

Mac 要启用重复键,请在终端中执行以下操作并重新启动 VS Code:

$ defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false         # For VS Code
$ defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false # For VS Code Insider
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false    # For VS Codium
$ defaults delete -g ApplePressAndHoldEnabled                                      # If necessary, reset global default

我们还建议在系统偏好设置 -> 键盘中增加按键重复和延迟直到重复设置。

这在我们的自述文件中https://github.com/VSCodeVim/Vim/blob/master/README.md#mac-setup