Hiệu suất trong công việc.
Đây là bài viết chia sẻ kinh nghiệm của mình về việc tăng hiệu suất công việc, dành cho những người mới bắt đầu tham gia vào nhóm ngành công nghệ thông tin. Hiện tại, mình là một lập trình viên tự do, cụ thể hơn thì mình là một Software Engineer, ngôn ngữ chính mình sử dụng là Javascript, lĩnh vực chuyên môn là Frontend, tuy chỉ mới vào ngành được khoảng 2 năm, nhưng mình mong những chia sẻ của mình sẽ giúp cho các bạn tăng hiệu suất công việc, giúp cho quá trình làm việc trở nên thoải mái, vui vẻ hơn, cũng như giúp tăng thu nhập của các bạn.
Là một lập trình viên, chúng ta thường tìm kiếm các công cụ và các kỹ thuật để tăng cường năng suất làm việc và cũng như tối ưu quy trình làm việc. Trong quá trình này, mình đã tìm hiểu về Neovim, một trình soạn thảo văn bản mạnh mẽ và có tính tùy chỉnh cao, điều này đã thay đổi hoàn toàn trải nghiệm làm việc của mình.
Sau đây là một số hình ảnh của Neovim.
Đây là những hình ảnh từ NvChad:
Là một lập trình viên, chúng ta thường tìm kiếm các công cụ và các kỹ thuật để tăng cường năng suất làm việc và cũng như tối ưu quy trình làm việc. Trong quá trình này, mình đã tìm hiểu về Neovim, một trình soạn thảo văn bản mạnh mẽ và có tính tùy chỉnh cao, điều này đã thay đổi hoàn toàn trải nghiệm làm việc của mình.
Sau đây là một số hình ảnh của Neovim.
Đây là những hình ảnh từ NvChad:
Còn đây là Neovim do mình cấu hình (tuy không được đẹp lắm, nhưng nó vẫn đáp ứng rất tốt nhu cầu công việc của mình):
Đây là liên kết tới cấu hình Neovim của mình cho bạn nào có hứng thú: HarukiNguyen's dotfiles.
Lập trình là một công việc phức tạp, nó đòi hỏi chúng ta phải di chuyển rất nhiều giữa các đoạn mã nguồn, các tệp khác nhau trong một dự án và chỉnh sửa chúng một cách nhanh chóng. Hầu hết chúng ta khi mới học lập trình sẽ sử dụng Visual Studio Code, và khi làm việc, chúng ta sẽ thường phải di chuyển tay qua lại giữa bàn phím và chuột. Mặc dù có hỗ trợ nhiều phím tắt, cũng như có thể tùy chỉnh phím tắt thông qua nhiều cách khác nhau, nhưng vẫn còn rất nhiều các tác vụ thông thường khác sẽ phải cần dùng đến chuột và cũng như không được hỗ trợ tùy chỉnh phím tắt. Các trình soạn thảo văn bản truyền thống như vậy có thể không đáp ứng đủ các tính năng và sự linh hoạt cần thiết để giải quyết những thách thức này. Và đó là lúc Neovim được mình cân nhắc.
Lập trình là một công việc phức tạp, nó đòi hỏi chúng ta phải di chuyển rất nhiều giữa các đoạn mã nguồn, các tệp khác nhau trong một dự án và chỉnh sửa chúng một cách nhanh chóng. Hầu hết chúng ta khi mới học lập trình sẽ sử dụng Visual Studio Code, và khi làm việc, chúng ta sẽ thường phải di chuyển tay qua lại giữa bàn phím và chuột. Mặc dù có hỗ trợ nhiều phím tắt, cũng như có thể tùy chỉnh phím tắt thông qua nhiều cách khác nhau, nhưng vẫn còn rất nhiều các tác vụ thông thường khác sẽ phải cần dùng đến chuột và cũng như không được hỗ trợ tùy chỉnh phím tắt. Các trình soạn thảo văn bản truyền thống như vậy có thể không đáp ứng đủ các tính năng và sự linh hoạt cần thiết để giải quyết những thách thức này. Và đó là lúc Neovim được mình cân nhắc.
Neovim, một phiên bản phân nhánh hiện đại hơn của trình soạn thảo Vim (được phát hành vào 02/11/1991). Kết hợp sức mạnh của terminal-based editor với nhiều plugin và cấu hình linh hoạt. Neovim mang đến một cách tiếp cận tối giản và hiệu quả cho việc chỉnh sửa mã nguồn, khiến nó trở thành lựa chọn ưa thích của nhiều lập trình viên chuyên nghiệp.
Việc cài đặt Neovim là một quá trình đơn giản, vì nó có sẵn cho nhiều hệ điều hành khác nhau. Bạn có thể xem cách tải Neovim tại wiki về cách cài đặt của Neovim trên repo. Sau khi cài đặt xong, việc cấu hình Neovim theo ý thích của chúng ta là nơi mà sự thú vị thực sự sẽ diễn ra. Neovim cung cấp một hệ sinh thái phong phú về plugins, themes, và các lựa chọn cài đặt, cho phép chúng ta tùy chỉnh trình soạn thảo theo nhu cầu và sở thích của bản thân. Bạn có thể tham khảo danh sách của hầu hết các plugin ở Vim Awesome, hoặc xem thử các plugin phổ biến tại repo awesome-neovim.
Để bắt đầu, bạn có thể cài các trình quản lý plugin phổ biến như packer.nvim hay lazy.vim để cài đặt các plugin một cách dễ dàng. Các plugin được cài đặt sẽ giúp bạn mở rộng tính năng của Neovim, cung cấp các tính năng như code completion, syntax highlighting, tích hợp version control (như là git), và nhiều tính năng khác.
Nếu bạn cảm thấy bị choáng ngợp thì hãy thử cài đặt các “preconfigured neovim” (Neovim đã được setup sẵn) như là LazyVim hay NvChad. Riêng mình thì gợi ý các bạn sử dụng LazyVim, repo này là một setup Neovim đầy đủ các tính năng cần thiết cho công việc của một lập trình viên (gần giống như là một IDE), nhưng vẫn đủ đơn giản để chúng ta không bị quá tải. Trong quá trình sử dụng thì bạn có thể tìm hiểu thêm về mã nguồn của LazyVim, học tập, mài mò thêm, và sau đó là tự tạo cho mình một setup Neovim hoàn chỉnh (vì tự mình cấu hình Neovim cũng là niềm vui chính khi sử dụng trình soạn thảo văn bản này).
Nếu bạn cảm thấy bị choáng ngợp thì hãy thử cài đặt các “preconfigured neovim” (Neovim đã được setup sẵn) như là LazyVim hay NvChad. Riêng mình thì gợi ý các bạn sử dụng LazyVim, repo này là một setup Neovim đầy đủ các tính năng cần thiết cho công việc của một lập trình viên (gần giống như là một IDE), nhưng vẫn đủ đơn giản để chúng ta không bị quá tải. Trong quá trình sử dụng thì bạn có thể tìm hiểu thêm về mã nguồn của LazyVim, học tập, mài mò thêm, và sau đó là tự tạo cho mình một setup Neovim hoàn chỉnh (vì tự mình cấu hình Neovim cũng là niềm vui chính khi sử dụng trình soạn thảo văn bản này).
Bằng cách sử dụng Neovim, các lập trình viên có thể tận hưởng sự nâng cao đáng kể về năng suất. Chế độ chỉnh sửa của Neovim, được tách biệt thành 2 mode chính là Insert mode và Command mode, cho phép điều hướng và chỉnh sửa vô cùng nhanh chóng (ngoài ra còn có Visual mode, Command line mode, Replace mode,...). Việc sử dụng phím tắt và chức năng macro (cho phép ghi lại các hoạt động bạn đã thực hiện và chạy chúng nhiều lần sau đó khi được gọi) cũng giúp giảm thiểu việc lặp đi lặp lại và tăng đáng kể hiệu suất làm việc.
Ngoài ra, khả năng mở rộng của Neovim cho phép bạn tích hợp các công cụ khác nhau như linting, debugging, và project management. Việc tích hợp này loại bỏ việc phải chuyển đổi giữa các ứng dụng khác nhau, giúp tăng cường sự tập trung và hiệu suất.
Kể từ khi chuyển sang sử dụng Neovim, mình đã chứng kiến sự cải thiện đáng kể về hiệu suất trong quá trình làm việc của mình. Dù khởi đầu có hơi khó khăn (khoảng 3-4 ngày làm quen với các phím tắt và khoảng 2 tuần tới 1 tháng mình mày mò cấu hình cho phù hợp với nhu cầu), nhưng điều đó là “đáng đồng tiền bát gạo”, bởi Neovim đã giúp mình tiết kiệm được rất nhiều thời gian, và hơn nữa thành quả mình đạt được trong quá trình phát triển đó đã xứng đáng với công sức mà mình bỏ ra.
Tóm lại, Neovim mang đến cho các lập trình viên một trải nghiệm làm việc rất hiệu quả. Bằng việc dành thời gian (chỉ khoảng 1-2h/ngày) khám phá các tính năng, tùy chỉnh cài đặt và tích hợp với các công cụ khác, bạn có thể tối ưu hóa quy trình lập trình của mình và mở ra những “cấp độ” mới về năng suất.
Mình khuyến khích các bạn, bất kể trình độ, hãy thử sử dụng Neovim. Khám phá tài liệu phong phú của nó, tham gia các cộng đồng trực tuyến (r/neovim) và chia sẻ trải nghiệm của bạn với lập trình viên khác.
Một gợi ý nhỏ: Neovim còn có một "đối thủ" là Emacs. Emacs cũng là một trình soạn thảo văn bản với sự hỗ trợ toàn diện về phím tắt như Neovim, nhưng cũng sẽ có đôi chút khác biệt. Và Emacs cũng có một thứ gọi là Org mode, nó giúp chúng ta quản lý dự án rất hiệu quả (viết ghi chú, tài liệu, lên lịch,...), và thậm chí là quản lý cả cuộc sống. Bạn nào thấy thú vị thì có thể cân nhắc tìm hiểu thử.
Một gợi ý nhỏ: Neovim còn có một "đối thủ" là Emacs. Emacs cũng là một trình soạn thảo văn bản với sự hỗ trợ toàn diện về phím tắt như Neovim, nhưng cũng sẽ có đôi chút khác biệt. Và Emacs cũng có một thứ gọi là Org mode, nó giúp chúng ta quản lý dự án rất hiệu quả (viết ghi chú, tài liệu, lên lịch,...), và thậm chí là quản lý cả cuộc sống. Bạn nào thấy thú vị thì có thể cân nhắc tìm hiểu thử.