मैं एक कुंजी को कैसे दबाए रख सकता हूं और इसे VSCode में दोहराता हूं?


125

मैं vim plugin का उपयोग करता हूं और मैं आमतौर पर j को दबाकर vim में स्क्रॉल करता हूं। VSCode होल्डिंग j में केवल एक j कमांड होती है, चाहे इसके लिए कोई भी समय क्यों न हो।

यहां तक ​​कि वेनिला vscode में भी यह काम नहीं करता है - यदि आप ######################## के लंबे ब्लॉक टाइप करने की कोशिश कर रहे हैं। टिप्पणी विभाजकों। किसी भी विचार कैसे इस कार्यक्षमता को सक्षम करने के लिए?

जवाबों:


307

केवल VSCode के लिए Apple प्रेस और होल्ड को अक्षम करने के लिए, इस कमांड को टर्मिनल में चलाएं:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

फिर VSCode को पुनरारंभ करें।

किसी टर्मिनल में इस कमांड को फिर से सक्षम करने के लिए:

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool true

5
पूरी तरह से काम करता है
टेक्ससब्रूस 3

2
आपके द्वारा प्रदान किए गए संस्करण "विश्व स्तर पर चीजों को प्रभावित नहीं करना" की सराहना करें।
jrrs

2
यह मेरे लिए VSCode संस्करण 1.31.1 (1.31.1), macOS 10.14.2 पर काम नहीं करता है।
सनी पटेल

यह मुझे पागल कर रहा था। आपके समाधान ने पूरी तरह से काम किया। इसे साझा करने के लिए धन्यवाद।
मुअम्मर

1
एक -appडोमेन के बजाय ध्वज देने के लिए एक उपयोगी भिन्नता है , क्योंकि ऐप का नाम डोमेन से खोजना आसान है, विशेष रूप से VSCode के एटिपिकल बिल्ड्स के लिए। मैं VSCodium निर्माण का उपयोग करें, तो मैं के साथ वांछित प्रभाव प्राप्त करने में सक्षम थाdefaults write -app VSCodium ApplePressAndHoldEnabled -bool false
वॉरेन युवा

40

आप OSX पर हैं, सही है? यदि ऐसा है, तो मुद्दा Apple का "प्रेस एंड होल्ड" हो सकता है, जहां आप लंबी प्रेस पर वैकल्पिक पात्रों का चयन कर सकते हैं।

आप इस "सुविधा" को टर्मिनल में डिफॉल्ट्स कमांड के साथ अक्षम कर सकते हैं:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

आपको VSCode को बाद में पुनः आरंभ करना होगा।

पिछले व्यवहार को फिर से लागू करने के लिए:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool true

1
इसने मेरे लिए काम किया। कार्यक्षमता एटम में मेरे लिए ठीक काम कर रही थी, लेकिन बनाम नहीं। किसी भी कारण से एक में काम करना चाहिए और दूसरे में नहीं?
मैट

आप इसे प्रति एप्लिकेशन के आधार पर भी निष्क्रिय कर सकते हैं, यह संभव है कि एटम इसे डिफ़ॉल्ट रूप में जहाज करता है ( defaults write com.github.atom ApplePressAndHoldEnabled -bool falseसही डोमेन आईडी के माध्यम से या जो भी हो)
kwood

ठीक वही जो मेरे द्वारा खोजा जा रहा था।
जस्सोनलहार्ड

यह मेरे लिए काम किया धन्यवाद!
इशान तोमर

27

आधिकारिक 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

स्टीव द्वारा ऊपर दिए गए जवाब ने वैश्विक सेटिंग्स के कारण मेरे लिए काफी काम नहीं किया। इसने मुझे इस बारे में भी उत्सुक कर दिया कि 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 यही मेरे लिए किया। धन्यवाद
केविन Friedheim

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" खुले -n -b "com.microsoft.VSCode" - शब्द * और
डिफॉल्ट्स com.microsoft.VSCode ApplePressAndHoldEnabled -bool false लिखते हैं
डिफॉल्ट डिलीट -g ApplePressAndHoldEnabled

0

वीएस कोड अंदरूनी सूत्रों पर आप में से उन लोगों के लिए, बस बंडल पहचानकर्ता को इसमें बदलें:

defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.