আপনি আপনার নিজের গৌণ মোড এবং এর মূল মানচিত্রটি সংজ্ঞায়িত করতে পারেন এবং অন্য সমস্ত মোডগুলিকে (মাইনর + মেজর) ওভাররাইড করতে পারেন। ঠিক এই কারণেই আমি আমার নিজের ছোটখাটো মোড লিখতে পছন্দ করেছি।
আপনার কী বাইন্ডিংগুলি সমস্ত বাইন্ডিংকে ওভাররাইড করার পদক্ষেপ:
- নীচে প্রদর্শিত হিসাবে আপনার নিজের গৌণ মোড এবং কী মানচিত্র সংজ্ঞায়িত।
- আপনার গৌণ মোডটি বিশ্বব্যাপী সক্রিয় করুন
(define-key my-mode-map (kbd "C-j") #'newline-and-indent)
একইভাবে আপনার অপ্রাপ্তবয়স্ক মোডে সেট করা আপনার অন্যান্য কী বাইন্ডিংগুলি অন্যান্য মোডগুলিতে ওভাররাইড করবে।
ক্রিস্টোফার ওয়েলনসের ব্লগ পোস্টটি কীভাবে অপ্রাপ্তবয়স্ক মোডে লিখতে হয় সে সম্পর্কে আমি উচ্চ প্রস্তাব দিয়েছি । সেই ব্লগটি nil
একাধিক বড় এবং ছোটখাটো মোডে একাধিক কী বাইন্ডিং সেট করার বিরক্তি আমাকে নিজের ছোটখাটো মোড লেখার জন্য অনুপ্রাণিত করেছিল।
এই পদ্ধতির ব্যবহারের সর্বোত্তম অংশটি হ'ল যখন আপনি ইমাক্সের ডিফল্ট কনফিগারেশনে কী বাইন্ডিংগুলি কী করে তা পরীক্ষা করতে চান, আপনি কেবল নিজের ছোটখাট মোডটি বন্ধ করে দেন; তারপরে আপনি এটিকে আবার চালু করুন এবং আপনার কাস্টম কী বাইন্ডিংগুলি ফিরে পাবেন।
;; Main use is to have my key bindings have the highest priority
;; https://github.com/kaushalmodi/.emacs.d/blob/master/elisp/modi-mode.el
(defvar my-mode-map (make-sparse-keymap)
"Keymap for `my-mode'.")
;;;###autoload
(define-minor-mode my-mode
"A minor mode so that my key settings override annoying major modes."
;; If init-value is not set to t, this mode does not get enabled in
;; `fundamental-mode' buffers even after doing \"(global-my-mode 1)\".
;; More info: http://emacs.stackexchange.com/q/16693/115
:init-value t
:lighter " my-mode"
:keymap my-mode-map)
;;;###autoload
(define-globalized-minor-mode global-my-mode my-mode my-mode)
;; https://github.com/jwiegley/use-package/blob/master/bind-key.el
;; The keymaps in `emulation-mode-map-alists' take precedence over
;; `minor-mode-map-alist'
(add-to-list 'emulation-mode-map-alists `((my-mode . ,my-mode-map)))
;; Turn off the minor mode in the minibuffer
(defun turn-off-my-mode ()
"Turn off my-mode."
(my-mode -1))
(add-hook 'minibuffer-setup-hook #'turn-off-my-mode)
(provide 'my-mode)
;; Minor mode tutorial: http://nullprogram.com/blog/2013/02/06/