วิธีใช้ Lisp ใน Emacs

Withi Chi Lisp Ni Emacs



ด้วย Emacs คุณสามารถใช้ภาษาการเขียนโปรแกรม Lisp เพื่อขยายฟังก์ชันการทำงานต่างๆ และปรับแต่งแง่มุมต่างๆ ของ Emacs ได้ ภาษาการเขียนโปรแกรม Emacs Lisp มีการอ้างอิงถึง Elisp และการใช้งานกับ Emacs นั้นไม่ซับซ้อนเท่ากับภาษาการเขียนโปรแกรมอื่นๆ อย่างไรก็ตาม คุณต้องเรียนรู้พื้นฐานบางประการเพื่อใช้ Lisp ใน Emacs อย่างสะดวกสบาย

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

วิธีการเข้าถึง Elisp

ก่อนที่เราจะกล่าวถึงวิธีต่างๆ ในการใช้ Lisp ขั้นตอนแรกคือการเข้าถึงสภาพแวดล้อม Lisp บน Emacs เริ่มต้นด้วยการเปิดเทอร์มินัล Emacs ของคุณ







ในหน้าต่าง Emacs ให้กด 'M-x' จากนั้นพิมพ์ “ielm” สภาพแวดล้อม Lisp จะเปิดขึ้นเมื่อคุณกดปุ่ม 'Enter' “ M-x” หมายความว่าคุณต้องกดปุ่ม “Alt” ด้วย “x”





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





ตัวอย่างเกี่ยวกับวิธีการใช้ Lisp ใน Emacs

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



ตัวอย่างที่ 1: การแสดงออกเสียงกระเพื่อมพื้นฐาน
ด้วย Lisp เราใช้นิพจน์ที่มีคำสั่งที่กำหนดวิธีที่เราสร้างนิพจน์ ตัวอย่างเช่น ตัวอย่างต่อไปนี้แสดงวิธีที่คุณสามารถใช้นิพจน์ทางคณิตศาสตร์ใน Lisp นิพจน์จะล้อมรอบด้วย “()” และสัญลักษณ์ทางคณิตศาสตร์จะอยู่หน้าตัวเลข เมื่อคุณสร้างนิพจน์แล้ว การกดปุ่ม 'Enter' จะให้ผลลัพธ์ที่ต้องการ

ตัวอย่างที่ 2: การทำงานกับฟังก์ชัน
ฟังก์ชั่นช่วยในการรันโค้ดหลายครั้งโดยไม่ต้องเขียนโค้ดซ้ำทุกครั้งที่คุณต้องการใช้ แม้แต่ Elisp ก็สามารถสร้างฟังก์ชันสำหรับงานต่างๆ ได้ คำจำกัดความของฟังก์ชันจะแตกต่างกัน แต่วิธีที่เราเรียกมันยังคงเหมือนกับในภาษาโปรแกรมอื่นๆ

หากต้องการกำหนดฟังก์ชัน Lisp ให้ใช้คีย์เวิร์ด 'defun' และปิดฟังก์ชันด้วย '()' ต่อไปนี้เป็นตัวอย่างของฟังก์ชันที่รับตัวเลขเป็นอาร์กิวเมนต์ ยกกำลังสอง และส่งกลับผลลัพธ์:

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

เมื่อคุณสร้างฟังก์ชันโต้ตอบแล้ว ให้กด 'M-x' และป้อนชื่อฟังก์ชันที่คุณต้องการโทร การกดปุ่ม 'Enter' จะแสดงพรอมต์ที่คุณโต้ตอบและป้อนข้อมูล

สุดท้ายนี้ การกดปุ่ม “Enter” หลังจากเพิ่มอินพุตในพรอมต์จะแสดงผลลัพธ์ที่คาดหวังตามข้อความที่คุณกำหนดไว้ในฟังก์ชันของคุณ

ตัวอย่างที่ 3: การปรับแต่ง Emacs
เมื่อคุณต้องการปรับแต่ง Emacs คุณต้องเข้าถึงไฟล์ init และเขียนโค้ด Lisp สำหรับตัวเลือกการปรับแต่งที่คุณต้องการใช้ หากต้องการเข้าถึงไฟล์ init ให้กด 'M-x' และพิมพ์ '.emacs'

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

คุณสามารถปรับแต่ง Emacs ของคุณได้โดยการเขียนโค้ด Lisp ลงในไฟล์ init นี้

ตัวอย่างที่ 4: การแทรกข้อความลงในบัฟเฟอร์
วิธีที่สนุกในการเล่นกับ Emacs คือการแทรกข้อความลงในบัฟเฟอร์ที่ใช้งานอยู่ ในกรณีนั้น เราใช้ Lisp เพื่อเพิ่มคำสั่ง insert ตามด้วยข้อความที่ต้องการ เมื่อเพิ่มแล้ว นิพจน์จะแสดงข้อความที่ตำแหน่งเคอร์เซอร์

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

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

บทสรุป

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