วิธีกำหนดค่า eshell เอง


0

ฉันจะปรับแต่งพรอมต์ของได้eshellอย่างไร ฉันจะป้องกันไม่ให้แสดงเส้นทางปัจจุบันแบบเต็มโดยเฉพาะได้อย่างไร


นี่เป็นคำถามที่ถูกต้องจริง ๆ เพราะขาดเอกสารใน eshell
pmr

คำตอบ:


1

คุณสามารถพบมากของความเป็นไปได้ในการปรับแต่งการแจ้งเตือนในemacs วิกิพีเดีย

ในตัวอย่างต่อไปนี้จะแสดงชื่อไดเรกทอรีสุดท้ายเพียงสามชื่อของไดเรกทอรีในจุดเริ่มต้นจะถูกย่อให้เหลือเพียงตัวอักษรเดียว:

(setq eshell-prompt-function
      (lambda()
        (concat (getenv "USER") "@" (getenv "HOST") ":"
                ((lambda (p-lst)
                   (if (> (length p-lst) 3)
                       (concat
                        (mapconcat (lambda (elm) (substring elm 0 1))
                                   (butlast p-lst (- (length p-lst) 3))
                                   "/")
                        "/"
                        (mapconcat (lambda (elm) elm)
                                   (last p-lst (- (length p-lst) 3))
                                   "/"))
                     (mapconcat (lambda (elm) elm)
                                p-lst
                                "/")))
                 (split-string (eshell/pwd) "/"))
                (if (= (user-uid) 0) " # " " $ "))))

ฉันลองนี้: (setq eshell-prompt-function (lambda () ">")) เพื่อรับ clean '>' แต่นี่เป็นการแบ่งแท็บที่เสร็จสมบูรณ์และ 'Cc Ca' เพื่อไปที่จุดเริ่มต้นของคำสั่ง - มี วิธีที่จะไม่ทำลายนี้และยังมีพรอมต์ที่เรียบง่าย?
วังจันทร์

0

คุณต้องตั้งค่าeshell-prompt-regexpให้ตรงกับสิ่งที่eshell-prompt-functionส่งคืนหรือคุณมีปัญหาเช่นวังจันทร์ในความคิดเห็นด้านบนนี้


นี่เป็นความคิดเห็นจริงๆและไม่ใช่คำตอบสำหรับคำถามเดิม จะวิจารณ์หรือขอคำชี้แจงจากผู้เขียนแสดงความคิดเห็นด้านล่างโพสต์ของพวกเขา - คุณสามารถแสดงความคิดเห็นในโพสต์ของคุณเองและเมื่อคุณมีเพียงพอชื่อเสียงคุณจะสามารถที่จะแสดงความคิดเห็นในโพสต์ใดโปรดอ่านทำไมฉันต้องมี 50 ชื่อเสียงเพื่อแสดงความคิดเห็น ฉันควรทำอะไรแทน
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.