Nói thật lòng, hồi mới bước chân vào nghề dev, mình cực kỳ sợ hãi cái thứ gọi là Terminal. Mọi thứ đều là màn hình đen thui, không có chuột, chỉ toàn text. Mình cứ nghĩ là những người lập trình cao cấp họ phải có màn hình nhiều cửa sổ, kéo thả code như trong phim hacker mới là "hacker", còn ngồi gõ lệnh thì ngốc thế nào không biết.
Rồi một ngày nọ, sếp yêu cầu deploy một project cũ lên server Linux. Lúc đó mình mới biết đến SSH và bắt đầu vụng về gõ lệnh. Dần dần, mình nhận ra việc dùng VS Code trên remote server với Xdebug, Docker, hay thậm chí là chỉnh file config bằng GUI trên môi trường server thật sự... mệt mỏi và chậm chạp. Màn hình lag, bộ nhớ đầy, và đôi khi tool đồ họa không hỗ trợ hết các thư viện cũ.
Đó là lúc mình quyết định "buông tay" chuột để thử nghiệm Vim. Cảm giác ban đầu là muốn bỏ mạng vì không biết làm sao để thoát khỏi nó (lệnh :q! cứu mạng mình biết bao lần). Nhưng sau một tháng "luyện công", mình phát hiện ra một thế giới hoàn toàn mới. Không cần mouse, ngón tay không rời bàn phím, cảm giác gõ code như đang đánh chữ trên máy đánh chữ cơ học cực kỳ đã.
Và khi kết hợp Vim với tmux, mọi thứ như được nối lại một cách hoàn hảo. Mình có thể chia màn hình terminal thành nhiều ô, chạy đồng thời server backend, monitor log, và edit file code ngay trên cùng một màn hình nhỏ xíu. Đặc biệt là tính năng "attach/detach" của tmux. Bạn có thể đóng terminal, tắt máy tính, đi cafe, về nhà, rồi bật máy lên và gõ tmux attach để thấy mọi thứ vẫn đang chạy y hệt như lúc bạn vừa rời đi. Cảm giác đó giống như bạn đang kiểm soát một "siêu máy tính" vậy.
Rất nhiều bạn trẻ hiện nay vẫn thích dùng IDE với đầy đủ plugin, autocomplete, theme đẹp lè. Điều đó không sai, nhưng mình tin rằng hiểu rõ terminal, biết dùng Vim và tmux sẽ giúp bạn kiểm soát được quy trình làm việc tốt hơn, nhất là khi làm việc trên các server xa hay môi trường hạn chế tài nguyên. Đó không chỉ là công cụ, mà là một tư duy: làm sao để tối ưu, nhanh gọn và ít phụ thuộc vào phần mềm đồ họa.
Đừng nghĩ là phải thành thạo ngay lập tức. Bạn chỉ cần học vài cú pháp cơ bản của Vim như hjkl để di chuyển chuột, hay ciw để sửa một từ, là đã đủ để thay đổi cách bạn code rồi. Hãy thử một lần, biết đâu bạn sẽ "ngốn" luôn như mình?