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


125

我使用vim插件,通常只按住j即可滚动进入vim。在VSCode中,无论j保持了多长时间,j都只执行一个j命令。

即使在香草vscode中,这也行不通-如果您尝试键入############################评论分隔符。任何想法如何启用此功能?

Answers:


305

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

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

然后重新启动VSCode。

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

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool true

5
完美运行
texasbruce

2
感谢您提供的“不影响全局”版本。
jrrs

2
这对我不起作用VSCode版本1.31.1(1.31.1),macOS 10.14.2。
阳光明媚的帕特尔

这让我发疯。您的解决方案运行完美。感谢您分享。
muammar

如果您使用的是VSCode Insiders版本,则只想在这里提示一下,应该使用:defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
khuynh

40

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

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

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

之后,您必须重新启动VSCode。

要重新启用以前的行为:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true

1
这对我有用。该功能在Atom中对我来说运行良好,但对vscode而言则不行。它为什么应该在一个而不是另一个中起作用?
马特

您也可以在每个应用程序的基础上禁用它,有可能Atom将此默认设置为默认值(通过defaults write com.github.atom ApplePressAndHoldEnabled -bool false或使用任何正确的域ID)
kwood

正是我想要的。
jasonleonhard

这为我工作谢谢!
Ishan Tomar

27

VS Code 的官方vim插件提到了如何在macOS上进行设置

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

4
defaults delete -g ApplePressAndHoldEnabled是我所缺少的。它仍然保留其他应用程序的默认行为。👍
史蒂芬路

8

由于全局设置,上述Steve的答案对我而言不太有效。这也让我对在哪里可以找到com.microsoft.VScode应用程序的域名感到好奇。这是对我有用的和广义的表述:

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

defaults delete -g ApplePressAndHoldEnabled

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

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

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

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

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

有关defaultstype的更多信息defaults help。还有一点需要注意,您不必像sudo用户已经是管理员一样运行它。


make sure that there isn't an overriding global setting 那就是为我做的。谢谢
凯文·弗里德海姆

6

如果您使用的是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
-Vim(由vscodevim提供)1.12.4启用了
neovim Neovim 0.4.3 Vim 8.1.2250


0
尽管我使用上述命令进行了重置,即使重启后也可以,但是一旦打开
VSCode他们正在重置,所以我有“代码”脚本将它们重新设置
每次我打开VSCode编辑器。

 $猫码
VSCODE_CWD =“ $ PWD”打开-n -b“ com.microsoft.VSCode” --args $ *&
默认写入com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
默认删除-g ApplePressAndHoldEnabled

0

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

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.