دبوس Emacs المخازن المؤقتة إلى windows (cscope)
سؤال
على بلدي يوم عمل ، أنا أعيش في Emacs.تماما.أنا أيضا أصبحت جميلة تعتمد على CScope أن تساعدني في العثور على الأشياء في المدونة.
عادة عندي 2 ويندوز في جزء (ج-س 3):النص البديل http://bitthicket.com/files/emacs-2split.JPG
وأنا استخدم الإطار الأيمن على رمز مخازن و الأيسر نافذة من أجل CScope البحث العازلة.عندما كنت تفعل CScope البحث و تحديد النتيجة تلقائيا التحديثات الجانب الأيمن من النافذة لإظهار العازلة التي أشار إليها نتيجة.هذا هو كل شيء حسن وجيد ، إلا أنه يسبب لي أن أخسر مكاني في بعض العازلة التي كنت أدرس.في بعض الأحيان هذا لا يهم لأن [C-s u] يحصل لي العودة إلى حيث كنت.
ما يمكن أن يكون أفضل, رغم أن, هو أن يكون 3 تقسيم ويندوز مثل هذا ([C-x 2] في النافذة اليسرى):النص البديل http://bitthicket.com/files/emacs-3split.jpg
ويكون الجزء السفلي الأيسر من نافذة تحتوي على CScope البحث العازلة ، أعلى يسار النافذة الوحيدة العازلة التي CScope من أي وقت مضى التحديثات.بهذه الطريقة أستطيع أن أرى بلدي CScope البحث و التنقل في جميع أنحاء القانون دون أن تفقد العازلة أنا ركزت على.
أحد يعرف كيف يمكن أن نفعل ذلك ؟
المحلول
ضع هذا في الخاص بك .emacs الملف:
;; Toggle window dedication
(defun toggle-window-dedicated ()
"Toggle whether the current active window is dedicated or not"
(interactive)
(message
(if (let (window (get-buffer-window (current-buffer)))
(set-window-dedicated-p window
(not (window-dedicated-p window))))
"Window '%s' is dedicated"
"Window '%s' is normal")
(current-buffer)))
ثم ربط بعض مفتاح يمكنني استخدام مفتاح وقفة:
(global-set-key [pause] 'toggle-window-dedicated)
ومن ثم استخدامها إلى "تكريس" نافذة تريد تأمين.ثم cscope يمكن فقط فتح الملفات من النتيجة في نافذة أخرى.يعمل السحر.أنا على وجه التحديد استخدامه بالضبط لهذا الغرض - حفظ ملف مصدر واحد دائما على الشاشة أثناء استخدام cscope في الثانية العازلة/نافذة تبحث في cscope النتائج في الثلث.
نصائح أخرى
لقد قررت أن لا تكون سمعة-عاهرة و تجد الجواب نفسي.نظرت في cscope.ش كما هو موضح في Emacs ويكي ، وكذلك xcscope.ش الذي يأتي مع cscope حزمة RPM على RHEL.
لا يبدو أن تعطي طريقة لفعل ما أريد.ربما هى تحرير ELisp بإضافة حزمة متغير مثل *browse-buffer*
أو أي شيء فقط تهيئة هذا المتغير إن لم يكن بالفعل تهيئة أول الوقت المستخدم لا [C-c C-s g]
أو أيا كان, و دائما يكون الناتج هو مبين في التعليمات البرمجية *browse-buffer*
.ثم يمكن للمستخدم وضع *browse-buffer*
أينما كان يريد ذلك.