Jak nacisnąć i przytrzymać klawisz i powtórzyć go w VSCode?

125

Używam wtyczki vim i zwykle przewijam w vimie, po prostu przytrzymując j. W VSCode przytrzymanie j wykonuje po prostu pojedyncze polecenie j, bez względu na to, jak długo jest przytrzymywane.

Nawet w waniliowym vscode to również nie działa - problematyczne, jeśli próbujesz wpisać długie bloki ########################## dla separatory komentarzy. Masz pomysł, jak włączyć tę funkcjonalność?

jjcm
źródło

Odpowiedzi:

307

Aby wyłączyć Apple, naciśnij i przytrzymaj tylko dla VSCode, uruchom to polecenie w terminalu:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Następnie uruchom ponownie VSCode.

Aby ponownie włączyć, uruchom to polecenie w terminalu:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool true
Steve Burns
źródło
5
Działa idealnie
texasbruce
2
doceniamy udostępnioną wersję „nie wpływającą na rzeczy globalnie”.
jrrs
2
to nie działa dla mnie VSCode w wersji 1.31.1 (1.31.1), macOS 10.14.2.
Sunny Patel
To doprowadzało mnie do szału. Twoje rozwiązanie zadziałało idealnie. Dzięki za udostępnienie tego.
muammar
1
Przydatną odmianą jest podanie -appflagi zamiast domeny, ponieważ nazwa aplikacji jest łatwiejsza do znalezienia niż nazwa domeny, szczególnie w przypadku nietypowych kompilacji VSCode. Używam kompilacji VSCodium, więc udało mi się uzyskać pożądany efektdefaults write -app VSCodium ApplePressAndHoldEnabled -bool false
Warren Young
40

Jesteś na OSX, prawda? Jeśli tak, problemem może być „Naciśnij i przytrzymaj” firmy Apple, w którym można wybrać alternatywne znaki po długim naciśnięciu.

Możesz wyłączyć tę „funkcję” za pomocą domyślnego polecenia w terminalu:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

Następnie musisz ponownie uruchomić VSCode.

Aby ponownie włączyć poprzednie zachowanie:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true
kwood
źródło
1
To zadziałało dla mnie. Funkcjonalność działała dobrze dla mnie w Atom, ale nie w vscode. Jest jakiś powód, dla którego to powinno działać w jednym, a nie w drugim?
Matt
Możesz go również wyłączyć dla każdej aplikacji, możliwe, że Atom wysyła to jako domyślne (przez defaults write com.github.atom ApplePressAndHoldEnabled -bool falselub jakikolwiek
inny
Dokładnie to, czego szukałem.
jasonleonhard,
To zadziałało dla mnie Dzięki!
Ishan Tomar
27

Oficjalny vim-plugin dla VS Kodeksu wspomina, jak ustawić go na MacOS

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults delete -g ApplePressAndHoldEnabled  # If necessary, reset global default
Moyuan Huang
źródło
4
defaults delete -g ApplePressAndHoldEnabledbyło tym, czego mi brakowało. Nadal zachowuje domyślne zachowanie dla innych aplikacji. 👍
Steven Lu
8

Odpowiedź Steve'a powyżej nie do końca mi odpowiadała z powodu ustawień globalnych. Zaciekawiło mnie również, gdzie znaleźć com.microsoft.VScodenazwę domeny dla aplikacji. Oto, co zadziałało dla mnie i uogólnione sformułowanie:

Aby włączyć powtórzenia dla określonej aplikacji, takiej jak VSCode, najpierw upewnij się, że nie ma zastępującego ustawienia globalnego.

defaults delete -g ApplePressAndHoldEnabled

Następnie włącz ustawienie dla określonej aplikacji, możesz znaleźć nazwę domeny aplikacji, znajdując ją w Info.plistdokumencie w folderze Zawartość, w którym jest zainstalowana.

Przykład

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

Następnie ustaw ustawienie w wierszu poleceń.

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Możesz użyć tego wzorca i innych specyficznych ustawień aplikacji. Upewnij się tylko, że twoje ustawienia nie są nadpisywane globalnie.

Więcej informacji na temat defaultstypu defaults help. Jeszcze jedna uwaga, nie musisz tego uruchamiać, sudojakby twój użytkownik był już administratorem.

Babakness
źródło
make sure that there isn't an overriding global setting To właśnie zrobiło to dla mnie. Dzięki
Kevin Friedheim
6

Jeśli używasz komputera Mac i korzystasz z VSCodium:

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

Inne kierowanie na odpowiedzi com.microsoft.VSCodenie działa, ponieważ nie używasz MS VSCode. Polecenie default writegeneruje / aktualizuje pliki z ~/Library/Preferences/dołączonym .plist, musisz wybrać właściwy plik.


Moje oprogramowanie i wersje:
macOS Mojave 10.14.6
VSCodium 1.41.1
- Vim (by vscodevim) 1.12.4 z włączonym
neovimem Neovim 0.4.3 Vim 8.1.2250

Kyle Chesney
źródło
0
Chociaż zresetowałem za pomocą wyżej wymienionych poleceń, a nawet po ponownym uruchomieniu, Raz otworzę
VSCode, które są resetowane, więc miałem skrypt `` kodu '', aby je ustawić z powrotem
za każdym razem, gdy otwieram edytor VSCode.

 Kod $ cat
VSCODE_CWD = "$ PWD" open -n -b "com.microsoft.VSCode" --args $ * &
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
domyślne usuń -g ApplePressAndHoldEnabled
satyavvd
źródło
0

Dla tych z Was, którzy korzystają z VS Code Insiders, po prostu zmień identyfikator pakietu na:

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
Będzie
źródło