Vim một trình edior đỉnh cao các anh em dev web edior tốt nhất.
Vim bạn có thể tốc độ gõ code của bạn ở phạm vi tốc độ thần thánh hơn các trình soạn thảo văn bản gui thông thường.
VIM rất nhẹ và rất nhanh và cực kì mạnh mẽ và cực kì đa năng những ưu điểm mình sẽ nói ngay ở trong bài viết này. Và giải thích ngắn gọn cảm nhận của mình: nhẹ hơn notepad ++ mà còn mạnh như vscode.
Nhược điểm của nó lớn nhất: là phải bỏ thời gian lúc đầu ra chăm sóc và ngâm cứu em nó không phải thuộc hệ ăn sẵn. và trong bài viết này mình cũng chia sẻ hướng dẫn thiết lập 1 số plugin và một số thủ thuật mà mình thấy nó thực sự sẽ hữu ích giúp vim đã nhanh nay còn đỉnh hơn nữa hy vọng sẽ giúp ích trong công việc phát triển tốt hơn hoặc ít nhất là mới bắt đầu có động lực không bị nản và bỏ cuộc .
bài viết này mình sẽ chia sẻ về vim các anh em dev đặc biệt là dev web mà có liên quan đến hệ linux và có liên quan đến system admin thì đúng là không thể thiếu vim trong công việc của mình.
cách đây không lâu mình có khen gợi hết tiếng vscode và cũng từng đấy thời gian mình gắn bó với vscode, nhưng dạo này muốn đổi gió và quan trọng công việc của mình giờ phải full time sử dụng hệ điều hành linux dùng vscode khá là chán chạy cảm giác không còn được êm mượt như chạy trên hệ điều hành windows.
Và mình cũng chuyển tìm kiếm các trình soạn code khác và trải nghiệm các thứ các thứ, mới đầu mình cũng tải vim và sử dụng cũng thấy chán thấy nhìn chán chả có vẹo gì rồi xóa đi, nhưng vô tình lướt youtube thấy các anh em pro dùng vim quẩy khủng khiếp quá cái mình còn thiếu đó chính là cài plugin dành cho VIM không đơn giản như vscode bật lên phát là ăn được ngay nhưng với vim thì bật lên phát mặc định thì hơi khó ăn phải thêm plugin thì mới ăn ngon được, nhưng đó là nguyên lý hoạt động của triết lý unix đơn giản hết mức và cần gì tự thêm vào để sử dụng : sau một thời gian luyện tập và tận hưởng sử dụng vim thì nhận ra rằng vim thực sử đỉnh cao vì sao mình không sử dụng nó sớm hơn.
Lúc mình viết thảo nháp bài viết này là 4 năm trước, giờ mình mới chính thức công khai, mình vẫn gắn bó với neovim vì cực kỳ đỉnh cao.
Nhưng không public bài này có sao còn hơn không.
ở đây mình nói là vim thực chất là neovim nhé, những mọi người vẫn gọi là vim, hiệu neovim là bản nâng cấp của vim, và vim là bản nâng cấp của vi (neovim < vim < vi).
nhiều khi bản thân mình đọc là vim thực tế là neovim ấy nhé.
Mục lục
Vì sao anh em dev đặc biệt là dev web hay làm việc qua ssh cần phải dùng neovim
- Gõ nhanh khi bạn đã thuộc các phím tắt của neovim thì đúng nghĩa là tay gõ nhanh hơn não (mới đầu luyện tập nhớ các phím tắt thì tốc độ sẽ rất khoai và chậm còn phải ngồi nhớ các phím tắt nhưng lúc mới thôi, khi đã quen rồi nó một câu chuyện hoàn toàn khác, đây là giai đoạn mọi người rất dễ bỏ vim nhưng qua được giai đoạn này rồi là nghiện vim luôn khó mà bỏ được vim vì tốc độ đem lại rất thành thánh)
- NEOVIM rất nhẹ, thực sự rất nhẹ ăn cực kì ít ram, anh em nào máy yếu hoặc đặc biệt code trên laptop cần tiết kiệm pin theo vim là lựa chọn hoàn hảo.
- Chạy đa nền tảng không chạy chỉ trên các hệ điều hành mac,windows,linux… bạn kéo về máy tính cũng chạy kết nối ssh cũng cân được, ở đâu cũng cân được, đây là một điểm hay các anh em làm server thì thích vim vì điểm này không phải lúc nào cũng muốn dev thì kéo về máy tính cá nhân rồi dev xong rồi ftp pull Đưa dữ liệu lại mất công, các anh em chơi ngay lên server luôn. Vừa tiện vừa nâng cao bảo mật.
- Bạn có thể làm được mọi thứ từ các phím tắt với tốc độ rất nhanh (nhưng thời gian để làm quen với các phím tắt cũng là khá thử thách nhưng thực sự nó rất đáng giá)
- truy vấn dữ liệu cực nhanh, bạn chuyển file các thứ mình cảm nhận là tốc độ nhanh khủng khiếp.
- Tùy biến cao, nếu bạn có thời gian thì có thể tùy biến rất nhiều thứ, gần như mình thấy mỗi anh em dùng vim thì sẽ có 1 phong cách tùy biến hệ khác nhau, nhìn chả thấy ông nào giống ông nào. Thao hồ mà sáng tạo theo sở thích phong cách của mình.
- tương thích với vi trình soạn thảo vi gần như được cài sẵn mọi trên distro linux rồi khi bạn dùng vim quen rồi sửa những file cơ bản bạn không phải kích đặt nano nữa, cứ thế mà dùng vi cũng được
- Tiết kiệm tiền mua chuột xịn kakaka mua con cùi cùi dùng cũng được kakakak, khi dùng vim thì gần như bạn nói đúng nghĩa là không sử dụng gì đến chuột luôn
- Một IDE hoàn chỉnh, bạn có thể cấu hình để làm IDE một cách hoàn toàn chỉ sử dụng VIM, vim nó thực sự biết cài cắm plugin cho hợp lý nó không ngán ngẩm gì vscode luôn
- Tích hợp kết hợp cùng với terminal, mà bản thân vim bên trong đó cũng có terminal (terminal mặc định rất chán, phải plugin thì mới ngon), tích hợp ở đây bạn có thể sử dụng các terminal chạy bằng gpu alacritty hoặc kitty thì tuyệt vời luôn tốc độ đã nhanh còn nhanh hơn và tiết kiệm tài nguyên còn tiết kiệm tài nguyên hơn
- Chuyển config một cách dễ dàng, khi bạn cài lại hệ điều hành hay chuyển hệ điều hành thì bạn chỉ cần copy chuyển file ~.config/nvim/init.vim là xong
Hướng dẫn cài đặt NEOVIM
Hướng dẫn từng bước cài đặt và từng bước custom sẽ rất dài và rất tốn thời gian của anh em, nghiên cứu từng plugin 1 của neovim cực thực sự là kỳ công, tốn thời gian vì vậy mình viết sẵn một phần mềm để anh em ăn sẵn luôn.
Mình đã viết một phần mềm nguồn mở miễn phí để anh em có thể dễ dàng cài đặt và sử dụng neovim hơn. để anh em có thể dễ dàng lấy được ngay.
yêu cầu: sử dụng hệ điều hành linux Almalinux,Rocky Linux,Ubuntu,Debian,Fedora
Trên môi trường máy chủ, vps hay máy cá nhân đều có thể sử dụng được.
sử dụng paste lệnh này vào terminal
curl -sO https://raw.githubusercontent.com/wptangtoc/neovim-wptangtoc/refs/heads/main/neovim-wptangtoc.sh && bash neovim-wptangtoc.sh
ngồi đợi phần mềm sẽ tự động cài đặt neovim và custom theo phong cách của mình.
nguồn bài viết: https://github.com/wptangtoc/neovim-wptangtoc
Mình ít khi dùng windows, nên mình không phát triển, còn trên macbook thì mình không có macbook mà xài nên không biết.
Hướng dẫn sử dụng neovim cơ bản
một số lệnh hướng dẫn sử dụng cơ bản:
để hướng dẫn cái này thực sự rất nhiều mình sẽ cố gắng liệt kệ để anh em sử dụng.
Phần mềm này hoạt động trên terminal, bạn có thể sử dụng ssh hoặc chính terminal trên máy tính cá nhân của bạn…
Lúc đầu khi mới bắt đầu học neovim thì có vẻ rất là ngượng và nú , bạn phải học thuộc quen với các phím tắt, nhưng khi thành công được nó rồi thì hiệu suất lại cực kỳ tuyệt vời như bạn biết tốc độ sử dụng máy tính thì sử dụng bàn phím luôn nhanh hơn là sử dụng chuột, dùng neovim thì quên đi máy tính của bạn có chuột hay touch pad nhé
một số chứng năng mặc định neovim nó không có, mà bản thân phần mềm bên trên mình cài thêm những plugin nào rồi.
Neovim có 4 chế độ:
1: normal
2: insert
3: command
4: v-line
đầu tiên muốn bắt đầu sử dụng neovim:
vim . là mở neovim bằng thư mục anh em đang đứng (anh em đang cd thư mục đó)
vim index.php là mở file index.php bằng Neovim
====================================
Bài 1: chế độ normal (hiểu đơn giản là trung gian của chuyển các chế độ)
esc là chuyển chế độ về chế độ normal
:q là thoát (hoặc ấn nút ctrl + q)
:w là lưu lại (hoặc ấn nút ctrl + s)
:bd là đóng tabs của số đang dùng (hoặc ấn nút ctrl + w)
f5 là là chế độ sidebar thư mục (phải đang ở chế độ normal)
f6 là là chế độ history các file vừa đang xử lý (phải đang ở chế độ normal)
f7 là là chế độ tìm kiếm nội dung trong các file (phải đang ở chế độ normal)
f2 là chế độ terminal mini (phải đang ở chế độ normal) và ấn f2 lần thứ 2 là tắt terminal mini
f3 là mở thêm terminal mini (phải đang ở chế độ terminal mini)
atl + sang phải là next terminal mini (phải đang ở chế độ terminal mini và có 2 terminal mini trở lên)
atl + sang trái là quay về terminal mini (phải đang ở chế độ terminal mini và có 2 terminal mini trở lên)
h là di chuyển sang trái (phải đang ở chế độ normal)
j là di chuyển xuống dưới (phải đang ở chế độ normal)
k là di chuyển lên trên (phải đang ở chế độ normal)
l là di chuyển sang phải (phải đang ở chế độ normal)
f là nhảy bước ký tự bạn muốn (phải đang ở chế độ normal)
u là quay trở lại ví dụ bạn làm cái gì đó muốn quay ấn nút này giống như trên word bạn ấn nút ctrl + z đó (phải đang ở chế độ normal)
Số number nào đó + g là bay vào số dòng đó, ví dụ: bạn gõ 2 + g thì nó sẽ di con chuột vào dòng thứ 2
G là bay xuống cuối văn bản file
Bài 2: chế độ insert (để bạn có thể sửa văn bản như kiểu word đó)
i là chuyển chế độ về chế độ insert (nhảy về trước 1 chữ)
I là chuyển chế độ về chế độ insert (nhảy về đầu hàng)
a là chuyển chế độ về insert (nhảy về sau 1 chữ)
A là chuyển chế độ về insert (nhảy về cuối hàng )
O là chuyển chế độ về intert (tự tạo thêm 1 dòng ở bên trên)
o là chuyển chế độ về intert (tự tạo thêm 1 dòng ở bên dưới )
ctrl + v để paste, văn bản từ ở bên ngoài không phải từ neovim
Bài 3: chế độ v-line
v là chuyển chế độ v-line (chỉ một chữ bạn đang đứng)
V là chuyển chế độ v-line (nguyên cả dòng)
chế độ v-line bạn có thể di chuyển tô màu bằng các phím điều hướng
h là di chuyển sang trái (phải đang ở chế độ v-line)
j là di chuyển xuống dưới (phải đang ở chế độ v-line)
k là di chuyển lên trên (phải đang ở chế độ v-line)
l là di chuyển sang phải (phải đang ở chế độ v-line)
y (hoặc ctrl + c) là copy chỗ v-line bạn đã tô màu
p là paste (cho vào ở phía sau)
P là paste (cho vào ở phía trước)
d hoặc x là delete xoá chỗ đang được tô v-line
c là changer xoá chỗ đang được tô v-line nhưng chuyển ngay về chế độ insert luôn
Bài 4: chế độ command
bắt đầu bạn ấn nút gõ :
q là thoát
w là ghi vào
bd là đóng táp cửa số
PlugInstall là bạn cài ứng dụng neovim
%s/abc/abcd/g là truy vấn thay thế dữ liệu, ví dụ bạn có ký tự abc nó sẽ thay cho bạn là toàn bộ là abcd toàn bộ file văn bản
nâng cao hơn bạn v-line tô màu: %/abc/abcd/g là truy vấn thay thế dữ liệu, ví dụ bạn có ký tự abc nó sẽ thay cho bạn là toàn bộ là abcd những chỗ bạn tô v-line
nâng cao hơn bạn v-line tô màu: norm A abc là tự động chèn ký tự abc vào các dòng ở cuối hàng bạn tô v-line
nâng cao hơn bạn v-line tô màu: norm I abc là tự động chèn ký tự abc vào các dòng ở đầu dòng bạn tô v-line
nút / là tìm kiếm ký tự trong văn bản lệnh này hơi đặc biệt bạn không cần ấn nút : để chuyển sang chỉ ấn mỗi / (khi bạn xác định ký tự rồi có thể ấn nút n để next nếu văn bản có nhiều ký tự trung nhau, và ngược lại ấn nút shift + n để quay ngược di chuyển ký tự)
Đây là một số phím tắt mà thường xuyên cá nhân mình sử dụng hàng ngày.
Những plugin cần có cho vim
Mình sẽ giới thiệu cơ bản những plugin mà mình rất thích nhé. Cụ thế cách cấu hình chi tiết và cách phím tắt thì mỗi người 1 sở thích tốt nhất là bạn hãy tự map phím tắt của mình để cho mình là dễ nhớ nhất và những phím nào bạn thích thì tự map vào
plugin: coc
đây là plugin giúp bạn tự động điền nhắc lệnh và có nhiều tính năng khác nữa kèm theo, bạn đang sử dụng làm ngôn ngữ nào thì có thể install coc , trong coc cũng cần phải install plugin của coc là những ngôn ngữ lập trình của bạn đang làm việc.
trong lệnh trên CocInstall mình bên trong có cài php, css, html, và shell script.
Plugin: vim-easymotion
Đây là plugin giúp bạn di chuyển nhanh để vi trị con trỏ trên màn hình bạn muốn với tốc độ rất nhanh.
nmap >silent< f >Plug<(easymotion-overwin-f)
mình có map phím tắt chỉ cần ấn phím f, rồi ấn 1 ký đầu mà mình mong muốn, xong rồi plugin này sẽ hiển thị chỗ đó là chữ cái gì mình sẽ gõ chứ đó thì truy cập nhảy thẳng vào con vị trí mình mong muốn.
Còn kết hợp thêm phím ctrl + o (back vị trí) nhảy đi nhảy lại thì tuyệt vời luôn, tốc độ bàn thờ luôn
Plugin: NerdTress
Nó là file manager để mình dễ dàng quản lý lý file dự án và trong dự án của mình có bao nhiêu file…
Plugin: floaterm
đây là terminal, bên trong vim mặc định terminal của vim khá là chán, mình dùng flaterm để thay thế.
Plugin: fzf
Đây là plugin để giúp mình search file trong dự án một cách nhanh chóng và tính năng chuyển các tab trong vim mình đang mở 1 cách nhanh chóng và kết hợp thêm rg nữa thì tìm kiếm 1 nội dung nào đó trong file nào đó thì tốc độ nhanh khủng khiếp luôn
Mình cũng chia sẻ những plugin mà mình cảm thấy yêu thích nhất thế thôi, mỗi người sẽ có một nhu cầu riêng và sở thích riêng vì vậy mình hãy tự search tìm kiếm những plugin nào mà phục vụ tốt cho công việc của bạn nhé và mỗi người sẽ có sở thích và map phím tắt riêng cho mình.
Kết luận:
Vim là công cụ text tuyệt vời, nó sẽ giúp tốc độ công việc của bạn sẽ nhanh chóng và cực kì hiệu quả hơn nhưng vim có cái giá của nó là mới bắt đầu thường dễ nản và bỏ cuộc vì lúc đầu bạn phải tự config môi trường làm việc của bạn và nhu cầu cụ thể của bạn sao cho tối ưu nhất và bạn phải tự học và nhớ các phím tắt đó. nhưng khi bạn hoàn tất được những việc đó thì rat là sức đáng với công sức thành quả luyện tập của bạn. (Thời gian bắt đầu là 21 tiếng).
Để lại một bình luận