ฉันกำลังเปลี่ยนจาก VS Code เป็น Vim
นับตั้งแต่ฉันเริ่มเขียนโปรแกรมอย่างมืออาชีพในปี 2558 ฉันได้ยินสิ่งดีๆ มากมายเกี่ยวกับ VIM ผู้ที่ใช้มันต่างกล่าวขานถึงประสิทธิภาพและความสามารถในการผลิตที่เพิ่มขึ้นของมัน ฉันคิดเสมอว่า Vim นั้นเจ๋ง แต่สิ่งที่ทำให้ฉันไม่พยายามคือการเรียนรู้ และด้วย VS Code ที่ทำทุกอย่างแล้วก็บางอย่างสำหรับฉัน มันรู้สึกเหมือนว่าฉันจะไม่มีวันทำ
ก่อนอื่น ฉันไม่สงสัยเลยว่าเมื่อพูดถึงประสิทธิภาพ "ดิบ" และความเร็วในการเขียน/แก้ไขโค้ด Vim จะทำให้ฉันเร็วขึ้นมาก อย่างไรก็ตาม ฉันเชื่อว่าเมื่อพูดถึงการเขียนโปรแกรม ความเร็วในการพิมพ์ไม่เคยเป็นปัญหาคอขวด แต่คือความเร็วในการคิด แม้จะมีความเห็นส่วนตัวของฉัน แต่ฉันอยากลองใช้ในอีก 30 วันข้างหน้าและดูว่าฉันพลาดหรือไม่ แต่ก่อนที่จะทำเช่นนั้น ฉันต้องการพูดถึงประเภทของงานที่ฉันทำและสิ่งใดที่ฉันคิดว่าสำคัญสำหรับฉันในการเป็นบรรณาธิการ
สิ่งที่ฉันทำ?
งานของฉันส่วนใหญ่ประกอบด้วยการทำงานกับบริการแบ็กเอนด์ที่เขียนด้วย TypeScript ฉันมักจะต้องเปิดและทำงานหลายโครงการพร้อมกันพร้อมกับเปิดหน้าต่างเทอร์มินัลหลายหน้าต่างในเส้นทางที่ต่างกัน นอกจากนี้ยังมีการทดสอบและการสร้างโค้ด GraphQL มากมายที่เกี่ยวข้อง
อะไรคือสิ่งสำคัญสำหรับฉันในการเป็นบรรณาธิการ
บางสิ่งที่ฉันชื่นชมในตัวบรรณาธิการมีดังต่อไปนี้
- ควรแสดงข้อผิดพลาดและคำเตือนเกี่ยวกับผ้าสำลี
- ฉันควรจะสามารถติดตามได้อย่างง่ายดายว่าบัฟเฟอร์/ไฟล์ใดบ้างที่เปิดอยู่และสลับไปมาระหว่างกันได้อย่างรวดเร็ว
- ไม่ควรกีดขวางเวลาทำงาน จะได้มีสมาธิกับงาน
- ยินดีต้อนรับการรวมเข้ากับคอมไพล์ที่ดี
- ควรรองรับเซิร์ฟเวอร์ภาษาสำหรับ typescript และคุณสมบัติเช่น 'ไปที่การกำหนด', 'ค้นหาการอ้างอิงทั้งหมด'
- ควรสนับสนุนการจัดรูปแบบรหัส
- และสุดท้าย มันควรจะเร็ว ดังนั้นฉันจึงสามารถเปิดหลาย ๆ อินสแตนซ์โดยไม่ทำให้ช้าลง
- ช่วยให้คุณสามารถทำงานในคอนเทนเนอร์นักเทียบท่าได้โดยตรงโดยใช้ส่วนขยาย Dev Container หรือส่วนขยาย WSL เพื่อทำงานในสภาพแวดล้อม linux หากคุณอยู่บน windows และส่วนขยาย Remote Explorer สำหรับ Ssh
- แบ่งปันสดสำหรับการเขียนโปรแกรมคู่
- มีส่วนขยายมากมายสำหรับเกือบทุกภาษา
- Emmet และการสนับสนุนสำหรับส่วนขยายตัวอย่าง
- ส่วนขยาย GitHub CoPilot
- ส่วนขยายที่มี RestClients
- และอีกมากมายที่ฉันไม่ได้ใช้ แต่ฉันทำได้หากต้องการโดยตั้งค่าขั้นต่ำ
ตั้งค่าเริ่มต้น:
ดังนั้นฉันจึงติดตั้ง NeoVim ทำตามบทช่วยสอนเพื่อเปิดใช้งานการตั้งค่าพื้นฐานบางอย่าง เช่นrelative line numbersติดตั้งVimPlugเพื่อจัดการปลั๊กอิน ติดตั้งcocสำหรับเซิร์ฟเวอร์ภาษา ส่วนขยายอื่นๆ และ NERDTree เพื่อให้คล้ายกับ VSCode นี่คือ init.vim ของฉันสำหรับทุกคนที่สนใจ:https://github.com/osamaishtiaq/dev-settings/blob/main/init.vim
ด้านล่างนี้คือลักษณะการตั้งค่าปัจจุบันของฉัน
เซิร์ฟเวอร์ภาษาสำหรับ typescript ทำงานได้ดีเกือบจะดีพอ ๆ กับโค้ด VS (เกือบ) ฉันยินดีที่จะรายงานว่า 'go-to-defination' และ 'find all references' ทำงานได้ดี Linting ดูเหมือนจะใช้งานได้เช่นกัน เนื่องจากฉันสามารถเห็นจำนวนข้อผิดพลาดที่มุมล่างขวาของแถบสถานะ อย่างไรก็ตาม มันไม่สมบูรณ์แบบเพราะฉันไม่ค่อยเห็นข้อความป๊อปอัปข้อมูลเมื่อโฮเวอร์ เพื่อที่ฉันต้องใช้messagesคำสั่ง ฉันยังใช้Tmuxสำหรับการทำงานกับหน้าต่างเทอร์มินัลหลายตัว และฉันติดตั้งItermเทอร์มินัลเพราะฉันได้ยินมาว่ามีการรองรับสีที่ดีกว่าเทอร์มินัลเริ่มต้นของ macos ฉันได้ลบ VS Code แล้ว และถ้าทุกอย่างเรียบร้อยดี ฉันอาจไม่ต้องติดตั้งอีก
อัปเดต (14 ธันวาคม 2022):
ฉันต้องติดตั้ง VS Code ใหม่… เหตุผลที่บัฟเฟอร์ทำงานเป็นกลุ่มและไม่สามารถแก้ไขได้ในขณะนี้ NERDTree ไม่เน้นว่าบัฟเฟอร์ใดกำลังเปิดอยู่ และฉันไม่สามารถหาวิธีที่ดีในการดูว่าไฟล์ใดได้รับการแก้ไขเพียงแค่ดูที่ NERDTree หรือที่อื่นๆ ดังนั้นแทนที่จะใช้ Vim อย่างเต็มที่ ตอนนี้ฉันได้ติดตั้งส่วนขยาย Vim สำหรับ VS Code เป็นข้อมูลสำรองแล้ว ฉันจะพยายามใช้ Vim แต่ในกรณีที่บางอย่างใช้งานไม่ได้และฉันไม่มีเวลาแก้ไข ฉันจะเปลี่ยนกลับเป็น VS Code พร้อมนามสกุล Vim ชั่วคราว อัปเดตเพิ่มเติมเพื่อติดตาม





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)