Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

Doom Emacs คืออะไร และวิธีติดตั้ง

Doom Emacs คืออะไร และวิธีติดตั้ง

Doom Emacs เป็น distribution ที่มุ่งสร้างวิธีที่ง่ายและเข้าถึงได้ง่ายสำหรับเริ่มต้นใช้งาน Emacs เนื่องจากเอกสารประกอบนับร้อยหน้าที่อธิบายฟังก์ชันต่างๆ Emacs เองอาจดูน่ากลัว

สิ่งนี้ช่วยผู้ใช้ที่คุ้นเคยแล้วและหนังสือพิมพ์ แต่แนวทางแบบไม่ التدخل (hands-off) ไม่ช่วยคนที่เพียงสนใจลองใช้งาน

Doom Emacs คืออะไร และวิธีติดตั้ง

Doom Emacs มุ่งตัดส่วนเกินและกลั่นกรองประสบการณ์ Emacs ให้เหลือจุดแข็งหลัก ช่วยให้ผู้ใช้ใช้ความยืดหยุ่นได้โดยไม่ต้องเช็กคู่มือตลอดเวลาสำหรับงานพื้นฐาน ผลลัพธ์คือ Emacs เวอร์ชันที่ปรับแต่งและแก้ไขได้ง่ายตามความต้องการผู้ใช้

การติดตั้ง Doom Emacs ค่อนข้างง่าย ต้องการ 3 สิ่งก่อน:

  • Emacs 27.1 ติดตั้งแบบ vanilla
  • ripgrep
  • Git

ติดตั้ง Emacs และ ripgrep

Emacs และ ripgrep มีใน repository ของทุก major Linux distribution ตัวอย่างเช่น ติดตั้งบน Debian และ Ubuntu 21.10 ด้วย apt:

sudo apt install emacs-gtk ripgrep

Arch Linux ใช้ pacman:

sudo pacman -Syu emacs ripgrep

Fedora ใช้ dnf:

sudo dnf install emacs ripgrep

Void Linux ใช้ xbps:

sudo xbps-install emacs-gtk2 ripgrep

ในกรณีของผม ติดตั้งบนระบบ Void Linux

Doom Emacs คืออะไร และวิธีติดตั้ง

สำคัญคือ Emacs มีหลายรูปแบบ Package manager มักเลือกเวอร์ชันที่เหมาะสม แต่บางครั้งกระบวนการนี้ล้มเหลว

ควรระวังเวอร์ชันที่ติดตั้ง เราต้องการเวอร์ชันที่รันในสภาพแวดล้อมกราฟิก:

  • X11
  • GTK-2
  • GTK-3

หลังจากนั้น จึงดำเนินการติดตั้ง Git

ติดตั้ง Git

เพื่อติดตั้ง Doom Emacs ต้องดึง remote code repository จากอินเทอร์เน็ต ติดตั้ง Git เพื่อคัดลอกโค้ดและสำคัญกว่านั้นคือ อัปเดตระหว่าง major versions

คล้าย Emacs Git มีในทุก Linux distribution ติดตั้งบน Debian/Ubuntu ด้วย apt:

sudo apt install git

Arch Linux ใช้ pacman:

sudo pacman -Syu git

Fedora ใช้ dnf:

sudo dnf install git

Void Linux ใช้ xbps:

sudo xbps-install git

ในกรณีของผม ติดตั้ง Git บน Void Linux

Doom Emacs คืออะไร และวิธีติดตั้ง

ติดตั้ง Doom Emacs

ติดตั้ง Doom Emacs ต้องรันเพียงไม่กี่คำสั่ง:

git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d

คำสั่ง Git นี้ดึง repository Doom Emacs มาที่เครื่อง

  • clone หมายถึงคัดลอก repository ล่าสุดเมื่อรันคำสั่ง
  • depth ตัดประวัติ repository เหลือ 2 เวอร์ชันล่าสุด

คำสั่งนี้บันทึก repository ไว้ในไดเรกทอรี config เริ่มต้นของ Emacs ต้องแน่ใจว่าไดเรกทอรีนี้ไม่มีอยู่แล้วด้วยคำสั่ง:

rm -rf /home/$USER/.emacs.d/

จากนั้นเริ่มติดตั้งด้วยคำสั่ง:

/home/$USER/.emacs.d/bin/doom install
Doom Emacs คืออะไร และวิธีติดตั้ง Doom Emacs คืออะไร และวิธีติดตั้ง

คำสั่งนี้ติดตั้ง Doom Emacs ทับบนการติดตั้ง Emacs

Doom Emacs คืออะไร และวิธีติดตั้ง

การตั้งค่าหลังติดตั้ง

หลังจากนั้น มีอีกไม่กี่อย่างต้องทำเพื่อให้การติดตั้งไม่มีปัญหา

ก่อนอื่น ตั้งค่าตัวแปร PATH ให้ตรวจจับไดเรกทอรี "/home/$USER/.emacs.d/doom/bin/" โดยเพิ่มบรรทัดนี้ในไฟล์ "/home/$USER/.profile":

export PATH=$PATH:$HOME/.emacs.d/doom/bin

จะอัปเดตตัวแปร PATH รวมไดเรกทอรี bin ของ Doom หลังจากนั้น login ใหม่เพื่อโหลด environment variable ใหม่

Doom Emacs คืออะไร และวิธีติดตั้ง

ทดสอบว่า PATH ตรวจจับไดเรกทอรี "/home/$USER/.emacs.d/doom/bin" ได้ด้วยคำสั่ง:

doom doctor

คำสั่งนี้ตรวจสอบว่าการติดตั้งทำได้ถูกต้อง หากมีปัญหา doom doctor จะแจ้งให้รู้

Doom Utility: เพื่อนร่วมทางใน Doom Emacs

doom doctor เป็นเพียงหนึ่งในฟังก์ชันของ doom utility โปรแกรมหลักที่ให้เราแก้ไข อัปเดต และซ่อมแซม Doom Emacs

Doom Emacs คืออะไร และวิธีติดตั้ง

ฟังก์ชันทั่วไปที่ควรทราบ:

  • doom doctor ตรวจสอบความไม่สอดคล้องของการติดตั้งเริ่มต้น มีประโยชน์เมื่อเจอปัญหาขณะใช้ Doom Emacs จะเช็กไดเรกทอรีและ config ทั้งหมดหาข้อผิดพลาด
  • doom upgrade อัปเกรดการติดตั้งอย่างราบรื่น ตรวจสอบอัปเดตใน repository และซิงค์โค้ดกับเวอร์ชันล่าสุด รวมถึงจัดการ migration ระหว่างเวอร์ชัน โดย doom upgrade จะทำความสะอาด config ปัจจุบันและเตรียมอัปเกรด
  • doom purge จัดการแพ็กเกจและโมดูลเก่าที่ติดตั้งไว้ หากลบแพ็กเกจเยอะ จะลบ dependencies ที่ไม่ได้ใช้ ยังสามารถบีบอัด repository ที่มีอยู่ด้วยแฟล็ก -g
  • doom sync แก้ไข custom config เมื่อติดตั้ง Doom Emacs จะสร้างไฟล์ config ส่วนตัวภายใต้ "/home/$USER/.doom.d/" การรัน sync จะเปิดใช้งาน config ที่แก้ใน .emacs.d ให้ .doom.d

ตั้งค่า Doom Emacs

ไดเรกทอรี .doom.d เป็นที่เก็บ config ทั้งหมดของ Doom ประกอบด้วย 3 ไฟล์:

Doom Emacs คืออะไร และวิธีติดตั้ง
  • packages.el - บอกว่า ติดตั้งแพ็กเกจอะไร และจากที่ไหน
  • config.el - ไฟล์สำหรับ custom config ของเรา รวมถึง config ของ Doom และแพ็กเกจเพิ่มเติม
  • init.el - ส่วนสำคัญที่สุดของ Doom Emacs ที่นี่คือที่เปิด/ปิดฟีเจอร์ต่างๆ ของ distribution

Doom Modules

Doom Emacs ให้เลือกมากกว่า 150 โมดูล สามารถเปิดใช้งานได้โดยแค่เลือกที่ต้องการ ทำให้ปรับแต่ง Doom เป็นสภาพแวดล้อมคอมพิวติ้งของตัวเองได้

Doom Emacs คืออะไร และวิธีติดตั้ง

การเพิ่ม/ลบโมดูล คือการแก้ไขฟังก์ชัน doom! ในไฟล์ ".doom.d/init.el" ไวยากรณ์ทั่วไปประมาณนี้:

(doom! :checkers (syntax) :editor (evil) :lang (org +journal))

เพื่อเปิดโมดูล ต้องระบุหมวดหมู่ ในตัวอย่างนี้ เพื่อเพิ่มโมดูล syntax ต้องเพิ่มหมวดหมู่ checkers ก่อน

โมดูลเหล่านี้ยังมี flags ที่เปิดใช้งานได้สำหรับโมดูลเฉพาะ คล้าย USE flags ของ Gentoo ที่ปรับโปรแกรมให้ละเอียดโดยเปิดเฉพาะฟีเจอร์ที่ต้องการ

เพื่อเพิ่ม flag ให้โมดูล ใส่เครื่องหมาย "+" ตามด้วยชื่อ flag ในตัวอย่าง เพิ่ม flag journal ให้ org เพื่อเปิดใช้งาน journal support

Doom Emacs คืออะไร และวิธีติดตั้ง

เสร็จแล้ว รัน doom sync เพื่อโหลด Doom Emacs ใหม่กับการตั้งค่า

วิธีติดตั้งแพ็กเกจเพิ่มเติม

Doom Emacs มาพร้อมหลายแพ็กเกจตอนติดตั้ง แต่ติดตั้งซอฟต์แวร์เพิ่มจาก repository ได้ง่ายด้วยฟังก์ชัน package! ในไฟล์ ".doom.d/packages.el"

Doom Emacs คืออะไร และวิธีติดตั้ง

มีหลายวิธีติดตั้งแพ็กเกจใน Doom วิธีทั่วไปคือดึงจาก ELPA และ MELPA เพิ่มโค้ด Lisp นี้ใน packages.el:

(package! name-of-package)

จะบอกฟังก์ชัน package! เช็คทุก repository ทั่วไปสำหรับแพ็กเกจที่ระบุ

แต่ถ้าแพ็กเกจไม่มีใน repository ใดๆ สำหรับ Emacs สามารถติดตั้งจาก git repository โดยตรง:

(package! name-of-git-package :recipe (:host github :repo "username/package"))

จะบอก package! ดึงแพ็กเกจเฉพาะจาก github ภายใต้ repository "username/package"

สามารถระบุตำแหน่งเฉพาะใน remote repository ได้ เช่น ดึงแพ็กเกจจากที่เฉพาะใน repository:

(package! another-git-package :recipe (:host github :repo "username/package" :files ("package.el" "path/of/*.el")))

มีประโยชน์เมื่อติดตั้งจาก repository ที่มีหลายแพ็กเกจจัดใน subdirectories ระบุได้ว่าต้องการติดตั้งอะไรเป็นแพ็กเกจ

เสร็จแล้ว รัน doom sync เพื่อโหลด Doom Emacs ใหม่

ยินดีด้วย! ตอนนี้คุณมีการติดตั้ง Doom Emacs พื้นฐาน และเข้าใจวิธีทำงาน การตั้งค่า และการขยายฟังก์ชัน หากมองหาแอปพลิเคชันเพิ่มประสิทธิภาพใน Linux เรามีบทความสำหรับคุณ

คำถามที่พบบ่อย

1. ติดตั้ง Doom Emacs แล้ว แต่เปิดแล้วมีแค่หน้าจอว่าง

น่าจะเป็นเพราะปัญหาในไดเรกทอรี .doom.d ทำให้ Doom Emacs โหลดการตั้งค่าไม่ได้ วิธีแก้คือเช็คว่า .doom.d มีอยู่จริง และไฟล์ 3 ไฟล์ - init.el, packages.el, config.el - มีอยู่

อาจเกิดจาก init.el ที่สร้างขึ้นมีรูปแบบผิด หรือไม่มีฟังก์ชัน doom อยู่ภายใน ต้องสร้างบล็อกฟังก์ชัน doom พร้อมโมดูลที่ต้องการรันกับ Doom Emacs

2. ใช้ package.el จัดการแพ็กเกจ ใช้ได้ใน Doom Emacs ไหม?

ไม่ได้ Doom Emacs ใช้ package manager ตัวอื่น ต้องใช้ฟังก์ชัน package ของ Doom Emacs เพื่อติดตั้งซอฟต์แวร์เพิ่ม

3. ติดตั้งแพ็กเกจใน Doom Emacs แล้วไม่ต้องการแล้ว ถอนติดตั้งยังไง?

ถอนแพ็กเกจใน Doom Emacs ง่าย แค่รันโค้ด Lisp นี้ใน .doom.d/packages.el:

(package! some-package :disable t)

จากนั้นรัน doom sync โหลด Doom Emacs ใหม่ login ใหม่ แพ็กเกจนั้นจะถูกถอนติดตั้ง