2009-08-08 14 views
9

मैं से परिचित हूँ और खिड़की सेंटर, शीर्ष, और नीचे करने के लिए बहुत बार C-l (recenter-top-bottom)emacs पर कर्सर के चारों ओर क्षैतिज रूप से केंद्र स्क्रीन के लिए आदेश?

ले जाएँ वर्तमान लाइन के लिए उपयोग करते हैं, क्रमिक।

मैं, खिड़की के केंद्र के लिए वर्तमान स्तंभ, बाएँ और दाएँ सीमाओं स्थानांतरित करने के लिए एक समान आदेश के लिए क्रमिक चाहते हैं। या तो एलीस्प का अंतर्निर्मित या स्निपेट।

+0

'Ch च recenter' (मेरी संस्करण (जीएनयू 22.3) recenter टॉप नहीं है -बॉटम, आप किस संस्करण का उपयोग कर रहे हैं?) कहते हैं कि यह फ़ंक्शन emacs के सी-कोर में कार्यान्वित किया गया है, इसलिए यह क्षैतिज क्षैतिज व्यवहार प्राप्त करने के लिए तुच्छ नहीं हो सकता है। स्रोत पैच करने पर विचार करें? – dmckee

+1

मैं ubuntu emacs-snapshot पैकेज संस्करण 1: 20090320-1ubuntu1 से जीएनयू 23.0.91.1 चला रहा हूं। 'हालिया' और 'हालिया-टॉप-तल' के बीच एकमात्र अंतर यह है कि, बाद में, शीर्ष पर और नीचे, कर्सर को केंद्र में डालने के बीच कमांड चक्र दोहराएं। क्षैतिज स्क्रॉलिंग 'सीएक्स सी- <' और 'सीएक्स सी-> 'के साथ पहले से मौजूद है और सामान्य सीमा के करीब होने पर सामान्य' सीएफ' के साथ, इसलिए मुझे नहीं लगता कि हमें सभी तरह से जाना होगा emacs कोर के लिए। – hsribei

+0

एम-एक्स टॉगल-ट्रंकेट-लाइन –

उत्तर

11

ये रहा:

(defun my-horizontal-recenter() 
    "make the point horizontally centered in the window" 
    (interactive) 
    (let ((mid (/ (window-width) 2)) 
     (line-len (save-excursion (end-of-line) (current-column))) 
     (cur (current-column))) 
    (if (< mid cur) 
     (set-window-hscroll (selected-window) 
          (- cur mid))))) 

और स्पष्ट बाध्यकारी (obvio171 से) है:

(global-set-key (kbd "C-S-l") 'my-horizontal-recenter) 
+0

यह सही है! इसे सी-एस-एल तक बाध्य करें, एक आकर्षण की तरह काम करता है! आपका बहुत बहुत धन्यवाद! :) – hsribei

+0

अच्छा! मैंने इस फ़ंक्शन को 'सीएल' बाइंडिंग में एकीकृत करने के लिए जोड़ा है, केवल तभी यदि आप ट्रंकेट-लाइन मोड में हैं: (मेरे हालिया() "ट्रंकेट-लाइन मोड में लंबवत और क्षैतिज रूप से केंद्र" को हटाएं (इंटरैक्टिव) (यदि (बराबर ट्रंकेट-लाइन टी) (मेरा क्षैतिज-हालिया)) (हालिया-टॉप-तल)) (वैश्विक-सेट-कुंजी "\ Cl" 'मेरा-हालिया) – fredz

3

यदि आप किसी चुने हुए कॉलम पर जाते हैं और सी-एक्स सी-एन दबाते हैं, तो सी-एन और सी-पी कमांड उस कॉलम पर जाएंगे जब तक आप व्यवहार बंद करने के लिए सी-यू सी-एक्स सी-एन दबाते हैं।

आप जो खोज रहे हैं उसके बारे में एक गरीब व्यक्ति का संस्करण।

+0

यह केवल कर्सर को कॉल करने वाले कॉलम को सीमित करता है, लेकिन पाठ को क्षैतिज रूप से स्थानांतरित नहीं करता है। मैं चाहता हूं कि कॉलम के लिए कर्सर को स्क्रीन के केंद्र में "खींचा" किया जा रहा है, क्षैतिज स्क्रॉल कर रहा है। – hsribei

+0

इस प्रकार "गरीब व्यक्ति का संस्करण" योग्यता। – Pinochle

संबंधित मुद्दे