43 điểm bởi kodingwarrior 2023-08-11 | 11 bình luận | Chia sẻ qua WhatsApp

Video ghi hình: https://www.youtube.com/watch?v=XYQnyJVGk-4&t=1s
Phụ lục: https://kodingwarrior.github.io/wiki/appendix/excelcon-2nd/

Vào ngày 2023-06-03 tại ExcelCon lần thứ 2, tôi đã có một bài thuyết trình với chủ đề "Bứt phá năng suất với Neovim", nay xin chia sẻ lại tại đây dù hơi muộn.


Tóm tắt nội dung thuyết trình

Chỉ riêng việc dùng Neovim đã giúp năng suất tăng lên như thế nào?

  • Trước đây tôi phải luân phiên dùng VSCode, Notion, RoamResearch, GitKraken..., nhưng sau khi hợp nhất vào Neovim thì gánh nặng nhận thức không cần thiết đã giảm đi.
  • Dù luân phiên sử dụng macOS và archilinux, tôi vẫn có thể duy trì một môi trường phát triển nhất quán ở mọi nơi (dotfiles).
  • Tôi không còn phải lo lắng về hiệu năng thiết bị nữa.
    • Trước đây: do phải mở nhiều ứng dụng như AndroidStudio, VSCode, RoamResearch... để làm việc nên hiện tượng thrashing xảy ra thường xuyên. Ngay cả việc gõ mã nguồn cũng mất nhiều thời gian / Sau đó: hoàn toàn không còn nghe cả tiếng quạt gió như máy bay cất cánh. Mức sử dụng bộ nhớ cũng rất thấp.

3 bước để nâng cao năng suất

  1. Cải thiện năng suất nên bắt đầu từ siêu nhận thức để phân tích xem mình đang lãng phí thời gian không cần thiết ở hành vi nào.
  2. Trước hết hãy làm quen với những công cụ mình sử dụng.
  3. Hãy xem mình đang lặp đi lặp lại công việc nào, rồi tìm cách tận dụng để giảm thời gian cho các tác vụ lặp lại đó. (vd. template, plugin, macro, snippet, …)
  4. Trong quá trình ở bước 2, hãy chọn ra những gì phù hợp với bản thân và biến chúng thành kỹ năng của mình.

Những nội dung không thể giải thích hết do giới hạn dung lượng đã được tôi tổng hợp thành phụ lục trên blog.

  • Starter kit cho người mới bắt đầu với Neovim như AstroNvim, LazyNvim
  • Plugin tree-sitter dành riêng cho Neovim
  • nvim-cmp cung cấp tính năng tự động hoàn thành

Tôi cũng đang vận hành cộng đồng Discord (vim.kr) dành cho những ai muốn sử dụng Vim thật tốt, mong mọi người quan tâm :)

11 bình luận

 
kan02134 2023-08-15

https://github.com/github/copilot.vim

Tôi đang dùng VS Code Copilot rất hiệu quả nên đã tìm thử, thì thấy cũng có plugin Copilot cho Neovim nữa. Tôi đã phân vân có nên thử không, nhưng chắc phải dùng thử Neovim một lần mới được.

 
edunga1 2023-08-14

Ở công ty đầu tiên tôi chuyển việc tới, mọi người phát triển bằng cách remote vào máy chủ Linux với vim + tmux.
Tôi rất ấn tượng vì trong môi trường này có thể pair programming từ xa được. (chỉnh sửa mã được phản ánh ngay lập tức, và cả terminal cũng được chia sẻ)

Chính nhờ dotfiles (.vimrc, .bashrc) trên máy chủ từ xa mà tôi bắt đầu thực sự nhập môn vim.
Tôi nhớ khi đó đã có sẵn mẫu nên có thể bắt đầu rất thoải mái, vì vậy tôi rất đồng cảm với câu chuyện về dotfile trong bài cười nhẹ

 
yoehwan 2023-08-14

Tôi cũng đã chuyển từ NVIm sang vscode, nhưng đọc bài này lại khiến tôi muốn quay lại. haha

 
junghan0611 2023-08-14

Thật vui khi được nói về trình soạn thảo văn bản. Cuối cùng, nếu chấp nhận rằng mọi việc đều là xử lý văn bản thì việc quan tâm đến môi trường làm việc với văn bản của mình cũng không còn là gánh nặng. Tôi bắt đầu dùng Emacs từ năm ngoái, và đúng là rồi có thể làm mọi thứ chỉ bằng bàn phím. Như bạn đã nói ở mục số 0, tôi đã giảm được rất nhiều thời gian không cần thiết. Chúc vim.kr ngày càng phát triển!!

 
roxie 2023-08-12

Xin phép hỏi vì tôi không chắc có phải mình đã bỏ lỡ trong video hay không. Việc anh nói đã thay thế Notion bằng neovim có nghĩa là anh xây dựng một hệ thống wiki trong neovim rồi dùng nó, hay là có thư viện cho phép thao tác Notion từ neovim? Ý của câu hỏi là tôi muốn biết liệu Notion mà công ty đang dùng có thể thao tác được từ neovim hay không.

 
kodingwarrior 2023-08-12

Tất nhiên là tôi không thao tác Notion hay làm kiểu như vậy.

Nếu Notion hỗ trợ API thì về mặt lý thuyết có thể thao tác từ neovim, nhưng cho đến giờ tôi vẫn chưa thấy ai thử như vậy.

Còn việc Notion mà công ty đang dùng có thể thao tác từ neovim hay không thì có vẻ sẽ liên quan đến vấn đề chính sách, nên khó mà khẳng định chắc chắn.

 
roxie 2023-08-12

Notion có cung cấp API, nhưng trên thực tế tôi nghĩ ra khá nhiều ràng buộc nên việc triển khai đã bị dừng lại; tôi đã tự hỏi liệu có giải pháp nào hay không. Cảm ơn vì câu trả lời :D

 
kodingwarrior 2023-08-12

Có thể nói là tôi đã xây dựng gần như một hệ thống wiki. Plugin tên là telekasten.nvim đáp ứng hơn 100% yêu cầu của tôi và có hầu hết mọi tính năng cần thiết.

Tính năng template cũng khá ổn. Chức năng quản lý tài liệu nội bộ cũng tốt.

Một trong những tính năng tôi thích là trực quan hóa đồ thị, và tôi đã tự tay làm nó bằng thư viện force-graph.

Tôi nghĩ có thể sẽ hữu ích để tham khảo nên xin để lại link mã nguồn liên quan.

https://github.com/kodingwarrior/kodingwarrior.github.io/… -- Tạo dữ liệu đỉnh (tài liệu)/cạnh (liên kết nội bộ) cần cho trực quan hóa đồ thị
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- Trực quan hóa dựa trên force-graph

 
bbulbum 2023-08-11

Tôi cũng dùng neovim và như bước vào một thế giới mới. Vì vậy tôi đã ra sức rủ các lập trình viên xung quanh thử xem, nhưng chẳng ai chịu chuyển sang cả. Khi dùng neovim, tôi cũng hiểu kỹ hơn về những thứ cần thiết để xây dựng môi trường phát triển. Tôi còn không biết là có cả cộng đồng Vim ở Hàn Quốc nữa, tôi sẽ tìm đến thử xem, vui quá!

 
aqqnucs 2023-08-13

Tùy công ty tùy đội thôi... nhưng cũng bất ngờ là có khá nhiều người không hứng thú với việc thiết lập môi trường phát triển..

 
bus710 2023-08-11

Muốn dùng Vim cho tốt thì có vẻ cuối cùng cũng phải dùng kèm zsh và tmux.
Khác với Emacs là may mà không cần để râu.