Як натиснути і утримувати клавішу і чи повторити її у VSCode?


125

Я використовую плагін vim, і зазвичай прокручую в vim, просто тримаючи j. У VSCode проведення j просто виконує одну j команду, незалежно від того, скільки часу вона тримається.

Навіть у ванільному vscode це також не працює - проблематично, якщо ви намагаєтеся ввести довгі блоки ############################# для роздільники коментарів. Будь-яка ідея, як увімкнути цю функціональність?

Відповіді:


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.
Сонячний Патель

Це зводило мене з розуму. Ваше рішення спрацювало чудово. Дякуємо, що поділилися цим.
Муаммар

Просто хочете задзвонити тут, якщо ви використовуєте версію VSCode Insiders, вам слід скористатися:defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
khuynh

40

Ви на OSX, правда? Якщо це так, проблемою може бути Apple "Натисніть і утримуйте", де ви можете вибрати альтернативні символи на тривалих натисканнях.

Ви можете відключити цю "функцію" за допомогою команди за замовчуванням у терміналі:

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
надсилає

Саме те, що я шукав.
jasonleonhard

Це працювало для мене Спасибі!
Ішан Томар

27

В офіційному плагіні vim для VS Code зазначається, як його налаштувати на macOS

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

4
defaults delete -g ApplePressAndHoldEnabledбуло те, чого я бракував. Він все ще зберігає поведінку за замовчуванням для інших програм. 👍
Стівен Лу

8

Відповідь Стіва вище не дуже працювала для мене через глобальні налаштування. Також мене цікавить питання про те, де знайти 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

Ви можете використовувати цей зразок і для інших параметрів програми. Просто переконайтесь, що ваші налаштування не перезаписані глобально.

Для отримання додаткової інформації про defaultsтип defaults help. Ще одна примітка: вам не потрібно запускати це так, sudoніби ваш користувач вже є адміністратором.


make sure that there isn't an overriding global setting Ось що це зробило для мене. Спасибі
Кевін

6

Якщо ви перебуваєте на комп'ютері та використовуєте 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" open -n -b "com.microsoft.VSCode" --арги $ * &
за замовчуванням пише com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
за замовчуванням видалити -g ApplePressAndHoldEnabled

0

Для тих, хто з інсайдерів VS Code, просто змініть ідентифікатор групи на:

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.