ฉันจะได้รับบรรทัดโหมดนักเล่นที่ใช้สีและสามเหลี่ยมทึบได้อย่างไร


93

ผู้คนโพสต์ภาพหน้าจอเป็นครั้งคราวด้วยโมเดลที่มีสีและรูปสามเหลี่ยมทึบ: ป้อนคำอธิบายรูปภาพที่นี่

ฉันจะทำซ้ำเอฟเฟกต์นี้ได้อย่างไร


2
จริง ๆ แล้วฉันถูกถามคำถามนี้สองสามครั้งในเว็บไซต์อื่น ๆ ดังนั้นฉันคิดว่าฉันจะถามคำถามที่นี่ด้วยเช่นกัน :)
Tikhon Jelvis

1
ดูเพิ่มเติมที่theemacsd.com/appearance.el-01.htmlสำหรับเคล็ดลับในการเปลี่ยนข้อความไม่ใช่แค่รูปลักษณ์ของบรรทัดโหมด
mankoff

mankoff: ดูเพิ่มเติมที่emacswiki.org/emacs/DelightedModes and github.com/Bruce-Connor/rich-minority
phils

คำตอบ:


78

สามารถทำได้ด้วยสองแพ็คเกจ:

  1. สมาร์ทโหมดเส้น
  2. สายไฟฟ้า

โดยรวมแล้วโหมดสมาร์ทไลน์นั้นมีประสิทธิภาพมากกว่าpowerline (การให้อภัยปุน) ในแง่ที่ว่ามันมีคุณสมบัติเพิ่มเติมเพื่อควบคุมพฤติกรรมของโหมดบรรทัดและความสามารถในการปรับแต่งได้มากขึ้น Readme มีรายการฟีเจอร์ที่ยอดเยี่ยม แต่ในระยะสั้นมันมีการควบคุมความกว้างการแทนที่สตริงในพา ธ ไฟล์ซ่อนโหมดย่อยและอื่น ๆ

  • หากสิ่งที่คุณต้องการคือการบรรลุภาพหน้าจอPowerlineเป็นตัวเลือกที่ดีที่สุด
  • หากคุณต้องการชุดของคุณสมบัติอื่น ๆ รวมกับที่ลองสายสมาร์ทโหมด

เนื่องจาก powerline ได้รับการอธิบายเป็นอย่างดีในคำตอบอื่นฉันจะมุ่งเน้นไปที่วิธีที่คุณสามารถบรรลุลักษณะนั้นด้วยสมาร์ทโหมด

ติดตั้งครั้งแรก

คุณสามารถติดตั้ง smart-mode-line จาก Melpa, Melpa-Stable หรือดาวน์โหลดด้วยตนเอง สมมติว่าคุณตัดสินใจที่จะใช้ตัวจัดการแพคเกจเพียงทำ

M-x package-install RET smart-mode-line

เมื่อคุณเปิดใช้ด้วยM-x sml/setupโหมดบรรทัดของคุณควรมีลักษณะคล้ายกับหนึ่งในสองเหล่านี้
ภาพหน้าจอของธีมมืด ภาพหน้าจอของชุดรูปแบบแสง

ธีม Powerline

smart-mode-lineมีหลายธีมในตัวหนึ่งที่ประสบความสำเร็จในลักษณะที่ปรากฏให้ไว้แยกต่างหากในthemes/ ไดเรกทอรี โปรดทราบว่าชุดรูปแบบนี้ยังอยู่ในช่วงเบต้าดังนั้นการปรับแต่งอาจยังไม่สมบูรณ์แบบ

ติดตั้งชุดรูปแบบจาก Melpa

M-x package-install RET smart-mode-line-powerline-theme

หากคุณต้องการติดตั้งด้วยตนเองมัน อยู่ที่นี่แต่คุณจะต้องติดตั้ง powerline ด้วย

M-x sml/apply-theme RET powerlineในที่สุดคุณสามารถเปิดรูปแบบด้วย และโหมดบรรทัดของคุณควรมีลักษณะเช่นนี้
ภาพหน้าจอของธีม Powerline
อย่างที่คุณเห็นลำดับขององค์ประกอบนั้นไม่เหมือนกัน แต่มีลักษณะโดยรวมอยู่ที่นั่น

ในการใช้ชุดรูปแบบนี้ทุกครั้งให้เพิ่มสิ่งต่อไปนี้ในไฟล์ init ของคุณ คุณยังสามารถปรับแต่งตัวแปรการกำหนดค่า powerline ใด ๆ และพวกเขาควรจะมีผลเหมือนกันที่นี่

;; These two lines are just examples
(setq powerline-arrow-shape 'curve)
(setq powerline-default-separator-dir '(right . left))
;; These two lines you really need.
(setq sml/theme 'powerline)
(sml/setup)

1
ฉันยังเขียนเกี่ยวกับ smart-mode-line แต่คุณก็อธิบายได้ดีกว่า ขอขอบคุณ.
Boccaperta-IT

3
นอกจากนี้คุณยังสามารถอธิบายรายละเอียดเกี่ยวกับคุณสมบัติ regexp ที่สามารถแสดงพา ธ ด้วยชุดอักขระที่สั้นกว่า ... :ED:แทนที่จะซ่อน~/.emacs.d/และrich-minorityซ่อนไฟแช็คของโหมดรอง
Kaushal Modi

1
@kaushalmodi ได้อธิบายเล็กน้อย
Malabarba

46

สามารถทำได้ด้วยแพ็คเกจที่เรียกว่า "powerline" มีหลายรุ่นให้เลือกรวมถึงอย่างน้อยหนึ่งตัวที่คุณสามารถติดตั้งpackage.elได้

ส่วนตัวผมใช้คนนี้ นี่คือภาพหน้าจอจาก README ของแพ็คเกจ:

ตัวอย่างสายไฟฟ้า

คุณสามารถกำหนดค่าสีโดยการตั้งค่าหน้าของโหมดบรรทัด:

(set-face-attribute 'mode-line nil
                    :foreground "Black"
                    :background "DarkOrange"
                    :box nil)

คุณสามารถกำหนดค่ารูปทรงที่แตกต่างกันแทนที่จะเป็นแค่รูปสามเหลี่ยม:

(setq powerline-arrow-shape 'curve)

Emacs powerline ที่มีส่วนโค้งแทนที่จะเป็นลูกศร


2
FWIW - หากคุณมีปัญหากับการรับสีคั่นให้ทั้งหมด seemless เหมือนผมผมพบนี้ส้อมสายไฟฟ้าที่คุณสามารถ(setq powerline-default-separator 'utf-8)ที่ช่วยให้คุณใช้ใด ๆ ของสายไฟฟ้าปะแบบอักษรที่นี่
waymondo

@thepalmcivet: ดีที่จะรู้ แต่ฉันไม่ชัดเจนว่าคุณหมายถึงอะไรโดยการใช้สีที่ไร้รอยต่อ คุณมีภาพหน้าจอของปัญหาหรือบางสิ่งหรือไม่? ขอบคุณ!
Tikhon Jelvis

2
ไม่มีปัญหานี่คือสิ่งที่ฉันจะได้รับ(setq powerline-default-separator 'arrow)ด้วย ฉันกำลังติดตั้ง Carbon Emacs ด้วย Homebrew พร้อม--srgbธงและ(setq ns-use-srgb-colorspace t)ใน. emacs.d ของฉัน
waymondo

Tikhon นั่นเป็นหนึ่งในโหมดแนวน่ารักที่คุณมี คุณช่วยโพสต์หัวข้อเต็มรูปแบบโหมดบรรทัดที่คุณสกรีนช็อตได้บ้างไหม? ขอบคุณ :-)
Ivan Vučica

2
@ IvanVučica: ขอบคุณ! มันอยู่บน GitHub สองส่วน: powerline.el ที่ได้รับการดัดแปลงซึ่งมีรูปทรงให้เลือก ( curveดี แต่ฉันใช้diagonalตอนนี้) และ. emacsของฉันเองซึ่งมีการตั้งค่าอื่น ๆ หากคุณเอียงคุณสามารถทำสำเนาของpowerline.elคุณเองและเพิ่มรูปร่างคั่นของคุณเองผ่านศิลปะ ASCII เพื่อให้ได้เอฟเฟกต์ที่แน่นอนที่คุณต้องการ :)
Tikhon Jelvis

12

อย่างที่คนอื่น ๆ พูดถึง powerline คือแพ็คเกจที่จัดรูปแบบ modeline ในแบบนั้น ธีม emacs ส่วนใหญ่ไม่ได้กำหนดสีสำหรับ powerline (ซึ่งไม่ดี) รูปแบบหนึ่งที่ไม่เป็นที่มีสีสัน (และเบ็ดเสร็จ) Moe-theme มันยังมีโหมดที่เปลี่ยนสีในตอนเย็นเพื่อให้ง่ายขึ้นในสายตา ดูเหมือนว่านี้:

ชุดรูปแบบ moe ในโหมด magenta อันรุ่งโรจน์ซึ่งเป็นธีมของ powerline

ลูกศรของฉันในพาวเวอร์ไลน์ดูแปลกเพราะฉันใช้ฟอนต์ Luxi Mono รุ่นที่ไม่มีใครเทียบ


1

ลูกศรของฉันในพาวเวอร์ไลน์ดูแปลกเพราะฉันใช้ฟอนต์ Luxi Mono รุ่นที่ไม่มีใครเทียบ

William Roeตัดสินจากสกรีนช็อตของคุณว่าคุณใช้ macOS ดังที่ระบุไว้ในความคิดเห็นของปัญหานี้คุณจะต้องเพิ่ม

(setq powerline-image-apple-rgb t)

ไปยังไฟล์ init ของคุณ สิ่งนี้ควรแก้ไขปัญหาการระบายสีด้วยตัวคั่น ("ลูกศร") ทำงานให้ฉันอย่างน้อย

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