เหตุผลง่ายมากครับ
- ในเกาหลี "สหาย" ทั้งหลายต่างก็เคลื่อนไหวกันอยู่แบบเงียบ ๆ เลยเจอตัวยากมาก
- ยังไงก็สนิทกับ ELisp ไม่ได้จริง ๆ
- ได้ยินมาว่าอาจารย์สมัยปริญญาตรีที่เผยแพร่ Emacs ให้ผม ช่วงนี้ใช้ vscode แล้ว..
gccemacsเคยเป็นแสงสว่างเส้นหนึ่ง แต่ดูเหมือนว่านอกจากบน Linux ก็ไม่ได้เร็วขึ้นเป็นพิเศษ- พอ
neovimฝังluaมา ก็ไม่ต้องใช้vimscriptห่วย ๆ แล้ว luaเป็นภาษาเพื่อการพัฒนาที่ดีกว่าที่คิดไว้
สิ่งที่น่าเสียดายที่สุดหลังจากเปลี่ยนสายมาเป็น vimmer
- ใน
neovimไม่มีปลั๊กอินที่พอจะมาแทนชุดmagit+forgeของ emacs ได้ neovimไม่มีอะไรแบบtrampของ emacs
สิ่งที่รู้สึกว่าดีหลังจากเปลี่ยนมาใช้ neovim
- ใช้หน่วยความจำน้อยกว่า emacs
- เวลา bootup เร็วกว่า
- ชุมชนใหญ่กว่า มีข้อมูลให้อ่านเยอะกว่า
ใครใช้ vim อยู่ ลองมาเล่าว่าสิ่งไหนที่รู้สึกเสียดายกันบ้าง~~
36 ความคิดเห็น
ถ้าใช้ doomemacs ทุกปัญหาก็จะได้รับการแก้ไขครับ
งานอดิเรกของผมคือทำปลั๊กอิน neovim ครับ ชอบ neovim มาก!
ช่วงหลังมานี้ข้อมือเริ่มเจ็บนิดหน่อย เลยย้ายจาก vscode ไปใช้ neovim เพื่อลดการใช้เมาส์
ก่อนหน้านี้ผมใช้ vim แค่เป็นครั้งคราวตอนแก้ไฟล์คอนฟิก เลยเหมือนต้องเริ่มเรียนรู้ใหม่ทั้งหมดเลยครับ 555
ยิ่งค่อย ๆ เรียนรู้คีย์ลัดแต่ละชุดไปทีละอย่าง ก็ยิ่งสนุกดีครับ
ผมเองก็ไม่มั่นใจว่าจะค่อย ๆ ตั้งค่าทุกอย่างเองได้ แถมงานก็ยุ่งจนไม่ค่อยมีเวลา
เลยเริ่มจาก ide layer ที่ชื่อว่า lunarvim แต่สุดท้ายก็ได้มาเขียนสิ่งที่ต้องใช้ทีละอย่างอยู่ดี ยังไงก็ตามจนถึงตอนนี้ก็ถือว่าพอใจมากครับ ยินดีที่ได้เจอทุกคนที่นี่นะครับ 555
ผมเป็นผู้ใช้ vim แต่ยังไม่ได้รู้สึกว่าจำเป็นต้องใช้ neovim เลย! มีข้อดีพิเศษอะไรบ้างไหมครับ?
ถ้าใช้ neovim จะสามารถพัฒนาปลั๊กอินหรือกำหนดค่า config ด้วย vim script หรือ lua ได้หรือเปล่าครับ?
อย่างแรกคือมันใช้ Lua ได้ และยังมีการบำรุงรักษาอย่างต่อเนื่อง อีกทั้งยังมีข้อดีหลายอย่าง เช่น การปรับแต่งประสิทธิภาพที่ทำได้ดีกว่ามาก
ผมกลับกันเลย กำลังจะเลิกใช้ Vim ที่ใช้มา 10 ปี แล้วไปใช้ Emacs แทน - ยอนโอ
พอลองใช้ Emacs ดู
ก็มีหลายจุดที่ไม่สะดวกเพราะไม่มีโหมดนำทาง/ป้อนข้อมูลแบบ Vim
แต่ก็สบายตรงที่ไม่มีปัญหาต้องสลับโหมดพร้อมกับสลับภาษาเกาหลี/อังกฤษไปด้วย
ใน Emacs ก็มีปลั๊กอินคีย์ไบน์ดิ้งแบบ Vim ชื่อว่า evil อยู่เหมือนกัน
บางครั้งก็มีคิดเหมือนกันว่าจะกลับไปใช้ emacs ดีไหม แต่สุดท้ายก็ดูเหมือนว่าจะไม่มีอะไรเทียบ vim ได้เลย
ผมน่าจะเป็นหนึ่งในผู้ใช้ชาวเกาหลีไม่กี่คนเหมือนกัน ฮ่าๆ
ในเกาหลีหาแทบยากมากที่จะเจอคนที่ใช้อยู่
พอเคยไปดู implementation ของฟังก์ชัน
mainของ vim กับ neovim ครั้งหนึ่งเมื่อก่อนแล้ว... (..)vim : https://github.com/vim/vim/blob/master/src/main.c#L85-L434
neovim : https://github.com/neovim/neovim/blob/master/src/nvim/main.c#L206-L577
ก็ย้ายไป neovim ทันทีเลยครับ
แถมยังใช้ copilot ไปพร้อมกันได้ด้วย
https://github.com/github/copilot.vim
พอฟังดูแล้ว เหมือนว่าไม่ใช่แค่ใน vim แต่ถ้ามองรวมทั้งบรรดาเอดิเตอร์สำหรับพัฒนาแล้ว ก็แทบไม่มีอะไรที่เทียบกับ magit ได้เลยนะครับ
ช่วงนี้ผมใช้แค่ gitui อยู่ครับ
ถ้าใช้กับ forge... จะเข้าใจจริงๆ ว่าทำไมถึงบอกว่าใช้ Emacs แล้วมันดีแบบนี้..
และยังได้โบนัสคือความกลัวต่อการทำงานกับ git ก็หายวับไป ทั้งตอนจัดการ branch ที่ซับซ้อน แก้ประวัติ commit, rebase และแก้ merge conflict
ผมใช้ lazygit ครับ.. ถ้าชอบ TUI ก็ลองดูสักครั้งนะครับ
พอใช้ vim ไปเรื่อย ๆ ก็จะค่อย ๆ ติดตั้งปลั๊กอินนู่นนี่เพิ่มเข้าไป แต่เพราะใช้มานานจนคุ้นกับ vim แล้ว ก็เลยดูเหมือนไม่มีอะไรให้น่าเสียดายเป็นพิเศษ ถ้าจะมีก็คือเพราะใช้งานร่วมกับ vscode ก็เลย..
โอ้ ดูเหมือนว่าจะไม่ต้องใช้ vimscript ห่วย ๆ แบบนั้นแล้วสินะ! งั้นจากนี้คงได้ลองใช้ vim ดูสักหน่อย...
ผมก็เคยใช้ vim < 8.0? มาก่อน แล้วตอนนี้ใช้ neovim อยู่ครับ
พอใช้ coc.nvim ก็เลยย้ายมา neovim และระหว่างใช้ coc.nvim ความเครียดจากการเซ็ตอัปสภาพแวดล้อมพัฒนาก็ลดลงไปมากครับ
แต่จุดที่น่าเสียดายน่าจะเกิดขึ้นในท้ายที่สุดเมื่อปลั๊กอินที่ติดตั้งมีเยอะขึ้นครับ
escมันยิ่งช้าลงเรื่อย ๆ แต่ถึงจะโปรไฟล์ดูก็ไม่รู้ว่าเกิดจากอะไร.csvกลับกลายเป็นว่า vscode เร็วกว่าด้วยซ้ำ..พอมีจุดที่น่าเสียดายแบบนี้ขึ้นมา ก็เลยเริ่มสนใจ emacs มากขึ้นเรื่อย ๆ เหมือนกันครับ
neovimรองรับ lsp แบบ native ครับ ลองใช้แพ็กเกจvim-lspดูสิ.. เป็นโลกใหม่เลย..มาตอบช้าไปหน่อยครับ ผมใช้งาน vim-lsp ได้ดีมากจริง ๆ :D
แม้ว่าการจัดการตั้งค่าเซิร์ฟเวอร์จะดีกว่าใน coc.nvim 555
ผมใช้ vim 8.2 แบบดั้งเดิมอยู่ แต่เวลาใช้ vim + tmux ก็รู้สึกถึงข้อจำกัดที่เลี่ยงไม่ได้เมื่อ (1) ต้องสลับภาษาเกาหลี/อังกฤษบ่อย ๆ (2) ตอนเขียนโปรแกรม Java แล้วรู้สึกหงุดหงิด
ใช้ LSP แล้วก็ยังเป็นแบบนั้นเหรอ ??
ใช้งาน Emacs มา 20 ปีแล้ว แต่เปลี่ยนมาเป็นชาว Vimmer ครับ
ใช่ครับ อาจเป็นเพราะผมยังไม่เคยไปถึงขั้นสุดของ
vim + Javaก็ได้แต่พอเพื่อนร่วมทีมแนะนำ IntelliJ IDEA แล้วได้ลองใช้ด้วยกัน ก็รู้สึกว่า IDE จัดการให้หมดทั้งการแยกฟังก์ชัน การรีแฟกเตอร์ และการสร้างโครงสร้างโฟลเดอร์ ซึ่งเป็นสิ่งที่ถึงจะเพิ่ม lsp ให้ vim แล้วก็ยังทำได้ไม่ง่าย เลยทำให้คิดว่า vim อาจมีข้อจำกัดอยู่เหมือนกันครับ ฮ่าๆ
แนะนำ
fzf + fzf.vimครับดีมากเลย
ผมใช้ telescope 555
ตอนพัฒนาในสภาพแวดล้อม Linux ผมใช้
viอยู่ครับ -_-ไม่งั้นก็... แก้ไขบน Windows แล้วอัปโหลดไฟล์ขึ้นไปทาง FTP จากระยะไกลเพื่อพัฒนาครับ
ถ้าเป็นสภาพแวดล้อมแบบนี้
trampของ emacs ยอดเยี่ยมมากจริง ๆ ครับ.. ราวกับคำพูดของพลเรือเอกอี ซุนชินที่ว่า"จงอย่าให้นายท่านรู้ว่าไฟล์ที่กำลังดูอยู่นั้นเป็นไฟล์ระยะไกลหรือไฟล์ในเครื่อง..."
มันทำงานร่วมกับ ssh หรือ ftp ได้ดีมากด้วย.. แค่ใส่ที่อยู่ตอนเปิดไฟล์ มันก็อัปโหลดให้เอง และถ้าระบุที่อยู่เป็น ssh พอเปิดเทอร์มินัลจากไฟล์นั้น มันก็จะเปิดเทอร์มินัล ssh ให้เองเลย..
การคัดลอกและวางข้ามบัฟเฟอร์ก็ทำได้ดีตามปกติโดยไม่ต้องแยกว่าเป็นโลคัลหรือรีโมต,
ในทางกลับกัน vim นั้น...
แต่ทุกวันนี้เราไม่ได้อัปโหลดโค้ดขึ้นเซิร์ฟเวอร์โดยตรงแล้ว และแทบทั้งหมด deploy ผ่าน CI/CD กันหมดแล้ว.. ก็เลยกลายเป็นฟีเจอร์ที่ไม่ได้จำเป็นอะไรนักแล้วครับ..
TRAMP เองก็หมดความน่าสนใจลงเพราะ VSCode Remote... ;_;
ช่วงนี้ผมเริ่มใช้ Emacs ผ่าน Spacemacs เพราะพัฒนา Clojure ครับ แล้วก็แปลกใจที่มันไม่ได้ต่างจาก VI มากนัก มีเรื่องที่สงสัยเพราะคุณใช้คำว่า 'โลกใต้ดิน' ดูเหมือนว่าข้อมูลภาษาเกาหลีที่เกี่ยวข้องจะมีไม่มากเท่าไรนะครับ (มีของเก่าอยู่นิดหน่อย) ถ้าอยากหาข้อมูลเกี่ยวกับเรื่องนี้ควรไปที่คอมมูนิตี้ไหนครับ?
ผมแลกเปลี่ยนข้อมูลกันเป็นหลักในช่อง Discord หรือช่อง gitter ครับ
แล้วก็น่าแปลกที่มีคนจำนวนไม่น้อยเอาไฟล์ตั้งค่าของตัวเองไปอวดไว้บน GitHub เลยค้นหาใน GitHub ได้ประโยชน์พอสมควรเหมือนกันครับ
แต่ผู้ใช้ภาษาเกาหลีนี่หาตัวเจอยากจริง ๆ ครับ..
ผมใช้
tmux + vim + ycmทำงานมาโดยตลอดโดยรวมพอใจกับทุกอย่าง แต่รู้สึกว่าฟังก์ชันสำรวจไฟล์พื้นฐานยังไม่น่าพอใจนัก มีปลั๊กอินดี ๆ แนะนำไหม?
ดูเหมือนว่า ycm จะเรียก API ทุกครั้งที่พิมพ์เลย ใช้งานได้โอเคไหม?
ถ้าเป็นปลั๊กอินตระกูล telescope หรือ fzf ก็ทำงานเกี่ยวกับไฟล์ได้แทบทุกอย่างครับ
ผมยังใช้ FloatTerm กับ ranger ร่วมกันเพิ่มเติม เลยใส่ความสามารถแบบตัวสำรวจไฟล์ไว้ด้วยครับ
ผมเป็นกรณีที่ย้ายจาก Sublime ไป VSCode ครับ..
ส่วน Emacs นี่เคยใช้แค่ 6 เดือนเมื่อราว 20 กว่าปีก่อน แล้วหลังจากนั้นก็แทบไม่ได้แตะอีกเลย..
สาย VI เองก็ไม่ได้ใช้ นอกจากเวลาต้องเปิดในเทอร์มินัลแบบชั่วคราวนิดหน่อย เลยยังรู้สึกแปลกใจอยู่เหมือนกันว่าทำไมถึงยังมีคนใช้อยู่ครับ
Vimmer ที่คุณพูดถึงนี่เป็นเวอร์ชันไหนเหรอครับ? ลองค้นดูแล้วรู้สึกว่ามันซับซ้อนพอสมควรเลยครับ
"vimmer" เป็นคำที่ใช้เรียกคนที่ใช้ vim.. ^_^
ส่วนผมไม่ได้ใช้ vim แต่ใช้ neovim ครับ.. และเป็นแฟนตัวยงของ
init.luaอ๋อ เข้าใจแล้วครับ ผมลองค้นหาคำว่า Vimmer แล้วมีเครื่องมือขึ้นมาหลายตัว ก็เลยนึกว่าหมายถึงเรื่องนั้นครับ!