ขอแนะนำให้คุณมอง Emacs เป็นป้อมปราการแห่งความสันโดษของคุณ
(martinsos.com)- Emacs อาจเป็นได้มากกว่าแค่เอดิเตอร์หรือ IDE แต่เป็นโฮมเบสทางดิจิทัลที่เปิดขึ้นมาอย่างสงบ ไม่มีการแจ้งเตือน และรวบรวมตารางเวลา งาน และบันทึกไว้ในที่เดียว
- ใน daily agenda สามารถดูทั้งกำหนดการจาก Google Calendar งานของวันนี้ งานที่ยังไม่เสร็จ บันทึก และ GTD inbox พร้อมกันได้ และทำงานต่อผ่านหน้าของแต่ละรายการกับการติดตามเวลา
- งานที่ซับซ้อนสามารถคลี่ออกในหน้างาน โดยจัดระเบียบข้อกำหนด ลิงก์ การระดมความคิด TODO และการประเมิน พร้อมใช้ แชต LLM, เทอร์มินัล, magit และตัวจัดการไฟล์ภายในโฟลว์เดียวกัน
- การมอง Emacs เป็นที่พักพิงส่วนตัวแบบ Fortress of Solitude อาจเป็นธรรมชาติกว่าการเรียกว่า “ระบบปฏิบัติการ” และความยั่งยืนตลอด 50 ปีรวมถึงความขยายต่อได้ก็ช่วยสร้างความรู้สึกของการเป็นโฮมเบส
- Org mode ทำงานคล้ายแพลตฟอร์มที่กว้างกว่า Markdown ทางเลือก โดยเชื่อมต่อได้ตั้งแต่บล็อก การตั้งค่า ระบบเพิ่มประสิทธิภาพ โน้ต แชต AI ไปจนถึงการเขียนโปรแกรมเชิงวรรณกรรม
ใช้ Emacs เป็นโฮมเบสทางดิจิทัล
- Emacs สามารถกลายเป็น โฮมเบสทางดิจิทัล ที่เปิดเป็นอย่างแรกเมื่อเปิดคอมพิวเตอร์
- หน้าจอว่างสีม่วงเข้มพร้อมข้อความสร้างแรงบันดาลใจแบบสุ่มจะปรากฏขึ้น
- ไม่มีการแจ้งเตือนที่ต้องรีบตอบหรือสิ่งดึงความสนใจ ทำให้เป็นพื้นที่ทำงานที่คุ้นเคยและสงบ
- scratch buffer ที่เปิดมาโดยค่าเริ่มต้น ไม่ได้เป็นเพียงเอกสารว่างสำหรับสร้างเอกสารใหม่ แต่ใกล้เคียงกับผืนผ้าใบอิสระที่ผู้ใช้เป็นคนมอบความหมายให้เอง
- วิธีใช้งานแบบนี้ต่างจากภาพจำของ “ผู้ใช้ Emacs สายฮาร์ดคอร์”
- ไม่ได้เขียน C มานานแล้ว และช่วงหลังใช้ TypeScript เป็นหลักกับ Haskell บางส่วน
- ในฐานะ founder/CTO ของสตาร์ตอัป ใช้เวลากับการจ้างงาน การจัดการ รีวิว อีเมล การตลาด และการวางกลยุทธ์ มากกว่าการเขียนโค้ด
- ใช้อีเมลและท่องเว็บใน Chrome และยังใช้ Notion, G Suite, Discord และ LLM ด้วย ส่วน IRC ก็ไม่เคยชินสักที
จัดการตารางเวลา งาน และบันทึกในที่เดียว
- หลังเปิด Emacs แล้ว สามารถเปิด daily agenda ได้ทันทีด้วย
<space> o d- จะแสดงเช็กลิสต์ประจำวัน
- แสดงอีเวนต์ของวันนี้ที่ซิงก์กับ Google Calendar
- แสดงทั้งงานที่วางแผนไว้สำหรับวันนี้และงานจากวันก่อนที่ยังทำไม่เสร็จ
- รวมทั้งบันทึกทั่วไปและ inbox งานแบบ GTD
- เมื่อกด
eบนงานหรืออีเวนต์ จะเปิด หน้า ของรายการนั้น- สามารถจดบันทึกและทำงานต่อในหน้านั้นได้
- สามารถ “clock in” ให้กับงานที่กำลังทำอยู่เพื่อบันทึกเวลาการทำงาน
- การติดตามเวลาช่วยให้มีสมาธิได้ดี และยังนำไปทำรายงานเวลาในภายหลังได้
- เมื่อเลิกงาน จะเขียน journal ด้วย
<space> o c w j- ใช้โดยเขียนประโยคสั้น ๆ สองสามประโยคเพื่อทบทวนวันทำงาน
สภาพแวดล้อมสำหรับคลี่งานที่ซับซ้อน
- งานที่ซับซ้อนมักเริ่มจากการเปิดหน้างานใน Emacs แล้วจัดระเบียบสิ่งต่าง ๆ
- ใช้กับงานอย่างการเขียนโค้ด กลยุทธ์การจ้างงาน การปรับแก้คอนเทนต์หน้าแลนดิ้งเพจ การวางแผนสปรินต์ถัดไป หรือการเขียนอีเมลยาว ๆ และข้อความใน Discord
- เขียนสิ่งที่รู้อยู่แล้ว กำหนดข้อกำหนด และรวบรวมลิงก์ของข้อมูลที่เกี่ยวข้อง
- ระดมความคิด สร้างงานย่อย กำหนดสถานะ TODO และประเมินเวลาได้ในที่เดียว
- ภายใน Emacs เครื่องมือหลายอย่างเชื่อมต่อกันอยู่ในโฟลว์เดียวกัน
<space> i cจะเปิด แชตกับโมเดล LLM ที่เลือกไว้ โดยเข้าถึงบัฟเฟอร์ที่เปิดอยู่และเครื่องมือที่ผู้ใช้กำหนดเองได้<space> 'จะเปิดเทอร์มินัล และจากเทอร์มินัลก็สามารถรันเครื่องมืออย่าง Claude Code หรือ OpenCode ได้<space> d dเปิดตัวจัดการไฟล์ และ<space> g gเปิด magit ซึ่งเป็นอินเทอร์เฟซ Emacs สำหรับงาน Git ตามบริบทของโปรเจกต์หรือบัฟเฟอร์ปัจจุบัน<space> a wจะเปลี่ยนไปเป็นสภาวะใกล้เคียง Zen mode โดยเหลือเพียงหน้าต่างเดียวและจัดข้อความไว้กลางจอ เพื่อให้โฟกัสกับการเขียนได้
- การย้ายตำแหน่ง แก้ไขข้อความ ค้นหา และจัดการหน้าต่าง ล้วนต่อเนื่องอยู่ภายใต้คีย์ไบน์ดิงและระบบคำสั่งเดียวกัน ทำให้หลายเวิร์กโฟลว์เชื่อมกันอย่างลื่นไหลในสภาพแวดล้อมแบบรวมศูนย์
“ป้อมปราการแห่งความสันโดษ” มากกว่า “ระบบปฏิบัติการ”
- ถ้าเรียก Emacs ว่า “ระบบปฏิบัติการ” อาจทำให้มันดูเป็นเครื่องมือที่ซับซ้อนเกินไปและไม่จำเป็น
- ในเมื่อ Emacs ก็รันอยู่บนระบบปฏิบัติการอีกทีอยู่แล้ว ก็อาจสงสัยว่าทำไมต้องมีระบบปฏิบัติการอีกชั้น
- แม้แต่คำว่า “สภาพแวดล้อมการคอมพิวต์” ก็อาจยังจับต้องได้ยากสำหรับผู้ใช้ใหม่ ถ้ายังไม่เคยใช้งาน Emacs อย่างลึกซึ้ง
- Emacs สามารถมองได้เหมือน Fortress of Solitude ของ Superman
- เป็นอุปมาที่เหมาะในฐานะสถานที่สำหรับฟื้นตัว เยียวยา รวบรวมความคิด และวางแผนการกระทำถัดไป
- เป็นทั้งพื้นที่ส่วนตัวและที่พักพิง ซึ่งอุปกรณ์ ของที่ระลึก และห้องทดลองทั้งหมดถูกจัดวางให้เหมาะกับตัวเอง คล้ายกับ Emacs มาก
- เหตุผลที่ Emacs ทำหน้าที่เหมือนโฮมเบสได้ อยู่ที่ความยืดหยุ่นและความต่อเนื่องยาวนาน
- มันยืดหยุ่นและขยายต่อได้มาก จนทำให้กลายเป็นพื้นที่ที่เป็นส่วนตัวและมีเอกลักษณ์ได้
- เป็นเทคโนโลยีอิสระที่คงอยู่มายาวนานกว่า 50 ปี และไม่ถูกกำหนดมากนักด้วยกระแสหรืออำนาจของบริษัทเดียว
- มอบพื้นที่สำหรับรวบรวมความคิด วางแผน เขียน สร้างฐานความรู้ และสร้างสรรค์งาน
- ผู้ใช้สามารถสร้างเครื่องมือและเวิร์กโฟลว์ที่เหมาะกับตัวเองได้โดยตรง
- แก่นสำคัญคือผู้ใช้เป็นคนกำหนดรูปร่างและความหมายให้มันเอง
- อิสระที่จะทำในแบบที่ต้องการ และความคาดหวังว่ามันจะไม่หายไป คือสิ่งที่สร้างความรู้สึกของการเป็นโฮมเบส
- เมื่อมีแรงบันดาลใจ ก็เขียนหรือโค้ดใน Emacs และเมื่อหลงทางหรือรู้สึกท่วมท้น ก็กลับมาจัดระเบียบและวางแผนใหม่ใน Emacs
- ปรับแต่งการตั้งค่า Emacs เป็นงานสนุกที่ช่วยพักผ่อน และบันทึกการทบทวนไว้ใน journal เพื่อนำกลับมาดูอีกในภายหลัง
จุดเปลี่ยนของมุมมอง
- ตอนเริ่มใช้ Emacs ครั้งแรก มันถูกมองว่าเป็นทั้งเอดิเตอร์โค้ดที่เท่และเป็นความท้าทายอย่างหนึ่ง
- เริ่มใช้ตั้งแต่สมัยมหาวิทยาลัย และให้ความรู้สึกเหมือนเป็นการเลือกคนละทางกับพี่น้องที่เลือก Vim
- ช่วงหลายปีหลังจากนั้น ใช้มันเป็นหลักในฐานะเอดิเตอร์โค้ด และยังไม่ตระหนักถึงความเป็นไปได้ที่มากกว่านั้น
- จุดเริ่มที่ทำให้เริ่มใช้ Emacs ในมุมกว้างขึ้น คือ การเขียนโค้ดที่ลดลงและงานบริหารที่เพิ่มขึ้น
- เมื่อเขียนโค้ดน้อยลงและมีงานบริหารมากขึ้น ก็เริ่มมองหาประสบการณ์แบบคีย์บอร์ดเป็นศูนย์กลางที่ลื่นไหลแม้กับงานที่ไม่ใช่การเขียนโค้ด
- ระหว่างทางนั้นก็ได้เรียนรู้ Emacs และ Org mode มากขึ้น และมีส่วนร่วมกับชุมชนมากขึ้น
- จึงเริ่มมองเห็นศักยภาพของ Emacs ได้กว้างกว่าเดิม
Org mode
- Org mode เป็นหนึ่งใน major mode ที่โดดเด่นที่สุดของ Emacs และควรค่าแก่การศึกษาอย่างจริงจังหากอยากลองใช้ Emacs เป็นโฮมเบส
- ตอนแรกมันอาจดูเหมือน Markdown ทางเลือกที่มีความสามารถเพิ่มขึ้นเล็กน้อย
- แต่ในความเป็นจริง มันใกล้เคียงกับ แพลตฟอร์ม ที่ชุมชน Emacs ค่อย ๆ หล่อหลอมร่วมกัน และเมื่อรวมกับความสามารถในการขยายของ Emacs ก็กลายเป็นฐานสำหรับสร้างเวิร์กโฟลว์และเครื่องมือที่หลากหลาย
- Org mode ถูกใช้เป็นฐานทั้งสำหรับการเขียนและการตั้งค่า
- บทความบล็อกนี้เขียนด้วย Org mode
- บล็อกทั้งหมดสร้างด้วย Emacs Lisp และขับเคลื่อนด้วย Org mode
- การตั้งค่า Emacs ทั้งหมดก็เขียนด้วย Org mode เช่นกัน
- ขอบเขตของสิ่งที่ทำได้ด้วย Org mode นั้นกว้างมาก
- สามารถทำพรีเซนเทชันได้
- ใช้สำหรับ การเขียนโปรแกรมเชิงวรรณกรรม ที่ชวนให้นึกถึง Jupyter Notebook ได้
- ใช้เป็น ระบบเพิ่มประสิทธิภาพแบบคล้าย GTD ได้
- เชื่อมต่อกับระบบโน้ตอย่าง org-roam และ denote ได้
- ใช้เป็นอินเทอร์เฟซแชต AI ผ่าน gptel ได้
- ยังประยุกต์ใช้เป็นระบบสเปรดชีตและฐานข้อมูลแบบ Notion ได้ด้วย
Emacs ในยุค AI
- แม้จะมีคนพูดกันว่าเพราะ AI แบบเอเจนต์ เอดิเตอร์กำลังกลายเป็นของเก่าและมีแค่ CLI ก็พอ แต่บทบาทของ Emacs ไม่ได้จำกัดอยู่แค่ความเป็นเอดิเตอร์
- Emacs ไม่ได้ถูกใช้เป็นเพียงเอดิเตอร์ แต่เป็นทั้งโฮมเบสและศูนย์บัญชาการ
- การมาถึงของ generative AI กลับยิ่งทำให้อยากใช้ Emacs มากขึ้น
- ท่ามกลางแรงกดดันที่ว่าถ้าไม่ตามเทคโนโลยีที่เปลี่ยนเร็วและเครื่องมือล่าสุดให้ทัน ก็จะถูกทิ้งไว้ข้างหลัง มันให้ความรู้สึกเหมือนเป็น ฐานที่มั่นคง
- เป็นสถานที่ที่ได้ยินความคิดของตัวเอง และรู้สึกว่าสิ่งที่มีอยู่ตอนนี้ก็เพียงพอแล้ว
- AI ยังช่วยให้การตั้งค่า Emacs ให้เป็นแบบที่ต้องการทำได้ง่ายขึ้นด้วย
1 ความคิดเห็น
ความเห็นจาก Lobste.rs
เรียกว่าเป็น “ผู้ใช้ Emacs สายเพี้ยนตามแบบฉบับ” นี่เหมารวมเกินไปมาก ฉันยังไม่มีแม้แต่ห้องใต้ดินเลย
อยากให้คำพูดสุดท้ายก่อนตายคือ C-x C-c
M-x close-coffin-and-buryตอนเปิดคอมพิวเตอร์ ไม่ใช่ว่าฉันเปิด Emacs เป็นอย่างแรก แต่ต้องเปิด Emacs ก่อนถึงจะนับได้ว่าคอมพิวเตอร์เปิดแล้ว
ช่วงนี้ถ้าจะตามชุมชน Emacs ต้องมีโอกาสเจอ rms อย่างเลี่ยงไม่ได้หรือเปล่า
ช่วงนี้แท็ก emacs บน Lobsters ก็เป็นที่ที่ใช้ได้เหมือนกัน
เธรดทั้งหมดอยู่ที่นี่: https://lists.gnu.org/archive/html/…
เคยมีอยู่สัปดาห์หนึ่งที่ใช้ชีวิตโดยไม่มีอินเทอร์เน็ต และตอนนั้นฉันก็เริ่มเรียนรู้ Emacs การได้นั่งอ่านคู่มือและลองโน่นลองนี่มันให้ความรู้สึกเหมือนมีเวทมนตร์อยู่พอตัว