मैं माउस का उपयोग किए बिना emacs में एक ब्लॉक को चुनना या हाइलाइट करना चाहता हूं, लेकिन इसे कीबोर्ड से विम के दृश्य मोड की तरह कर रहा हूं। कीबोर्ड से ऐसा करने का सबसे आसान तरीका क्या है?
मैं माउस का उपयोग किए बिना emacs में एक ब्लॉक को चुनना या हाइलाइट करना चाहता हूं, लेकिन इसे कीबोर्ड से विम के दृश्य मोड की तरह कर रहा हूं। कीबोर्ड से ऐसा करने का सबसे आसान तरीका क्या है?
जवाबों:
Emacs में क्षेत्र-आयत पर एक नज़र डालें।
संक्षेप में, आप के साथ हमेशा की तरह की तरह चयन शुरू Control- Space, तो इस क्षेत्र को मारने Control- x r kऔर पेस्ट (या झटका ) के साथ ब्लॉक को मार डाला Control- x r y।
यदि मैं प्रश्न को सही ढंग से समझता हूं, तो यह मूल रूप से आयताकार क्षेत्रों के बारे में नहीं है।
C-Spc
वर्तमान स्थिति में एक निशान डालता है।
जहाँ भी आपका कर्सर बाद में है, अंतिम निशान और वर्तमान स्थिति के बीच का पाठ "चयनित" है (आप इसे सक्रिय करके हाइलाइट कर सकते हैं transient-mark-mode
, लेकिन इसका मतलब यह भी होगा कि हाइलाइट न चाहते हुए भी निशान हटाना होगा)।
आप उस क्षेत्र पर कमांड के साथ काम कर सकते हैं जैसे:
C-w
। । हत्या क्षेत्र। यह हटाता है और क्षेत्र को मार के रिंग में डालता है।
C-y
। । झटका। यह मारने की अंगूठी से अंतिम स्निपेट सम्मिलित करता है।
M-y
। । साइकिल मार अंगूठी। इसके तुरंत बाद C-y
, यह दूसरे स्निपेट द्वारा यैंक किए गए भाग को किल रिंग में बदल देता है।
M-w
। । क्षेत्र को मारने की अंगूठी में सहेजें। जैसे C-w
, लेकिन डिलीट नहीं करता।
यह सिर्फ मूल उपयोग है। मार्क्स के अन्य उपयोग भी हैं। मैं ट्यूटोरियल ( C-h t
) की सलाह देता हूं ।
C-s
C-r
आमतौर पर इस संदर्भ में उपयोग किया जाता है ताकि क्षेत्र के अंत / शुरुआत का पता लगाया जा सके। (विशेष रूप से एक मैक्रो में उपयोगी है।)
M-x indent-region
।
indent-region
काम ठीक है, लेकिन c-indent-line-or-region
(एक, जो टैब कुंजी से बंधा है ) नहीं है। अंतिम फ़ंक्शन चिह्नित क्षेत्रों पर नहीं , बल्कि चयनित लोगों पर कार्य करता है, अर्थात यह क्षेत्र हाइलाइट किया गया है जैसे कि आपने इसे माउस के साथ चुना था।
C-Spc
जहां आप निशान लगाते हैं । यह क्षणिक-चिह्न-मोड को अस्थायी रूप से सक्रिय करता है (जब तक कि आप रद्द नहीं करते (साथ C-g
))। फिर चयनित क्षेत्र को देखने के लिए बिंदु को स्थानांतरित करें।
24.4 Emacs में अब आयत-चिह्न-मोड है। Cx अंतरिक्ष इसे लागू करने के लिए।
लेख देखें: "आयताकार चयन के साथ काम करना" , विशेषकर टिप्पणी अनुभाग। "CUA आयत समर्थन" शीर्षक CUA मोड प्रलेखन का अनुभाग भी देखें । Vimeo पर एक अच्छा वीडियो भी है ।
हालाँकि C-SPC
, जहाँ भी आपकी बात है, वहां से किसी चीज़ को चिह्नित करना शुरू करने का एक सामान्य तरीका है, अक्सर तेज़ / आसान तरीके होते हैं जो स्पष्ट रूप से शुरू / अंत बिंदुओं पर जाने में शामिल नहीं होते हैं ...
M-h
- एक पैराग्राफ को चिह्नित करने के लिए एक महत्वपूर्ण साधन । एक "पैराग्राफ" का अर्थ अक्सर कोड का एक ब्लॉक होता है।
C-M-h
और C-M-@
- क्रमशः लिंग और डिफ्यूज़ को चिह्नित करने के लिए । यह कई भाषाओं के लिए काम करता है, न कि केवल लिस्प के लिए।
शिफ्ट को रोकें - आंदोलन के दौरान हाइलाइट करने का दूसरा तरीका। उदाहरण के लिए, M-S-f
एक पूरे शब्द का चयन करता है। यह है
shift-select-mode
, और यह एमएसीएस 24+ में डिफ़ॉल्ट रूप से सक्षम है। कुछ (गैर-चिकलेट) कीबोर्ड पर, आपको C-S-
एक ही पिंकी के साथ पकड़ करने में सक्षम होना चाहिए ।
चयन बढ़ाने के लिए आप इनमें से किसी को भी बार-बार दबा सकते हैं।
(नोट: प्रयोग C-g
करते समय अंकन को रद्द करने के लिए अक्सर उपयोग करें ।)
कुछ ऐड-ऑन पैकेज हैं जो क्षेत्रों और चीजों को चुनने में सुधार करते हैं। ये सभी अच्छी तरह से एक साथ खेलते हैं और विभिन्न उपयोग मामलों में फिट होते हैं। उन सभी का उपयोग करें!
विस्तार-क्षेत्र : विस्तार क्षेत्र चयनित इकाइयों को शब्दार्थ इकाइयों द्वारा बढ़ाता है। बस कुंजी को तब तक दबाए रखें जब तक कि आप जो चाहें उसका चयन न करें। C-=
इसके लिए एक अनुशंसित बंधन है। जो आपको चाहिए, उसे पाने के लिए इसे कुछ बार मारो।
ईज़ी-किल :M-w
विभिन्न प्रकार की चीज़ों का चयन करने के लिएउपयोगऔर एक महामारी, जैसे शब्द, सेक्सप, सूचियाँ, आदि।
Zop-to-Char : जैप-टू-चार की तरह , लेकिन अच्छा चयन और अन्य मेनू-चालित क्रियाएं प्रदान करता है।
विसरित एचएल : हाइलाइट किए गए विस्थापित क्षेत्रों को हाइलाइट करें। diff-hl-mark-hunk
हंक को चुनने / चिह्नित करने के लिएउपयोग करें।
उपयोग Control- Spaceएक चिह्न सेट करने और अपने कर्सर को स्थानांतरित करने के लिए।
आपके transient-mark-mode
लिए चयन पर प्रकाश डाला जाएगा। M- x transient-mark-mode
।
आप कस्टमाइज़ेशन का उपयोग करके डिफ़ॉल्ट रूप से इस मोड को सक्षम करने के लिए Emacs सेटअप कर सकते हैं। M- x customize-option
RET transient-mark-mode
।
... और अगर आप उबंटू का उपयोग कर रहे हैं और C-spcआपके लिए काम नहीं कर रहा है: आपको आईबस "अगली इनपुट विधि" कीबाइंट को साफ करने की आवश्यकता है, जैसे कि
ibus-setup
"बाइंडिंग इनपुट विधि" के लिए कुंजी बाइंडिंग को किसी अन्य चीज़ में चलाएं और बदलें (या "..." बटन और फिर "डिलीट" बटन पर क्लिक करके इसे पूरी तरह से हटा दें)।
SO प्रश्न के उत्तर से लिया गया उद्धरण ।
एडिन सल्कोविक के उत्तर का विस्तार करने के लिए, यदि आप सीयूए मोड का उपयोग करते हैं, तो आप एक दृश्य ब्लॉक चयन शुरू करने के लिए उपयोग कर सकते हैं। सीयूए के प्रलेखन में वर्णित ब्लॉक चयन को नियंत्रित करने के लिए बहुत सारे शॉर्टकट हैं ।
25 Emacs के साथ, बस दबाएँ C- Spaceऔर फिर अपना कर्सर ले जाएँ जहाँ भी आप पाठ के क्षेत्र को हाइलाइट करना / चयन करना चाहते हैं जिसमें आपकी रुचि हो। उसके बाद, आपको इन आदेशों की आवश्यकता हो सकती है:
mark-defun