1 คะแนน โดย GN⁺ 21 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 นั้นกว้างมาก
    • สามารถทำพรีเซนเทชันได้
    • ใช้สำหรับ การเขียนโปรแกรมเชิงวรรณกรรม ที่ชวนให้นึกถึง 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 อย่างเลี่ยงไม่ได้หรือเปล่า

    • ไม่ถึงกับต้องเจอเสมอไป ถ้าไม่ได้อ่านเมลลิงลิสต์หรือจงใจไปตามหา ปกติฉันดู /r/emacs เป็นหลัก และเมื่อก่อนก็ใช้ฟังก์ชันสำรวจของ GitHub ซึ่งที่นั่นไม่ค่อยเห็น rms
      ช่วงนี้แท็ก emacs บน Lobsters ก็เป็นที่ที่ใช้ได้เหมือนกัน
    • ถ้าแค่ตามข่าวเฉย ๆ ก็น่าจะไม่ค่อยเจอ แต่ถ้าคุณมีส่วนร่วมส่งแพ็กเกจ ก็อาจเจอได้ สำหรับฉันเจอที่นี่: https://lists.gnu.org/archive/html/emacs-devel/2023-05/msg00295.html
      เธรดทั้งหมดอยู่ที่นี่: https://lists.gnu.org/archive/html/…
    • อย่างน้อยใน reddit หรือ mastodon ฉันยังไม่เคยเห็น rms แต่ในลิสต์ emacs-devel จะเห็นโพสต์ที่เขาเขียนเป็นครั้งคราว
  • เคยมีอยู่สัปดาห์หนึ่งที่ใช้ชีวิตโดยไม่มีอินเทอร์เน็ต และตอนนั้นฉันก็เริ่มเรียนรู้ Emacs การได้นั่งอ่านคู่มือและลองโน่นลองนี่มันให้ความรู้สึกเหมือนมีเวทมนตร์อยู่พอตัว