बस बिल्ट-इन का उपयोग करें asm-mode। यह आपको किसी भी विधानसभा भाषाओं के लिए वाक्य रचना हाइलाइटिंग देता है। gas-modeऐसा नहीं करता है और एटी एंड टी सिंटैक्स के साथ प्रयोग करने योग्य नहीं है।
यदि आप इसके लिए इंडेंटेशन सेट करना चाहते हैं asm-mode, तो ध्यान दें कि आप इसका उपयोग नहीं कर सकते हैं tab-widthलेकिन tab-stop-listयह उन स्पेस को निर्दिष्ट करता है जो 1 टैब, 2 टैब, 3 टैब ... प्रदर्शित कर सकते हैं:
(setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
64 68 72 76 80 84 88 92 96 100 104 108 112
116 120))
उपरोक्त उदाहरण का मतलब है कि मुट्ठी टैब में 4 स्थान हैं, 2 टैब (पहले टैब के बगल में) में 8 रिक्त स्थान हैं, तीसरे टैब (दूसरे टैब के बगल में) में 12 स्थान हैं ... और इसी तरह।
आप इस तरह की सूची भी बना सकते हैं:
(setq tab-stop-list (number-sequence 2 60 2))
number-sequenceसंख्या की एक सूची बनाता है, जिसमें शुरुआती संख्या 2(पहला तर्क) 60(दूसरा तर्क) तक, प्रत्येक संख्या 2इसके आगे की संख्या से भिन्न होती है । और newline-and-indentRET से बंधना याद रखें , इसलिए Emacs स्वचालित रूप से आपके लिए इंडेंट करता है।
यदि आप चारों ओर छलांग लगाना चाहते हैं, तो इस तरह से Ctags का उपयोग करें:
ctags -e -R
-eइसका मतलब है कि टैग डेटाबेस का उपयोग Emacs द्वारा किया जाता है।
-Rपरियोजना की जड़ से उप-निर्देशिका में फ़ाइलों के लिए पुनरावर्ती टैग उत्पन्न करता है।
उसके बाद, यदि आप हेल्म का उपयोग नहीं करते हैं, तो आप Emacs में helm-etags-selectया किसी अन्य etagsक्लाइंट के आसपास कूदने के लिए उपयोग कर सकते हैं ।
संपादित करें : यहाँ एक नमूना सेटअप है:
(require 'asm-mode)
(add-hook 'asm-mode-hook (lambda ()
(setq indent-tabs-mode nil) ; use spaces to indent
(electric-indent-mode -1) ; indentation in asm-mode is annoying
(setq tab-stop-list (number-sequence 2 60 2))))
(define-key asm-mode-map (kbd "<ret>") 'newline-and-indent)
(define-key asm-mode-map (kbd "M-.") 'helm-etags-select)
company-completeदबाने पर आपके पास मूल पूर्णता भी हो सकती है S-TAB:
(define-key asm-mode-map (kbd "<backtab>") 'company-complete)
आप <tab>पूर्णता को ट्रिगर करने के लिए उपयोग कर सकते हैं क्योंकि दोनों एक ही कमांड को चलाते हैं <tab>और रिक्त स्थान या टैब सम्मिलित करते हैं जो आपकी सेटिंग पर निर्भर करता है । इसके साथ अच्छी बात यह है कि यदि उपलब्ध हो तो आपको मिनीबफ़र में वर्तमान में हाइलाइट किए गए उम्मीदवार का संक्षिप्त विवरण मिलता है। उदाहरण के लिए, यदि आपके पास इस तरह की परिभाषा है:M-itab-to-tab-stopindent-tabs-modecompany-mode
KeyStrokes word 0
जब आप कर्सर को KeyStrokesअभ्यर्थी के पास ले जाते हैं , तो यह word 0मिनीबार में प्रिंट करता है।
asm-modeचाहिए, लेकिन क्या नहीं? (क्या विशेषताएं याद आ रही हैं?)