我在 Mac OS Yosemite 10.10.5 中使用 IntelliJ IDEA 14.1.4 社区版。
我已经知道全局ApplePressAndHoldEnabled修复:
defaults write -g ApplePressAndHoldEnabled -bool false
Run Code Online (Sandbox Code Playgroud)
但我只想为 IntelliJ IDEA 禁用它,并且在 Scala 中使用“IdeaVim”插件时(需要重新启动 IDEA),这些命令都不起作用:
defaults write com.jetbrains.intellij.ce ApplePressAndHoldEnabled -bool false
defaults write com.jetbrains.intellij ApplePressAndHoldEnabled -bool false
defaults write com.jetbrains.AppCode ApplePressAndHoldEnabled -bool false
Run Code Online (Sandbox Code Playgroud)
或此处列出的任何其他命令。
如何禁用ApplePressAndHoldEnabled特定应用程序?
Nei*_*eil 17
这是该问题的规范、完整的解决方案:
ApplePressAndHoldEnabled:ApplePressAndHoldEnabledMac OS的布尔值defaults对应以下设置:
true=> show-character-accents-menu:按住键盘按键将弹出字符修改菜单,如下所示:

false=> repeat-character-while-key-held:按住键盘按键将在延迟后连续重复该键,直到释放该键:

show-character-accents-menu默认设置全局行为,但设置repeat-character-while-key-held每个应用程序的行为:ApplePressAndHoldEnabled default取消设置(而不是设置为true或):falsedefaults delete -g ApplePressAndHoldEnabled # Unset globally
Run Code Online (Sandbox Code Playgroud)
ApplePressAndHoldEnabled default:falserepeat-character-while-key-helddefaults write "$APP_ID" ApplePressAndHoldEnabled -bool false
Run Code Online (Sandbox Code Playgroud)
哪里$APP_ID有类似com.jetbrains.intellij.ce“IntelliJ IDEA Community Edition”的东西。
将此代码粘贴到终端中以设置repeat-character-while-key-held所有 IntelliJ IDE 的行为,但要show-character-accents-menu全局设置行为:
KEY='ApplePressAndHoldEnabled' \
&& defaults delete -g "$KEY" \
; echo \
&& APP_ID_PREFIX='com\.jetbrains\.' \
&& defaults read | egrep -o "${APP_ID_PREFIX}[^\"]+" | sort --unique \
| while read APP_ID; do
echo "Setting \"repeat-character-while-key-held\" for application: '$APP_ID'..."
defaults write "$APP_ID" "$KEY" -bool 'false'
done
Run Code Online (Sandbox Code Playgroud)
ApplePressAndHoldEnabled:可以这样检查值:
defaults read -g ApplePressAndHoldEnabled # Global
defaults read "$APP_ID" ApplePressAndHoldEnabled # Per-application
Run Code Online (Sandbox Code Playgroud)
ApplePressAndHoldEnabled将此代码粘贴到终端以显示全局和每个应用程序的设置:
KEY='ApplePressAndHoldEnabled'
APP_ID_PREFIX='com\.jetbrains\.' \
&& echo \
&& printf "%-30s %-20s %-8s\n" \
"Application" \
"Type" \
"Value" \
&& printf "%-30s %-20s %-8s\n" \
"$(printf -- '-%.0s' {1..30})" \
"$(printf -- '-%.0s' {1..16})" \
"$(printf -- '-%.0s' {1..8})" \
&& (defaults read | egrep -o "${APP_ID_PREFIX}[^\"]+" | sort --unique && echo '-g') \
| while read APP_ID; do
printf "%-30s %-20s %-4s\n" \
"${APP_ID}" "\
$(defaults read-type "${APP_ID}" "$KEY" 2> /dev/null || echo '(unset)')" \
"$(defaults read "${APP_ID}" "$KEY" 2> /dev/null || echo '(unset)')"
done \
&& echo
Run Code Online (Sandbox Code Playgroud)
这是预期的输出:
Application Type Value
------------------------------ ---------------- --------
com.jetbrains.WebStorm Type is boolean 0
com.jetbrains.intellij Type is boolean 0
com.jetbrains.intellij.ce Type is boolean 0
com.jetbrains.pycharm Type is boolean 0
-g (unset) (unset)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5304 次 |
| 最近记录: |