productize.blog
Tools · Terminal

เปิดเว็บ กับแก้ markdown โดยไม่ต้อง ออกจากเทอร์มินัล

เบราว์เซอร์ในเทอร์มินัลไม่ได้แปลว่าหน้าเว็บกลายเป็นตัวอักษรอีกต่อไป ตอนนี้มันคือ Chromium จริงที่ยิงภาพเข้ามาในจอเดิม บทความนี้เทียบสามเครื่องมือที่เราใช้อยู่ และเส้นที่ใช้ตัดสินว่างานไหนเปิดด้วยอะไร

Yim· เขียนด้วยกันกับ Dobby (AI Oracle)/20 ส.ค. 2026

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

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

Productize ทดลองย้ายงาน 2 อย่างที่สลับบ่อยที่สุด คือการดูหน้าเว็บและการแก้ไฟล์ markdown เข้ามาอยู่ในเทอร์มินัลทั้งคู่ บทความนี้เล่าว่าเครื่องมือแต่ละตัวทำอะไรได้จริง ตัวไหนคุ้มติดตั้ง และเส้นที่เราใช้ตัดสินว่างานตรงหน้าควรเปิดด้วยอะไร

ช่วงที่ 1เส้นตัดสินมีข้อเดียว จะแก้ จะดู หรือจะเปิดเว็บ

คนส่วนใหญ่เข้าเรื่องนี้ด้วยคำถามว่าเครื่องมือไหนดีที่สุด แล้วจบด้วยการใช้ตัวเดียวกับงานทุกแบบ ซึ่งแปลว่าครึ่งหนึ่งของเวลาใช้ผิดตัว

คำถามที่ใช้ได้จริงกว่าคือ ตอนนี้อยากทำอะไรกับไฟล์หรือหน้านั้น คำตอบมีแค่ 3 แบบ และแต่ละแบบมีเครื่องมือของมันเอง

3 แบบนี้ไม่ได้แข่งกัน มันเป็นคนละงาน เครื่องมือที่เก่งเรื่องเข้าออกเร็วมักวาดภาพไม่ได้ และเครื่องมือที่วาดภาพได้ก็มักหนักเกินกว่าจะเปิดเพื่อแก้คำผิดคำเดียว

ช่วงที่ 2terminal browser คืออะไร และทำไมของใหม่ไม่เหมือนของเดิม

terminal browser คือเบราว์เซอร์ที่แสดงผลอยู่ในหน้าต่างเทอร์มินัล แต่คำนี้ครอบของ 2 อย่างที่ทำงานคนละแบบกันสิ้นเชิง และความต่างนี้คือสิ่งที่ทำให้คนผิดหวังเวลาลองครั้งแรก

แบบเดิม แปลงหน้าเว็บเป็นตัวอักษร

lynx กับ w3m อยู่มาหลายสิบปี วิธีทำงานคืออ่าน HTML แล้ววาดใหม่เป็นตัวอักษรล้วน เร็วมาก เบามาก และใช้ได้ทุกที่ที่มี shell

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

แบบใหม่ รัน Chromium จริงแล้วส่งภาพเข้ามา

ตัวที่เราใช้อยู่ชื่อ terminal-browser ของ zenbu-labs วิธีทำงานต่างออกไปคนละขั้ว มันรัน Chromium จริงแบบไม่มีหน้าต่างของตัวเอง แล้วส่งภาพที่เรนเดอร์เสร็จแล้วเข้าไปวาดในเทอร์มินัลผ่าน kitty graphics protocol ซึ่งเป็นข้อตกลงที่ให้ส่งภาพจริงเข้าจอเทอร์มินัลได้

ผลคือสิ่งที่เห็นในช่องเทอร์มินัลคือหน้าเว็บเดียวกับที่เบราว์เซอร์ปกติเห็น ครบทั้ง JavaScript ทั้ง CSS ทั้งฟอนต์ เพราะมันคือ Chromium ตัวจริงที่วาดออกมา ไม่ใช่การตีความ HTML ใหม่

ราคาของความสามารถนี้ไม่ถูก ตอนอ่านโค้ดเมื่อ 31 กรกฎาคม เราพบว่าต้องใช้ Electron เวอร์ชัน 43.1.1 ที่ zenbu-labs แก้เอง และจะไม่ยอมเริ่มทำงานเลยถ้าไม่มีความสามารถส่งภาพแบบใช้หน่วยความจำร่วมกัน ส่วนหน้าตาของตัวเบราว์เซอร์เองก็ไม่ได้ใช้ HTML เขียน แต่เขียนด้วย React ที่วาดลงเครื่องมือวาดภาพที่เขียนด้วย Rust อีกที

ข้อจำกัดที่ต้องรู้ก่อนลง มันรันได้เฉพาะ macOS บนชิป Apple และถ้าใช้ Ghostty เป็นเทอร์มินัลต้องเป็นรุ่น 1.3.0 ขึ้นไป

เทียบตรงๆlynx / w3mterminal-browser
หน้าที่ต้องรัน JavaScriptมักว่างเปล่าเห็นครบ
สิ่งที่เห็นตัวอักษรที่วาดใหม่ภาพจาก Chromium จริง
ติดตั้งคำสั่งเดียวต้องใช้ Electron รุ่นที่แก้เอง
เครื่องที่ใช้ได้แทบทุกที่ที่มี shellmacOS ชิป Apple เท่านั้น
แบ่งช่องให้เองไม่ใช่ สั่งได้ว่าจะแบ่งไปทางไหน

คำสั่งที่มีจริงมี 4 ตัว open เปิด ls ดูว่ามีตัวไหนรันอยู่ setup ตั้งค่าเทอร์มินัลให้รองรับ และ action สำหรับสั่งงานหน้าที่เปิดอยู่ สังเกตว่าไม่มีคำสั่งสำหรับปิด ซึ่งกลายเป็นเรื่องที่ต้องรู้จริงจัง และเราแยกไปเล่าไว้ช่วงสุดท้าย

terminal-browser open localhost:5173 --split right
terminal-browser ls

ช่วงที่ 3แก้ markdown ในเทอร์มินัลด้วย Helix

ฝั่งแก้ไฟล์ เราเลือก Helix ตอนต้นเดือนสิงหาคม หลังลองเทียบกับตัวอื่นแล้วตัดออกด้วยเงื่อนไขข้อเดียว คือมันต้องอยู่ในเทอร์มินัล ตัวที่เป็นหน้าต่างแยกจึงตกไปทั้งหมดตั้งแต่รอบแรก

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

ต่อกับ marksman ตัวช่วยด้านภาษาสำหรับ markdown แล้วจะเติมลิงก์และหัวข้อข้ามไฟล์ให้ ช่วยให้แก้เอกสารกองใหญ่ที่ลิงก์หากันไปมาแล้วไม่หลง

2 อย่างที่ต้องตั้งเอง ไม่งั้นเจ็บ

เปิด soft-wrap ถ้าเขียนภาษาไทย เพราะภาษาไทยไม่มีช่องว่างระหว่างคำ ถ้าไม่เปิดให้ตัดบรรทัดอัตโนมัติ ประโยคเดียวจะยาวหลุดขอบจอ แล้วต้องเลื่อนไปทางขวาเพื่ออ่านสิ่งที่ตัวเองเพิ่งพิมพ์

ปิดการจัดรูปแบบอัตโนมัติสำหรับ markdown ตัวจัดรูปแบบจะขึ้นบรรทัดใหม่ให้ทั้งไฟล์ตามกฎของมัน ผลคือแก้ไป 3 คำแต่ diff ขึ้นมา 200 บรรทัด แล้วรีวิวไม่ได้ว่าอะไรเปลี่ยนจริง

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

ช่วงที่ 4ตารางตัดสิน งานไหนเปิดด้วยอะไร

นี่คือตารางที่เราใช้จริง เรียงตามคำถามว่าอยากทำอะไร ไม่ใช่เรียงตามความสามารถของเครื่องมือ

อยากทำอะไรเปิดด้วยอยู่ตรงไหนออกยังไง
แก้ข้อความ แก้คำผิด เขียนต่อHelixช่องเดิม ไม่สลับแอปEsc แล้ว :q
ดูไดอะแกรม ตาราง สูตร ที่เรนเดอร์แล้วโปรแกรมแยกที่เรียกจากเทอร์มินัลได้หน้าต่างของตัวเองปิดหน้าต่าง
ดูหน้าเว็บที่เพิ่งรันขึ้นมาterminal-browserช่องข้างๆ บทสนทนาCtrl+C
อ่านหน้าเว็บที่เป็นข้อความล้วนlynx หรือ w3mช่องเดิมq

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

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

ช่วงที่ 5เรื่องที่ไม่มีใครเขียนไว้ ออกจากมันยังไง

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

  1. Helix กด Esc ก่อนเสมอ แล้วพิมพ์ :q ถ้าพิมพ์แล้วไม่ติด แปลว่ายังอยู่ในโหมดพิมพ์
  2. terminal-browser กด Ctrl+C มันผูกสัญญาณนี้ไว้กับการปิดตัวเอง เพราะไม่มีคำสั่งปิดให้พิมพ์
  3. ถ้ายังไม่ออก ปิดช่องนั้นทิ้งทั้งช่องด้วยคีย์ปิด pane ของโปรแกรมเทอร์มินัลที่ใช้อยู่

ทางสุดท้ายคือสั่งปิดโปรเซสจากอีกหน้าต่าง ซึ่งได้ผลแน่นอนแต่งานที่ยังไม่บันทึกจะหาย เก็บไว้เป็นทางเลือกท้ายสุดจริงๆ

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

ช่วงที่ 6เอาไปใช้กับงานของคุณ

ถ้าจะลองสักอย่างเดียว เริ่มที่ฝั่งที่สลับบ่อยกว่า

  1. ถ้าสลับไปแก้ไฟล์บ่อย ลง Helix ก่อน มันใช้ได้ทันทีโดยไม่ต้องตั้งค่า ถ้าเขียนภาษาไทยให้เปิด soft-wrap เป็นอย่างแรก แล้วค่อยต่อ marksman ทีหลัง
  2. ถ้าสลับไปดูหน้าเว็บบ่อย ลองของแบบข้อความล้วนก่อน มันฟรีและติดตั้งง่าย ถ้าพบว่าหน้าที่ต้องดูโผล่มาว่างเปล่าเป็นประจำ นั่นคือสัญญาณว่าถึงเวลาของแบบที่รันเบราว์เซอร์จริง
  3. ทุกครั้งที่ลงของใหม่ จดวิธีออกไว้ทันที ในที่เดียวกับที่จดวิธีเปิด ตอนติดอยู่ข้างในคือตอนที่ค้นหาไม่ได้

หลักที่ใช้ซ้ำได้กว้างกว่าเรื่องเทอร์มินัลคือ อย่าถามว่าเครื่องมือไหนดีที่สุด ให้ถามว่าตอนนี้อยากทำอะไร แล้วเลือกตัวที่ตรงกับคำตอบนั้น การมี 3 ตัวที่ชัดเจนว่าใครทำอะไรนั้นเบากว่าการมีตัวเดียวที่ต้องฝืนใช้กับทุกงาน

ที่มาและอ้างอิง

ซีรีส์เดียวกัน: Ghostty กับ iTerm2 ใช้จริงทั้งคู่ เหลือตัวเดียว · ตั้ง Ghostty กับ Zsh โดยไม่ใช้ตัวติดตั้งคำสั่งเดียว · Raycast ทำอะไรได้จริงบ้าง

ติดตาม

รับบทความใหม่และของฟรีก่อนใคร

ทิ้งอีเมลไว้ บทความใหม่และของฟรีเป็นครั้งคราวจะส่งไปให้ ไม่สแปม

ใช้อีเมลเพื่อส่งอัปเดตเท่านั้น

ความคิดเห็น

ร่วมพูดคุย

แบ่งปันความคิดเห็นได้เลย

ชื่อจะแสดงต่อสาธารณะ อีเมลเก็บเป็นความลับ ไม่แสดงที่ไหน

กำลังโหลดความคิดเห็น…