thảo luận Hội chơi vim/nvim

rảnh rỗi nhận xét cú pháp của bác một tí có gì cứ gạch :beat_brick:
8jfras cái thì cũng được thôi nhưng có vài vấn đề
- thứ nhất 8j để đến một line code nào đó thì nên dùng 8gg con trỏ đang ở bất cứ đâu thì sẽ đến dòng số 8, như bác làm xem dòng cusor hiện bn rồi đếm xem cần nhảy bn dòng để đến dòng số 8 rất phi logic.
- thứ hai fr cũng ok nhưng nếu để chèn vào cuối từ thì nên dùng ea (ở đây mình nói là nên) còn fr thường dùng khi chèn vào giữa từ, như cái thứ nhất bác sẽ mất công tìm chữ cuối cùng đề f tới là gì mất thời gian. vd: hàm nó là setViewe fe à?

nếu bác gõ có quy tắc chút sẽ quen tay và code nhanh hơn.
chuẩn sẽ là: 8ggeas
Thím ấy để relativenumber thì 8j là chuẩn rồi mà thím.
 
8jfras cái thì cũng được thôi nhưng có vài vấn đề
- thứ nhất 8j để đến một line code nào đó thì nên dùng 8gg con trỏ đang ở bất cứ đâu thì sẽ đến dòng số 8, như bác làm xem dòng cusor hiện bn rồi đếm xem cần nhảy bn dòng để đến dòng số 8 rất phi logic.
Thím ấy để relativenumber thì 8j là chuẩn rồi mà thím.

Đúng rồi. Biết đâu thím ấy để relative number. Nếu làm việc ở số dòng cao và có nhu cầu nhảy ngắn thì việc dùng relative number rất có ích.
 
@unix Em để relative number thật, giả sử cái file mấy trăm line mình đâu có nhớ nổi dòng code mình cần ở line nào, nên thói quen của em là nếu code không nằm trong view port thì jump, ngoài view port thì seach.
Còn nhảy tới end of word hay find chữ cuối cùng của word thì cũng tuỳ ngữ cảnh chứ không phải lúc nào em cũng dùng f để nhảy đâu :) nhưng theo thói quen thì dùng f nhiều hơn, code base bên em để 1 line là 120 char (di sản của mấy dev trước để lại) nên nhiều khi dùng e với b không nhanh bằng f, dùng nhiều quen tay nên lấy ví dụ thôi.
Thím cứ góp ý thêm :)
 
Có thím nào chơi float window trên nvim ko, làm sao để mỗi lần mở lên nó tự cd đến thư mục hiện tại chứ ko phải thư mục gốc nhỉ?
 
Có thím nào chơi float window trên nvim ko, làm sao để mỗi lần mở lên nó tự cd đến thư mục hiện tại chứ ko phải thư mục gốc nhỉ?
cái này hình như thím phải vào thư mục project của thím rồi mới bật nvim nó mới trỏ tới thư mục hiện tại
p/s: nhân tiện cho e hỏi có thím nào biết plugin dùng để comment code html ko chỉ e với :D
 
Last edited:
Công ty các thím dễ thế, công ty mình thì 1 là đồ của Jetbrain 2 là Eclipse, bên .Net thì Visual Studio. Cá nhân mình cũng muốn xài IDE theo sở thích (làm hobby project mình dùng vscode), nhưng trong môi trường làm việc chung thì làm vậy rủi ro lắm. Trước tiên là nhiều manager họ có thể bằng mặt nhưng ko bằng lòng, lí do họ đưa ra là có khả năng bị lỗi liên quan đến IDE, xài chung 1 cái thì nếu có người bị rồi thì sau nay ai bị nữa fix cũng lẹ, ko ảnh hưởng tiến độ dự án. Thứ 2 là phần lớn dev ở VN ko dùng vim hay emacs để code, nên nhiều khi mình bị bí, phải nhờ leader hay expert qua support, mà để họ lóng ngóng navigate code bằng vim thì tạo không khí ko dễ chịu chút nào, mình ngồi chuyển code giúp họ thì ko hiệu quả :big_smile:

Mà thấy nhiều thím đánh giá cao khả năng chỉnh sửa text của vim mà ko nhắc tới 1 món quan trọng khác là debugger nhỉ. Có dạo mình cũng tập tành học vim nhưng mà suy xét thiệt hơn thì thấy thời gian bỏ ra để master vim so với nhưng gì thu về ko đáng nên nghỉ :byebye:, cá nhân mình đi làm 2.5 năm thì thấy code chủ yếu debug là chính, những tác vụ cần đến những tính năng edit mạnh của vim thì hiếm khi xài tới, như cái ví dụ nhảy 8 dòng rồi sửa chính tả của bác nào ấy, dùng IDE + chuột thì chậm hơn thật, nhưng cũng chả mấy khi làm mấy cái đó, lúc code thì IDE nó nhắc tên hàm với biến, nhiều thằng nó còn gợi ý khai báo tên biến theo tên class nữa nên nhu cầu sửa lại code khi có lỗi syntax hay chính tả khá ít, thường là sửa logic là chính.

IDE nó ko support edit text mạnh bằng vim nhưng có cái debug UI với các tính năng inspect lúc debug bù lại, với cả các tính năng liên quan đến code nữa, generate method, go to super method, convert anonymous class <-> lamda, traditional foreach -> foreach function, class hierarchy (cái tính năng này của thằng Jetbrain hay vãi mà chưa thấy thằng language server nào làm :sad:)
 
cái này hình như thím phải vào thư mục project của thím rồi mới bật nvim nó mới trỏ tới thư mục hiện tại
p/s: nhân tiện cho e hỏi có thím nào biết plugin dùng để comment code html ko chỉ e với :D
Thím dùng tcomment, comment các thể loại code
aOtDIDQ.png
 
Công ty các thím dễ thế, công ty mình thì 1 là đồ của Jetbrain 2 là Eclipse, bên .Net thì Visual Studio. Cá nhân mình cũng muốn xài IDE theo sở thích (làm hobby project mình dùng vscode), nhưng trong môi trường làm việc chung thì làm vậy rủi ro lắm. Trước tiên là nhiều manager họ có thể bằng mặt nhưng ko bằng lòng, lí do họ đưa ra là có khả năng bị lỗi liên quan đến IDE, xài chung 1 cái thì nếu có người bị rồi thì sau nay ai bị nữa fix cũng lẹ, ko ảnh hưởng tiến độ dự án. Thứ 2 là phần lớn dev ở VN ko dùng vim hay emacs để code, nên nhiều khi mình bị bí, phải nhờ leader hay expert qua support, mà để họ lóng ngóng navigate code bằng vim thì tạo không khí ko dễ chịu chút nào, mình ngồi chuyển code giúp họ thì ko hiệu quả :big_smile:

Mà thấy nhiều thím đánh giá cao khả năng chỉnh sửa text của vim mà ko nhắc tới 1 món quan trọng khác là debugger nhỉ. Có dạo mình cũng tập tành học vim nhưng mà suy xét thiệt hơn thì thấy thời gian bỏ ra để master vim so với nhưng gì thu về ko đáng nên nghỉ :byebye:, cá nhân mình đi làm 2.5 năm thì thấy code chủ yếu debug là chính, những tác vụ cần đến những tính năng edit mạnh của vim thì hiếm khi xài tới, như cái ví dụ nhảy 8 dòng rồi sửa chính tả của bác nào ấy, dùng IDE + chuột thì chậm hơn thật, nhưng cũng chả mấy khi làm mấy cái đó, lúc code thì IDE nó nhắc tên hàm với biến, nhiều thằng nó còn gợi ý khai báo tên biến theo tên class nữa nên nhu cầu sửa lại code khi có lỗi syntax hay chính tả khá ít, thường là sửa logic là chính.

IDE nó ko support edit text mạnh bằng vim nhưng có cái debug UI với các tính năng inspect lúc debug bù lại, với cả các tính năng liên quan đến code nữa, generate method, go to super method, convert anonymous class <-> lamda, traditional foreach -> foreach function, class hierarchy (cái tính năng này của thằng Jetbrain hay vãi mà chưa thấy thằng language server nào làm :sad:)
oày, em đi làm 2 3 cty ở sin, không cty nào care dùng editor/ide nào. Về format thì dùng lint với ci/cd thì editor nào cũng được miễn là đúng chuẩn. Mà môi trường của thím chắc code/java .net nên dùng tool của mấy thằng ide có sẵn thì tiện phải rồi
B6OfawL.png
 
oày, em đi làm 2 3 cty ở sin, không cty nào care dùng editor/ide nào. Về format thì dùng lint với ci/cd thì editor nào cũng được miễn là đúng chuẩn. Mà môi trường của thím chắc code/java .net nên dùng tool của mấy thằng ide có sẵn thì tiện phải rồi
B6OfawL.png

Đúng rồi thím, mình làm Java, nhiều project cổ đại, cái readme chỉ ghi mỗi cách setup bằng IDEA hoặc eclipse, dùng mấy editor khác import vô rồi start được project cho nó chạy thôi cũng đã là cực hình rồi :oh:
 
Đúng rồi thím, mình làm Java, nhiều project cổ đại, cái readme chỉ ghi mỗi cách setup bằng IDEA hoặc eclip, dùng mấy editor khác import vô rồi start được project cho nó chạy thôi cũng đã là cực hình rồi :oh:
Uhm, làm project enterprise thì đừng đú vim ko dân tình lại chửi khổ dâm
CnTJD94.png
 
rảnh rỗi nhận xét cú pháp của bác một tí có gì cứ gạch :beat_brick:
8jfras cái thì cũng được thôi nhưng có vài vấn đề
- thứ nhất 8j để đến một line code nào đó thì nên dùng 8gg con trỏ đang ở bất cứ đâu thì sẽ đến dòng số 8, như bác làm xem dòng cusor hiện bn rồi đếm xem cần nhảy bn dòng để đến dòng số 8 rất phi logic.
- thứ hai fr cũng ok nhưng nếu để chèn vào cuối từ thì nên dùng ea (ở đây mình nói là nên) còn fr thường dùng khi chèn vào giữa từ, như cái thứ nhất bác sẽ mất công tìm chữ cuối cùng đề f tới là gì mất thời gian. vd: hàm nó là setViewe fe à?

nếu bác gõ có quy tắc chút sẽ quen tay và code nhanh hơn.
chuẩn sẽ là: 8ggeas

Thế 8gg với 8G thì sao hả thím?
 
Trước em cũng xài sublime, sau thì vs code. sublime text thì nhanh, nhẹ nên dùng để edit text. Sau mới dùng thử vim, vừa nhanh vừa nhẹ, mở cả chục project vẫn ổn
aOtDIDQ.png

Hồi xưa tôi cũng thử thay vim (chạy bằng terminal là urxvt vì mục tiêu là tiết kiệm RAM), thay cho IDEA vốn đã là daily tool cả 5 năm nay. Lọ mọ cài hết cả đống, từ search file, search project, autocompletion, refactor, go to implementation, nói chung là code java bên idea như thế nào thì qua đây nó được 80% như thế.

Còn cái debug chưa xử lý được thôi nhưng nhìn lại thì mở cái project lên nó nuốt RAM cũng dữ dằn (ít hơn 1 khoảng so với IDEA). Xong bỏ ý định đó luôn vì nó không đáng để thay đổi.

Giờ thì đang xài vim mode trên IDEA.

các thím thường dùng tổ hợp phím gì để nhảy lên nhảy xuống chổ mình muốn nhanh nhỉ, e nhảy vẫn còn chậm quá, e hay dùng Ctrl d/u mà thấy nó hơi chuối chuối

{ hoặc } đi theo paragraph.

Hoặc ^f
Hoặc ^b
 
Last edited:
các thím nào đã dùng Emacs với EVIL mode rồi thấy nó như nào với vim nhỉ? đang tính nghịch xem sao
 
các thím nào đã dùng Emacs với EVIL mode rồi thấy nó như nào với vim nhỉ? đang tính nghịch xem sao
Như chữ ký :giggle:
Thực ra vim hay emacs thì nó còn phụ thuộc vào khả năng custom của user khá nhiều. Mỗi người lại có cảm nhận khác nhau.
@Cong_Go_De_Su @Voldedore
2 thím nói cũng đúng nếu code Java/.Net thì chả thằng nào qua lại Intellij idea/Visual Studio đâu.
 
Last edited:
Mình hay nhảy nhanh bằng cánh nhấn tab tab, rồi coi chỗ mình nhảy nó là chữ gì, gõ chữ đó cho nó nhảy tới thôi.

Ko biết có thím nào xài cách này ko :D

Mình thấy khỏe hơn mấy cách trên, nhưng tùy mỗi người thôi ^^
 
Mình hay nhảy nhanh bằng cánh nhấn tab tab, rồi coi chỗ mình nhảy nó là chữ gì, gõ chữ đó cho nó nhảy tới thôi.

Ko biết có thím nào xài cách này ko :D

Mình thấy khỏe hơn mấy cách trên, nhưng tùy mỗi người thôi ^^
Thím bind tab tab với command gì ? Nghe giống như vim-motion
Pm9YP1O.png
 
Back
Top