— devops, tech, feature — 2 min read
Với công việc hiện tại là DevOps Engineer, phải xoay chuyển liên tục với nhiều projects cùng một lúc, nên việc quản lý source code cũng như quản lý credentials cho từng project càng ngày càng trở nên phức tạp. Với gian đoạn đầu, mình đảm nhận khoảng 5 projects, với 1~3 repositories cho mỗi project thì con số tổng cộng là đâu đó khoảng 10 repositories.
Để chuyển qua lại giữa các repo, mình từng dùng extension WorkspaceSidebar trên VSCode. Tuy nhiên, để mở nhiều projects cùng một lúc thì VSCode càng ngày càng trở nên nặng nề và chậm chạm. Khi mình mở 5-6 windows VSCode cùng lúc thì tình trạng càng tồi tệ hơn, thậm chí crash/freeze rất khó chịu.
Đồng thời, phần lớn thời gian coding của mình là dành cho edit, việc di chuyển giữa các workspace, dòng và vị trí cần sửa tốn nhiều thời gian khi mình phải với tay sang để di chuột, làm mình cảm thấy khá bất tiện. Từ đó mình quyết định sử dụng thêm extension Vim trên VSCode để làm quen và đồng thời tăng hiệu suất công việc bằng cách giảm các thao tác sử dụng chuột.
Sau này, khi các thao tác trong công việc của mình phần lớn xảy ra ở terminal, cũng như việc edit source code với vim trở nên quen thuộc, mình nghĩ đã đến lúc chuyển hẳn sang neovim để tận dụng những cải tiến cũng như tối ưu tài nguyên của máy tính.
Sau khi tham khảo các bộ setup, mình quyết định dụng neovim kết hợp với Alacritty và tmux để cá nhân hóa terminal của mình đồng thời đồng bộ trên các máy khác nhau bằng cách sử dụng dotfiles repository
pain in the a**
Tại thời điểm viết bài, mình đang dùng
1#Ubuntu2NVIM v0.8.0-dev3Build type: RelWithDebInfo4LuaJIT 2.1.0-beta3
For Ubuntu
1sudo apt install neovim
For MacOS
1brew install neovim
More: https://github.com/neovim/neovim/wiki/Installing-Neovim
For Ubuntu
1sudo add-apt-repository ppa:aslatter/ppa2sudo apt updates3sudo apt install alacritty
For MacOS
1# because Alacritty isn’t part of the Apple developer program, we need to authorize by --no-quarantine option2brew install --cask --no-quarantine alacritty
More: https://github.com/alacritty/alacritty/blob/master/INSTALL.md
Chọn & tải 1 font trên Nerd Font
For Ubuntu
1unzip downloaded_font2cp downloaded_font `~/.fonts`3fc-cache -fv
For Ubuntu
1sudo apt install tmux
For MacOS
1brew install tmux
More: https://linuxize.com/post/getting-started-with-tmux/
Hãy tham khảo repository này để biến nó thành của riêng bạn và tự cấu hình theo cách bạn muốn https://github.com/tienvu461/dotfiles
Trong đó, script config.sh
sẽ giúp bạn tự động tạo symlink từ các file config của repo đến file config ở trên máy