Ở đây có thím nào dùng vim(nvim) editor không nhỉ
Em cũng dev js quèn thôi (react, node, ...) trước giờ vốn dùng vscode. Nhưng hồi cách đây không lâu, thấy thằng đồng nghiệp người pháp dùng vim đỉnh quá, đỉnh đây không phải là tỏ vẻ nguy hiểm mà thấy nhanh thực sự nên cũng cắp sách đi học nó.
Qua thời gian bỡ ngỡ ban đầu (giờ vẫn chưa quen), tới bây giờ chắc là 3 tháng rồi mới thấy vim nó quá mạnh. Bên cạnh hệ thống phím tắt khủng thì vim is extremely extensible (em không biết dùng chữ gì cho phù hợp) hàng tá plugin cho mọi nhu cầu. với cái vim-coc thì intellisense không khác gì vscode. Vì vim console-based nên cực nhanh.
Mỗi ngày đều ráng học tricks từ thằng người pháp nhợn, mới có da lông thôi mà đã cảm thấy thao tác nhanh hơn hẳn vscode
Thím nào có biết plugin nào hay hoặc trick nào thì cùng chia sẻ nhé
Mớ plugin hiện tại của em (xào từ của thằng người pháp)
Hơn cả vscode nhé thím, suggest, go to definition, lint, ... đầy đủ hết. Vscode có gì thì vim cũng có thể làm được cái nấy
suggest, go to definition lấy ở đâu thế thím
zzchaolegionzz
Dè de, mong mãi mới có topic này.
Em xài neovim và gần đây mới thử cái floating windows kết hợp với fzf, cái floating này có thể mod để hiển thị bất cứ thứ gì chứ không riêng output của fzf, ví dụ show inline docs.
Dè de, mong mãi mới có topic này.
Em xài neovim và gần đây mới thử cái floating windows kết hợp với fzf, cái floating này có thể mod để hiển thị bất cứ thứ gì chứ không riêng output của fzf, ví dụ show inline docs.
Google thôi thím, ví dụ đây là danh sách plugin cho coc em đang xài, cái coc-tsserver là đủ để intellsense cho js (cả react, js, node, ts)
View attachment 7318 syntax thì có nhiều package ví dụ như vim-javascript
hay phet, de e ngâm cứu thử, đang định code Go, tập vim luôn
rongqui
vừa mới bỏ sublime text qua vs code
zzchaolegionzz
Có thím nào config thành công vim với godot engine để code gdscript trên vim chưa? Đầy đủ báo lỗi syntax và code suggestion.
Mình config được code suggestion rồi nhưng cái linter qua Ale bị xì ke, toàn báo lỗi nguyên file ở line cuối cùng, phải gõ
:Aleinfo lên đọc
vanfsn
Thấy bảo Visual Studio Code giờ đang thắng mà?
Bỏ vim xa lắc lơ
Thấy bảo Visual Studio Code giờ đang thắng mà?
Bỏ vim xa lắc lơ
Vim có bao giờ phải cạnh tranh với ai đâu thím. Hồi giờ nó chỉ dành cho 20% dev thôi, năm nào cũng ổn định ở khoảng đấy (theo thống kê của stackoverflow), vì editor là sở thích cá nhân chứ không phải sản phẩm thị trường cần đánh dấu thành công bằng thị phần. MS cần vscode để quảng bá hệ sinh thái Windows, còn Vim đứng sau là một cộng đồng dev được coi là khổ dâm và cũng không có mục đích khuyến dụ ai lấy thị phần editor cả.
Có thím nào config thành công vim với godot engine để code gdscript trên vim chưa? Đầy đủ báo lỗi syntax và code suggestion.
Mình config được code suggestion rồi nhưng cái linter qua Ale bị xì ke, toàn báo lỗi nguyên file ở line cuối cùng, phải gõ
:Aleinfo lên đọc
Không code go nên chịu thím à
chim_to_khong_so_mod
thím có setting vim nào hay hay k share e với, nhìn mặc định xấu quá
à làm việc với project, bật 2 3 file 1 lúc để so sánh ...., chuyển tab thì dùng thế nào vậy thím, view project tree nua
thím có setting vim nào hay hay k share e với, nhìn mặc định xấu quá
à làm việc với project, bật 2 3 file 1 lúc để so sánh ...., chuyển tab thì dùng thế nào vậy thím, view project tree nua
thím có setting vim nào hay hay k share e với, nhìn mặc định xấu quá
à làm việc với project, bật 2 3 file 1 lúc để so sánh ...., chuyển tab thì dùng thế nào vậy thím, view project tree nua
Làm với nhiều project, view tree thì dùng plugin NERDtree là đủ.
Chuyển giữa các tab (gt, gT), new tab
tabnew)
Split cửa sổ nhiều file để so sánh: ctrl + w + s, ctrl + w + v
Sơ sơ vậy chứ phím tắt thì thím nên google là có hết, hoặc là tự học trong chính Vim luôn, bắt đầu bằng
:Tutor Tôi chân thành khuyên thím nên học theo Vim tutor, tất cả thao tác cơ bản trong đó có hết, xong thì mới tính đến cài plugin, chứ xài plugin từ đầu rồi lại lệ thuộc vào nó, đó không phải tinh thần của Vimmer.
Làm với nhiều project, view tree thì dùng plugin NERDtree là đủ.
Chuyển giữa các tab (gt, gT), new tab
tabnew)
Split cửa sổ nhiều file để so sánh: ctrl + w + s, ctrl + w + v
Sơ sơ vậy chứ phím tắt thì thím nên google là có hết, hoặc là tự học trong chính Vim luôn, bắt đầu bằng
:Tutor Tôi chân thành khuyên thím nên học theo Vim tutor, tất cả thao tác cơ bản trong đó có hết, xong thì mới tính đến cài plugin, chứ xài plugin từ đầu rồi lại lệ thuộc vào nó, đó không phải tinh thần của Vimmer.
Thím này nói chuẩn này, học qua vim tutor trước
Rongcon.com.vn
mình cũng đang học dùng vim, đỡ phải cài nhiều editor trên linux
VuDucNguyen9x
Cũng đang dùng vi/vim/nvim. Chủ yếu làm cơ bản, không dev nên cũng toàn dùng mặc định, chả thêm plugin nào
Làm với nhiều project, view tree thì dùng plugin NERDtree là đủ.
Chuyển giữa các tab (gt, gT), new tab
tabnew)
Split cửa sổ nhiều file để so sánh: ctrl + w + s, ctrl + w + v
Sơ sơ vậy chứ phím tắt thì thím nên google là có hết, hoặc là tự học trong chính Vim luôn, bắt đầu bằng
:Tutor Tôi chân thành khuyên thím nên học theo Vim tutor, tất cả thao tác cơ bản trong đó có hết, xong thì mới tính đến cài plugin, chứ xài plugin từ đầu rồi lại lệ thuộc vào nó, đó không phải tinh thần của Vimmer.
btw, thím có solution nào cho multi cursor không? Từ sublime/vscode chuyển qua thì nhớ nhất là cái đó
Nghiên cứu thì thấy vimer khuyến khích không nên dùng cái đó mà tận dụng các tính năng của vim mà vẫn thấy bất tiện, có 1 số plugin multicusor mà thấy sida quá, tính năng không ổn định hoặc treo mẹ nvim.
L1f3 ver 2
Có bác nào có macro cho việc bôi đen 1 từ rồi search / replace luôn ko cho em xin với
btw, thím có solution nào cho multi cursor không? Từ sublime/vscode chuyển qua thì nhớ nhất là cái đó
Nghiên cứu thì thấy vimer khuyến khích không nên dùng cái đó mà tận dụng các tính năng của vim mà vẫn thấy bất tiện, có 1 số plugin multicusor mà thấy sida quá, tính năng không ổn định hoặc treo mẹ nvim.
Mình cũng xài một thời gian rồi gỡ vì nó lắm bug quá. Giờ toàn find match exact world, replace xong
n rồi
.
, làm mãi cũng quen và quên được cái multi cursor bên vscode. Với lại thỉnh thoảng mình mới dùng nên chịu khó tí vậy, đổi lại thì những thao tác khác lại nhanh hơn dùng vscode nhiều.
chimlon008
mình xài vim key trên sublime text, cũng được 6 năm rồi.
có đợt chuyển sang vscode nhưng chậm quá lại quay về sublime text
Ở đây chúng tôi không làm thế. Say no to editor war.
mhhmmm
em cũng dùng nvim, cấu hình ngon lành các kiểu nhưng di chuyển vẫn chưa quen, vẫn còn muốn dùng chuột nên lâu lâu vẫn mở vscode lên. Đoạn bôi đen với chỉnh sửa trên vim này hơi rối với em, không biết thím nào có kinh nghiệm chia sẻ với ạ
em cũng dùng nvim, cấu hình ngon lành các kiểu nhưng di chuyển vẫn chưa quen, vẫn còn muốn dùng chuột nên lâu lâu vẫn mở vscode lên. Đoạn bôi đen với chỉnh sửa trên vim này hơi rối với em, không biết thím nào có kinh nghiệm chia sẻ với ạ
Thím config
set mouse=a thì dùng chuột ngon lành mà thím
có config rồi nhưng nghe bảo dùng chuột không thượng đẳng
cứ tập hjkl cho quen
Dùng chuột tiện vkl ấy, nhất là khi đang lướt web ở tư thế nằm ngang ghế mà cần xem qua code lại phải để cả 2 tay lên bàn phím
Có mỗi trường hợp đấy là chuột hữu ích thôi, còn đã đặt 2 tay lên bàn phím thì bàn phím nhanh hơn
Anh làm sao có thể kích động tôi được. Emacs với Vim mạnh như nhau nhé.
Chỉ cay là Emacs thường phải tự cài còn Vim hay được cài sẵn
ndv92
Mình thấy bên vscode các theme của nó có syntax highlight bằng chữ nghiêng italic. VD như dùng chữ nghiêng cho attribute của thẻ HTML, JSX; chữ nghiêng cho các params khi khai báo function.
Có cách nào làm được điều tương tự (một cách dễ dàng) bên vim không? Theo mình thấy cái này phụ thuộc vào theme và cả plugin syntax highlight. Các theme và plugin highlight bên vim hình như đều không dùng font italic ở chỗ nào cả (trừ comment). Nếu mày mò chỉnh tay lại phần highlight thì rất mất thời gian.
Dùng chuột tiện vkl ấy, nhất là khi đang lướt web ở tư thế nằm ngang ghế mà cần xem qua code lại phải để cả 2 tay lên bàn phím
Có mỗi trường hợp đấy là chuột hữu ích thôi, còn đã đặt 2 tay lên bàn phím thì bàn phím nhanh hơn
Thím cài thêm Vimium trên Chrome hoặc tridactyl trên Firefox lướt web khỏi cần chuột luôn
cứ đặt 2 tay trên bàn phím rồi dùng vim keybinding mà triển
Thím cài thêm Vimium trên Chrome hoặc tridactyl trên Firefox lướt web khỏi cần chuột luôn
cứ đặt 2 tay trên bàn phím rồi dùng vim keybinding mà triển
trong đám add-on vim keybinding thì vimium và surfingkeys có cả cho chrome và firefox, dùng tiện config cả hai bên luôn. Thằng surfingkeys nhiều chức năng hơn, mà vommibar của nó cứ bị hơi chậm.
Thím cài thêm Vimium trên Chrome hoặc tridactyl trên Firefox lướt web khỏi cần chuột luôn
cứ đặt 2 tay trên bàn phím rồi dùng vim keybinding mà triển
Tôi dùng vimium mấy năm rồi ấy chứ, ý là mấy hôm lười lười nằm lướt web bằng chuột mà phải check code bên vim thì lại phải đặt tay xuống bàn phím
, lúc đấy mới thấy xài chuột trong vim tiện vkl.
HGB2016
Các thým cho em hỏi, làm sao view vào file import giống như thao tác giữ Ctrl + Click vào path file trong VSCode ạ?
Các thým cho em hỏi, làm sao view vào file import giống như thao tác giữ Ctrl + Click vào path file trong VSCode ạ?
Như mấy thím trên cũng nói xài vim thì hạn chế dùng chuột, nếu cái lang thím đang code có một language server tốt thì thím có thể gọi :AleGotoDefinition nếu dùng Ale, hoặc như thím trên nói cái coc-nvim cũng có. Nhưng không phải language server nào cũng tốt, có những cái nó không goto definition được thì Vim nó force mình phải hiểu được cái file/function mình import từ đâu -> hiểu code base hơn -> code tốt hơn.
Có một số project việc thím load nó lên IDE rồi config file build cho nó còn mệt mỏi hơn là dùng sẵn file build của nó rồi make tay thím ạ
. Đó là chưa kể đến việc đôi khi thím ko có source để mà ném vào IDE nữa ...
thím có setting vim nào hay hay k share e với, nhìn mặc định xấu quá
à làm việc với project, bật 2 3 file 1 lúc để so sánh ...., chuyển tab thì dùng thế nào vậy thím, view project tree nua
muốn keyboard friendly thì vim-clap vs fzf là đủ xài rồi
//vim-clap đang beta, LustyExplorer xài ổn định hơn
Last edited:
chungcanhngo
Anh em nào tổng hợp phím cho dev lên #1 đi. Như auto format code, copy, duplicate line ...
Anh em nào tổng hợp phím cho dev lên #1 đi. Như auto format code, copy, duplicate line ...
Phím tắt một phần phụ thuộc vào plugin, ngoài ra tất cả đều thay đổi theo sở thích cá nhân được. Tổng hợp plugin và theme thì hay hơn.
dungbiuit
Theo em sử dụng thì các bác có thể coi Vim như một IDE nếu có bộ 3
1/ YouCompleteMe (bộ AutoCompletion cho mọi ngôn ngữ dù cài đặt hơi khoai)
2/ Syntastic (Kiểm tra syntax của code các bác
3/ NerdTree hoặc CtrlP (giống bộ duyệt file trong các Text Editor và IDE)
Còn vụ debug thì em cũng k rõ lắm nhưng Vim đều có thể chạy được các code mà em đang học như C++ hoặc Python
thl2009
Dùng color schema dark nào ổn các thím, mình dùng atom one dark, mở thử file vue xấu quá.
Chưa tìm thằng nào ngon.
chung1905
Trong cty mình có 1 dev nữ 95 dùng emacs code PHP + JS
Tầm sư học đạo đc vài tháng thì thấy thật sự nó vẫn thua PHPStorm kể cả có LSP
ghét NVIDIA
mình dùng MacVim thôi chứ vim trong terminal chỉ dùng sửa nhanh mấy file dạng config thôi vì vim terminal không chỉnh màu hợp mắt được. neovim thì chưa đụng tới vì chưa có cái nào dạng như MacVim cho neovim (thực ra là cũng có một số cái tương tự nhưng nặng nề, không nhẹ nhàng được như MacVim)
mình dùng MacVim thôi chứ vim trong terminal chỉ dùng sửa nhanh mấy file dạng config thôi vì vim terminal không chỉnh màu hợp mắt được. neovim thì chưa đụng tới vì chưa có cái nào dạng như MacVim cho neovim (thực ra là cũng có một số cái tương tự nhưng nặng nề, không nhẹ nhàng được như MacVim)
Em thấy nhẹ hay không cũng do nhu cầu sử dụng của bản thân ấy, kiểu muốn nhẹ thì cài ít plugins thôi. Em thấy bản chất mấy tụi này cũng nhau à bác
Trong cty mình có 1 dev nữ 95 dùng emacs code PHP + JS
Tầm sư học đạo đc vài tháng thì thấy thật sự nó vẫn thua PHPStorm kể cả có LSP
Anh có thể giới thiệu tôi dev nữ đó ko? Bao năm nay ngoài thầy tôi, ông PhD cùng lab thì tôi mới tìm thấy người thứ 3 dùng Emacs.
linhusp3
Đã xài nvim thì xài luôn coc-nvim cho nóng. Floating document, emmet, snippet, lsp, add-on hoạt động tương tự vscode. Bọn coc-nvim vẫn liên tục port addon từ vscode qua. Hiện tại autopairs, ts, js, py, html, css, go, latex đã port và xài ổn. Vừa tận dụng đc những cái mạnh mẽ của vim vừa có những cái của vscode. Trải nghiệm phải gọi là tuyệt vời.
Tiện đây vimp0rn luôn đê
, ae nào thấy ổn cho em ít sao
https://github.com/linhusp/mydot
Dùng vim mà thêm hardtime hay hardmode nữa chắc khổ dâm tột đỉnh
Mà nvim có gì khác vim nhỉ các thím
1/ Source Code của vim cũ hơn của nvim -> có mấy member trên Stackoverflow bảo nếu ông dev chết coi như k nâng cấp vim nữa
2/ Ngoài ra còn mấy cái lặt vặt nhỏ mà nói chung là không quá khác biệt rõ rệt như từ vi sang vim đâu bác
linhusp3
Tips cho các ae mới chơi, em chỉ chia sẻ những gì mình cảm nhận sau ít năm tập tành, bác nào exp 6, 7 năm xin đừng gạch em tội nghiệp.
Sau khi các ae đã ổn thao tác với hjkl rồi thì... hãy tạm ngưng và hạn chế xài nó. Thay vào đó tập dùng những key khác như {}, [] hay w, e, b, g, n, f, *,.... (Khuyến khích dùng vim-hardtime như bác nào đó phía trên, nó sẽ giới hạn lượt nhấn hjkl xuống 1 lần/s)
Và theo em cái hay của vim không phải là hjkl hay những lệnh đơn, chúng chỉ là cái vỡ lòng để bắt đầu với vim thôi. Cái mạnh của vim là những cách kết hợp của nhiều lệnh khác nhau tùy theo nhu cầu sử dụng, và mục đích cuối là giúp những thao tác tưởng như nhàm chán trở nên nhanh chóng hơn.
Ví dụ các ae muốn gõ lại đoạn text trong ngoặc kép, ae có thể dùng `ci{`. Mới đầu sẽ khó nhớ tuy nhiên ae nên tránh học thuộc những lệnh này một máy móc. Thay vào đó hãy tìm hiểu rõ mỗi lệnh có khả năng gì. Ở ví dụ trên `ci{` có thể được hiểu là "[c]hange [ i ]nner [{] block", tương tự ae có thể tự test với các tổ hợp như `daw`, `cf)`, `V5jd`....
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
Khi ae hiểu lệnh rồi khi cần ae sẽ tự khắc biết dùng cái nào. Ví dụ trên chỉ là cái cơ bản, trong vim còn rất nhiều những thứ hay ho khác như mapping, macro, tab, buffer, terminal,... và nhiều cái khác em cũng chưa biết tới.
Ae mới nên tập dùng hết những thứ có sẵn trong vim, khi nào nhu cầu mở rộng hẵng tìm đến plugin. Em thấy nhiều dân chuyên người ta chỉ dùng vim mặc định cũng làm được hết việc với hiệu suất cao. Tất nhiên plugin có rất nhiều cái hay, nhưng mình mới sd vim thì nên cố gắng tìm hiểu cái cốt lõi của nó trước, tránh cài nhiều plugin, script tràn lan nhưng không dùng đến hoặc không biết dùng để làm gì rất nguy hiểm.
Trên đấy là vài ý nho nhỏ của em, các lão làng thấy có gì hay cứ đóng góp thêm.
Trên đấy là vài ý nho nhỏ của em, các lão làng thấy có gì hay cứ đóng góp thêm.
Đồng ý với thím. Thường thì lộ trình bắt đầu với vim là: Cài vim > nhớ chức năng bên editor cũ > cài plugin > plugin lỗi hoặc thiếu chức năng >
1. bỏ vim
2. học cách thực hiện chức năng đó mà không có plugin
Nhưng cũng có những người học vim bài bản từ đầu, không có plugin nào, không config, remap gì hết, nhưng ca này hiếm, thường thì sẽ bắt đầu với một tá plugin và config copy, xong xoá dần cho phù hợp với mình.
Thế nên các bạn cũng đừng lo dùng plugin hay phím mũi tên nó không thượng đẳng, quan trọng là bạn vẫn tiếp tục xài vì thấy được cái hay của nó và tiếp tục học để thay đổi những thói quen trước đó.
chienbinhso13
Em toàn dùng vim basic, chủ yếu sửa config trên centos :v
mấy bác đi làm cho em hỏi vào cty trong team người ta có gắt gao vụ IDE hay Editor chung k. Em chỉ biết format code chung thì có thôi
Mình chưa thấy bao giờ, nhưng mấy ông dùng editor lọng cọng, không biết setup để tối ưu workflow thì sẽ bị nhắc nhở vì hiệu suất thấp. Còn format code thì bắt buộc rồi, mấy file như editor config phải dùng chung mà.
mấy bác đi làm cho em hỏi vào cty trong team người ta có gắt gao vụ IDE hay Editor chung k. Em chỉ biết format code chung thì có thôi
Như thím trên nói đúng đấy, chưa thấy cty nào gắt vụ này. Thường format code thì giờ có linter làm khá tốt rồi, không format đúng chuẩn thì CI fail ngay. Tóm lại là quen với thằng nào thì làm thằng đó
hts222
Các thím gõ tiếng việt trong vim được không nhỉ? Tự nhiên gõ bằng ibus-bamboo bị lỗi, trước gõ bth.
EDIT thử một hồi thì thấy có vẻ như hardtime gây ra lỗi này
Last edited:
saothuat
Khoe tí, dùng gvim(ubuntu) làm main editor hơn 2 năm rồi, config đủ kiểu con đà điểu hết
View attachment 14477 Khoe tí, dùng gvim(ubuntu) làm main editor hơn 2 năm rồi, config đủ kiểu con đà điểu hết
Trông ngon đó thím, thím share dotfiles hoặc plugin để tham khảo được không.
Cái terminal là panel của vim à thím ? Em dùng terminal trong nvim thì chỉ bực cái là không có ctr+k để clear được
Trông ngon đó thím, thím share dotfiles hoặc plugin để tham khảo được không.
Cái terminal là panel của vim à thím ? Em dùng terminal trong nvim thì chỉ bực cái là không có ctr+k để clear được
https://github.com/skwp/dotfiles đây là bản gốc, thằng này là combo vim +zsh(prezto), bản này support cả ubuntu + mac, cơ mà có 1 vài chỗ mình không ưng như dùng ctrlp hay deoplete vs lại nhiều plugin ko dùng tới, nên từ bản gốc mình tạo ra bản thu gọn dùng cho riêng mình, thím có thể tham khảo ở đây:
https://github.com/ngocthienvnn/vim-configuration terminal của vim hình như ko hỗ trợ zsh thì phải, nên mình ít dùng, mình toàn dùng terminal ngoài thôi, đang dùng thằng tilix
thực ra editor nào ko quan trọng, quan trọng là dùng nó như nào.
Trước ông thầy bảo dùng Emacs, thế là tập dùng
cái này đồng ý, không quan trọng editor, quan trọng là dùng nó ntn và tạo ra sản phẩm ra sao thôi
trước đây mình vẫn hay dùng vscode + phpstorm, đột nhiên có 1 time thấy chán code, kiểu ko còn hứng thú vs code nữa
rồi vô tình bt dc vim, thế là mày mò cách dùng, config các kiểu , rồi bắt đầu thấy hứng thú lại vớicode
yêu vim từ đó đến nay
cái này đồng ý, không quan trọng editor, quan trọng là dùng nó ntn và tạo ra sản phẩm ra sao thôi
trước đây mình vẫn hay dùng vscode + phpstorm, đột nhiên có 1 time thấy chán code, kiểu ko còn hứng thú vs code nữa
rồi vô tình bt dc vim, thế là mày mò cách dùng, config các kiểu , rồi bắt đầu thấy hứng thú lại vớicode
yêu vim từ đó đến nay
khi code nó là công việc rồi thì ko hứng cũng phải cố
Tips cho các ae mới chơi, em chỉ chia sẻ những gì mình cảm nhận sau ít năm tập tành, bác nào exp 6, 7 năm xin đừng gạch em tội nghiệp.
Sau khi các ae đã ổn thao tác với hjkl rồi thì... hãy tạm ngưng và hạn chế xài nó. Thay vào đó tập dùng những key khác như {}, [] hay w, e, b, g, n, f, *,.... (Khuyến khích dùng vim-hardtime như bác nào đó phía trên, nó sẽ giới hạn lượt nhấn hjkl xuống 1 lần/s)
Và theo em cái hay của vim không phải là hjkl hay những lệnh đơn, chúng chỉ là cái vỡ lòng để bắt đầu với vim thôi. Cái mạnh của vim là những cách kết hợp của nhiều lệnh khác nhau tùy theo nhu cầu sử dụng, và mục đích cuối là giúp những thao tác tưởng như nhàm chán trở nên nhanh chóng hơn.
Ví dụ các ae muốn gõ lại đoạn text trong ngoặc kép, ae có thể dùng `ci{`. Mới đầu sẽ khó nhớ tuy nhiên ae nên tránh học thuộc những lệnh này một máy móc. Thay vào đó hãy tìm hiểu rõ mỗi lệnh có khả năng gì. Ở ví dụ trên `ci{` có thể được hiểu là "[c]hange [ i ]nner [{] block", tương tự ae có thể tự test với các tổ hợp như `daw`, `cf)`, `V5jd`....
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
Khi ae hiểu lệnh rồi khi cần ae sẽ tự khắc biết dùng cái nào. Ví dụ trên chỉ là cái cơ bản, trong vim còn rất nhiều những thứ hay ho khác như mapping, macro, tab, buffer, terminal,... và nhiều cái khác em cũng chưa biết tới.
Ae mới nên tập dùng hết những thứ có sẵn trong vim, khi nào nhu cầu mở rộng hẵng tìm đến plugin. Em thấy nhiều dân chuyên người ta chỉ dùng vim mặc định cũng làm được hết việc với hiệu suất cao. Tất nhiên plugin có rất nhiều cái hay, nhưng mình mới sd vim thì nên cố gắng tìm hiểu cái cốt lõi của nó trước, tránh cài nhiều plugin, script tràn lan nhưng không dùng đến hoặc không biết dùng để làm gì rất nguy hiểm.
Trên đấy là vài ý nho nhỏ của em, các lão làng thấy có gì hay cứ đóng góp thêm.
Dot command (.) cũng là 1 trong các thứ rất hay ho của vim.
View attachment 14480Khoe tí, dùng gvim(ubuntu) làm main editor hơn 2 năm rồi, config đủ kiểu con đà điểu hết
Laravel hả đồng dâm
Share cho mình mấy cái plugin ngon và cơ bản cho nó đi. Mình vẫn dùng vim mà chỉ ở mức cơ bản để edit các file trên sv. Khó khăn lớn nhất khi chuyển qua vim thì có check syntax, go to definition, open quick file, search trên toàn project
hiramizen
Cần lắm topic như này, trc toàn code trên mấy ide intellij, webstorm. Mà dạo gần đây xem youtube mấy cao thủ gõ vim tốc độ hay quá nên đang học dần để chuyển sang
Laravel hả đồng dâm
Share cho mình mấy cái plugin ngon và cơ bản cho nó đi. Mình vẫn dùng vim mà chỉ ở mức cơ bản để edit các file trên sv. Khó khăn lớn nhất khi chuyển qua vim thì có check syntax, go to definition, open quick file, search trên toàn project
mấy cái bạn nói có hết mà. thằng trong team dùng ngon choét. Mình thì cũng mò linh tinh thôi. Thím chịu khó gg sẽ ra đầy đủ mà.
Cần lắm topic như này, trc toàn code trên mấy ide intellij, webstorm. Mà dạo gần đây xem youtube mấy cao thủ gõ vim tốc độ hay quá nên đang học dần để chuyển sang
Chủ yếu là khơi gợi cảm giác vọc vạch với tự khổ dâm của người trong ngành IT thôi bác
Chứ em thấy mấy cái IDE bác nói ở trên cũng hỗ trợ đầy đủ hết rồi đấy.
★★★
how to exit vim, toàn nano vì vim ko nhớ nổi mấy lệnh của nó. IDE dùng hàng Jetbrain quen rồi.
Các thým cho em hỏi, làm sao view vào file import giống như thao tác giữ Ctrl + Click vào path file trong VSCode ạ?
Ctrl+W g f để mở cái file dưới trỏ trong tab mới.
Nhiều lúc nghĩ mấy ông dùng Vim cũng như mấy ông dùng Linux. Mặc dù Windows nó đầy đủ cả, dùng cả chuột, phím rồi GUI nó sướng nó tiện, cơ mà cứ phải gõ gõ trên cái terminal xong cho nó chạy chạy nháy nháy mới chịu
(chém chơi thôi các thím đừng gạch nhé :v)
Nhiều lúc nghĩ mấy ông dùng Vim cũng như mấy ông dùng Linux. Mặc dù Windows nó đầy đủ cả, dùng cả chuột, phím rồi GUI nó sướng nó tiện, cơ mà cứ phải gõ gõ trên cái terminal xong cho nó chạy chạy nháy nháy mới chịu
(chém chơi thôi các thím đừng gạch nhé :v)
Okay, chủ đề mới: Các thím dùng tổ hợp phím nào để thay thế ESC trong vim.
Em dùng Karabiner-elements map jk thành esc global luôn, caps lock thành ctrl, và ctrl + hjkl thành 4 phím mũi tên, hơi bựa nhưng tăng productivity 6.9 lần
Nhược điểm là quen tay nên qua máy khác là thỉnh thoảng gõ sai.
Okay, chủ đề mới: Các thím dùng tổ hợp phím nào để thay thế ESC trong vim.
Em dùng Karabiner-elements map jk thành esc global luôn, caps lock thành ctrl, và ctrl + hjkl thành 4 phím mũi tên, hơi bựa nhưng tăng productivity 6.9 lần
Nhược điểm là quen tay nên qua máy khác là thỉnh thoảng gõ sai.
Em dùng capslock để thay thế esc. không thì chắc treo cổ với cái touchbar của mac
Okay, chủ đề mới: Các thím dùng tổ hợp phím nào để thay thế ESC trong vim.
Em dùng Karabiner-elements map jk thành esc global luôn, caps lock thành ctrl, và ctrl + hjkl thành 4 phím mũi tên, hơi bựa nhưng tăng productivity 6.9 lần
Nhược điểm là quen tay nên qua máy khác là thỉnh thoảng gõ sai.
Tiện đây share với các thím font Operator Mono, đây là font dạng italic cursive, có bộ chữ nghiêng nhiều nét cong khá vui mắt, hay được mang ra làm demo các theme trên VSCode. Mình đã patch thêm
ligatures và
Nerd Fonts nên dùng tốt trong terminal.
Hình minh hoạ:
Okay, chủ đề mới: Các thím dùng tổ hợp phím nào để thay thế ESC trong vim.
Em dùng Karabiner-elements map jk thành esc global luôn, caps lock thành ctrl, và ctrl + hjkl thành 4 phím mũi tên, hơi bựa nhưng tăng productivity 6.9 lần
Nhược điểm là quen tay nên qua máy khác là thỉnh thoảng gõ sai.
giờ dùng Ctrl [ thay ESC (mặc định)
Ctrl h thay ^
ctrl l thay $
BaronNashor
Dùng Vim có sướng hơn nhiều VS Code không các anh, sao tôi thấy mấy anh dùng Vim như kiểu khổ dâm ý nhỉ
thím cho e xin các bước để config có giao diện như thím đc ko ạ, e mới cài cái nvim còn ngu ngơ quá
1. Cài
Plug để quản lý plugin.
2. Thay nội dung file init.vim bằng
file của tôi. Tôi cũng mới tập dùng thôi nên config cũng chưa có gì nhiều.
3. Bật nvim rồi gõ lệnh
:PlugInstall, thế là xong.
Dùng Vim có sướng hơn nhiều VS Code không các anh, sao tôi thấy mấy anh dùng Vim như kiểu khổ dâm ý nhỉ
Cái sướng của nó đây, ví dụ thím đang ở line 0, muốn rename chữ setViewer thành setViewers chẳng hạn, thím chỉ cần gõ 8jfras, dịch ra là jump xuống 8 dòng, find chữ r, append sau nó chữ s.
So với cách bình thường: xuống xuống xuống xuống xuống xuống xuống xuống sang sang sang sang sang sang sang sang sang sang sang sang s hoặc quơ con chuột bấm vào chữ r rồi rà tay xuống bàn phím gõ chữ s.
Tôi thì lại thấy cách thông thường mới là khổ, còn cách của vim nó đi theo tốc độ suy nghĩ, gõ nhiều rồi thao tác nó đi vào tiềm thức thì trong đầu không cần nghĩ tay nó vẫn gõ như lái xe lâu năm vậy.
Bonus cái hình test font chữ thím
@ndv92 mới share
Cái sướng của nó đây, ví dụ thím đang ở line 0, muốn rename chữ setViewer thành setViewers chẳng hạn, thím chỉ cần gõ 8jfras, dịch ra là jump xuống 8 dòng, find chữ r, append sau nó chữ s.
So với cách bình thường: xuống xuống xuống xuống xuống xuống xuống xuống sang sang sang sang sang sang sang sang sang sang sang sang s hoặc quơ con chuột bấm vào chữ r rồi rà tay xuống bàn phím gõ chữ s.
Tôi thì lại thấy cách thông thường mới là khổ, còn cách của vim nó đi theo tốc độ suy nghĩ, gõ nhiều rồi thao tác nó đi vào tiềm thức thì trong đầu không cần nghĩ tay nó vẫn gõ như lái xe lâu năm vậy.
Bonus cái hình test font chữ thím
@ndv92 mới share
Đã đang code lòi đầu ra rồi mà ngồi nghĩ ra được 8jfras thì
//Mà theo tôi dịch dòng trên là 8 jump find r add s à
Cái sướng của nó đây, ví dụ thím đang ở line 0, muốn rename chữ setViewer thành setViewers chẳng hạn, thím chỉ cần gõ 8jfras, dịch ra là jump xuống 8 dòng, find chữ r, append sau nó chữ s.
So với cách bình thường: xuống xuống xuống xuống xuống xuống xuống xuống sang sang sang sang sang sang sang sang sang sang sang sang s hoặc quơ con chuột bấm vào chữ r rồi rà tay xuống bàn phím gõ chữ s.
Tôi thì lại thấy cách thông thường mới là khổ, còn cách của vim nó đi theo tốc độ suy nghĩ, gõ nhiều rồi thao tác nó đi vào tiềm thức thì trong đầu không cần nghĩ tay nó vẫn gõ như lái xe lâu năm vậy.
Thím dùng quen rồi cho em hỏi thím setup khoản Find/Replace/Replace All như thế nào? Trong phạm vi một file và đặc biệt là trong cả project. Khoản này thấy có vẻ dùng GUI nhanh hơn dùng lệnh.
Thím dùng quen rồi cho em hỏi thím setup khoản Find/Replace/Replace All như thế nào? Trong phạm vi một file và đặc biệt là trong cả project. Khoản này thấy có vẻ dùng GUI nhanh hơn dùng lệnh.
Thím dịch đúng rồi, trừ cái jump, trong vim thì hjkl là up down left right chứ không phải viết tắt của cái gì cả.
học regex và lệnh /, s đi thím. thấy dùng nhanh hơn gui nhiều.
Đã đang code lòi đầu ra rồi mà ngồi nghĩ ra được 8jfras thì
//Mà theo tôi dịch dòng trên là 8 jump find r add s à
xài nhiều nó quen chả cần nghĩ luôn, chỉ khi nào đọc cách bấm cho người khác mới phải nghĩ chứ còn tự bấm chả phải nghĩ gì cả, thím cứ tưởng tượng như việc gõ chữ giờ có ai phải nghĩ phím nào nằm ở đâu đâu
tuy nhiên bù lại giờ quăng vào đâu gõ chữ k có vim mode thì ngồi mò mò khổ vãi
// có thím nào dùng jupyter với vim mode chưa, dạo này có một số cái phải dùng notebook cho tiện nhưng gõ chưa nhanh do không có vim mode, search thấy một số cái nhưng chưa có thời gian thử
Thím dùng quen rồi cho em hỏi thím setup khoản Find/Replace/Replace All như thế nào? Trong phạm vi một file và đặc biệt là trong cả project. Khoản này thấy có vẻ dùng GUI nhanh hơn dùng lệnh.
học regex và lệnh /, s đi thím. thấy dùng nhanh hơn gui nhiều.
Find and Replace trên toàn project thì mình dùng Ag để find, Ag có thể find bằng regex được, find xong thì mở hết các found result vào quick fix list với alt + a, sau đó dùng cfdo để replace trên các buffer đang mở.
Okay, chủ đề mới: Các thím dùng tổ hợp phím nào để thay thế ESC trong vim.
Em dùng Karabiner-elements map jk thành esc global luôn, caps lock thành ctrl, và ctrl + hjkl thành 4 phím mũi tên, hơi bựa nhưng tăng productivity 6.9 lần
Nhược điểm là quen tay nên qua máy khác là thỉnh thoảng gõ sai.
Đang xài capslock thay cho esc, thay bằng cái xmod nên pass được luôn khi ssh qua máy khác. Cái vụ hold bằng ctrl coi bộ thú vị
The Architect
Sublime Text nhé,
dungbiuit
Các bác mới làm quen ngoài việc học syntax nên vọc thử cách config file .vimrc của mình trước. Đừng vội lấy trên mạng có sẵn nhiều khi có mấy Plugins mình không dùng với mapping keys khác mò lại mệt lắm.
Vim nó là một phương pháp soạn thảo văn bản khác biệt, ai thấy hợp, thấy thích thì dùng thôi.
1. Cài
Plug để quản lý plugin.
2. Thay nội dung file init.vim bằng
file của tôi. Tôi cũng mới tập dùng thôi nên config cũng chưa có gì nhiều.
3. Bật nvim rồi gõ lệnh
:PlugInstall, thế là xong.
e cái plugin nó báo lỗi could not load colorscheme material_vim
thím dùng win hay mac vậy, e cài xong mà ko biết set chỗ nào cả :sosad:
Win, Mac Linux gì cũng có = ))
Thím dùng terminal gì? ví dụ iTerm2 trên Mac thì gõ CMD + , cho nó bật cái preferences lên rồi set font cho cả cái terminal luôn. Vì vim chạy trên terminal nên terminal set font thì thì vim nó xài font đó.
Win, Mac Linux gì cũng có = ))
Thím dùng terminal gì? ví dụ iTerm2 trên Mac thì gõ CMD + , cho nó bật cái preferences lên rồi set font cho cả cái terminal luôn. Vì vim chạy trên terminal nên terminal set font thì thì vim nó xài font đó.
e dùng cmd của windows thím, font nó hiện vài cái mặc định chỗ setting thôi chứ ko có cái mình vừa cài ợ
e dùng cmd của windows thím, font nó hiện vài cái mặc định chỗ setting thôi chứ ko có cái mình vừa cài ợ
What? ý thím là cái CMD kinh cmn tởm này ah = ))
Hay là cái này
Cái Windows Terminal setting font và đủ các thứ khác bằng 1 file config chứ không có giao diện. Thôi đến đây thì thím ráng google thêm, cái này basic mà
Hay là cái này
View attachment 24360 Cái Windows Terminal setting font và đủ các thứ khác bằng 1 file config chứ không có giao diện. Thôi đến đây thì thím ráng google thêm, cái này basic mà
cái dưới đấy thím, để e mò mò xem sao, thằng windows cho custom khó khăn vãi
p/s: thím cho e xin file init.vim của thím e cài thử xem sao với
cái dưới đấy thím, để e mò mò xem sao, thằng windows cho custom khó khăn vãi
p/s: thím cho e xin file init.vim của thím e cài thử xem sao với
File init.vim mỗi người mỗi khác nên dùng lại cũng khó, nhất là có nhiều cái setting thím sẽ chưa biết dùng để làm gì, rồi phím tắt, plugin nữa. Thôi thì thím cứ tham khảo, file init.vim này em dùng cross platform luôn đấy.
Bash:
" let g:python_host_prog = '/usr/bin/python2'
" let g:python3_host_prog = '/usr/bin/python3'
set cursorline
set background=dark
colorscheme gruvbox
" set background=light
" colorscheme papercolor " gruvbox
set listchars=space:.,tab:>-
set list
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
function! FloatingFZF()
let buf = nvim_create_buf(v:false, v:true)
call setbufvar(buf, '&signcolumn', 'no')
let height = float2nr(20)
let width = float2nr(100)
let horizontal = float2nr((&columns - width) / 2)
let vertical = 0 ""float2nr((&lines - height) /2 )
let opts = {
\ 'relative': 'editor',
\ 'row': vertical,
\ 'col': horizontal,
\ 'width': width,
\ 'height': height,
\ 'style': 'minimal'
\ }
call nvim_open_win(buf, v:true, opts)
endfunction
" Keys mapping
let mapleader = "\<space>"
map <esc> :w\|:noh<cr>
map <leader><enter> :Files<cr>
map <leader>[ :GitFiles <cr>
map <leader>\ :History<cr>
map <leader>] :Ag<space>
map <leader>} yiw:Ag<space><C-R><S-+><cr>
map <leader>b :Buffers <cr>
map <leader>f :ALEFix<cr>
map <leader>n :tabnew<cr>
map <leader>q :q<cr>
map <leader>e :NERDTreeToggle<cr>
map <leader>r :NERDTreeFind<cr>\|zz
map <silent> <leader>t :tabnew<bar>terminal<cr>i
map gb :GitBlame<cr>
nmap <leader>R <Plug>(coc-rename)
map <leader>i :ALEPrevious<cr>
map <leader>o :ALENext<cr>
map <leader>T :ALEGoToDefinition<cr>
map <leader>Y :ALEFindReferences<cr>
" nmap <silent> gd <Plug>(coc-definition)
" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
" Change theme
map <leader><Up> :colorscheme quantum \| set background=dark<cr>
map <leader><Down> :colorscheme PaperColor \| set background=light<cr>
" Copy file path to the clipboard
map <leader>p :let @+ = expand("%")<cr>
" Copy full file path to the clipboard
map <leader>P :let @+ = join([expand('%'), line(".")], ':')<cr>
" ESC in terminal mode
tnoremap <F2> <C-\><C-n>
" Delete current buffer, includes terminal buffer
map <F3> :bd!<cr>
" Close all buffer then open the last one
map <F4> :%bd!\|e#<cr>
" Close all buffers and quit Vim
map <F12> :%bd\|:q<cr>
" Delete without yanking to clipboard "
vnoremap <leader>d "_d
vnoremap <leader>D "_D
vnoremap <leader>s "_s
vnoremap <leader>S "_S
nnoremap <leader>d "_d
nnoremap <leader>D "_D
nnoremap <leader>s "_s
nnoremap <leader>S "_S
nnoremap x "_x
" Paste without copy the selected text to clipboard
xnoremap p "_dP
" Always split new windows right
set splitright
" Set theme, font and color scheme
set t_Co=256
set termguicolors
" set guifont="MesloLGSDZ Nerd Font"
" Hide mode in the bottom e.g., -- INSERT --
set noshowmode
" Folding setting
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=20
" Disable MacVim scroll bar left and right
" set guioptions=
" Ignore case sensitive when search
set ignorecase
" Enable clipboard to copy from system
set clipboard=unnamedplus
" Hightlight all the search matches
set hlsearch
set encoding=utf8
" Flag to support indent
set expandtab
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
" Need to zshell because I'm using it, make sure nothing broken
set shell=/bin/zsh
" Using mouse
set mouse=a
" Show line number
set relativenumber
set nu rnu
" Use vimrc
set nocompatible
" Show code syntax
syntax enable
" Set persisten undo
set undofile
set undodir=~/.vim/undodir
set undolevels=1000
set undoreload=10000
" Set no backup
set nobackup
set nowritebackup
set nowb
set noswapfile
" Auto reload file changes: check one time after 4s of inactivity in normal mode
set autoread
au CursorHold * checktime
" Set update time for git-gutter and coc
set updatetime=100
" hidden closed buffer
set hidden
" Need to enable plugin to work correctly
filetype plugin on
call plug#begin('~/.vim/plugged')
" Airline
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" let g:airline_powerline_fonts = 1
let g:webdevicons_enable_airline_statusline_fileformat_symbols = 0
" Remove the file type part
let g:airline_section_y = ''
let g:airline_skip_empty_sections = 1
" Airline theme
let g:airline_theme='papercolor'
" " Hide the git hunk
let g:airline_section_b = '%{airline#util#wrap(strpart(airline#extensions#branch#get_head(),0,11),0)}'
" Color Schemes
Plug 'flazz/vim-colorschemes'
" NERD Commenter
Plug 'scrooloose/nerdcommenter'
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'both'
" NERDtree
Plug 'scrooloose/nerdtree'
" show hidden file
let NERDTreeShowHidden=1
let NERDTreeShowLineNumbers=1
let g:NERDTreeWinSize=50
let g:NERDTreeStatusline="%{substitute(getcwd(), '^.*/', '', '')}"
" Hide the NERDTree CWD, https://github.com/scrooloose/nerdtree/issues/806
augroup nerdtreehidecwd
autocmd!
autocmd FileType nerdtree setlocal conceallevel=3 | syntax match NERDTreeHideCWD #^[</].*$# conceal
augroup end
Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}}
let g:coc_node_path = $HOME.'/.nvm/versions/node/v10.8.0/bin/node'
Plug 'prettier/vim-prettier', { 'do': 'npm install', 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'yaml', 'html'] }
let g:prettier#exec_cmd_path = $HOME."/.nvm/versions/node/v8.7.0/bin/prettier"
let g:prettier#exec_cmd_async = 1
let g:prettier#quickfix_enabled = 0
let g:prettier#config#parser = 'babylon'
Plug 'dense-analysis/ale'
let g:ale_completion_enabled = 0
let g:ale_javascript_prettier_use_local_config = 1
let g:ale_fixers = {
\ 'css': ['prettier'],
\ 'typescript': ['prettier', 'eslint'],
\ 'javascript': ['prettier', 'eslint'],
\ 'html': ['prettier'],
\ 'json': ['prettier'],
\ 'liquid': ['prettier']
\ }
let g:ale_sign_error = ''
let g:ale_sign_warning = ''
let g:ale_sign_column_always = 1
hi ALEErrorSign guifg=#FF0000
hi ALEWarningSign guifg=#FFD700
" Vim file type icons
Plug 'ryanoasis/vim-devicons'
" Show git diff
Plug 'airblade/vim-gitgutter'
" Waka time
Plug 'wakatime/vim-wakatime'
" Auto pairs the bracket [ { (...
Plug 'jiangmiao/auto-pairs'
" Javascript syntax
Plug 'pangloss/vim-javascript'
Plug 'mxw/vim-jsx'
" Enable syntax for jsdocs
let g:javascript_plugin_jsdoc = 1
" FZF plugin
Plug '/usr/local/opt/fzf'
Plug 'junegunn/fzf.vim'
let g:fzf_layout = { 'window': 'call FloatingFZF()' }
" Git plugin for gdiff command
Plug 'tpope/vim-fugitive'
" Git blame status
Plug 'zivyangll/git-blame.vim'
" Snipet
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
let g:UltiSnipsSnippetDirectories=[$HOME.'/.vim/UltiSnips']
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<c-b>"
Plug 'tpope/vim-surround'
" Typescript
Plug 'leafgarland/typescript-vim'
" gdscript
Plug 'clktmr/vim-gdscript3'
call plug#end()
Có nên học gõ 10 ngón khi dùng vim ko các bác
. Hiện tại e đang gõ mỗi bên 3 ngón
Quên nhắc các bác, gõ 10 ngón hoặc gõ kiểu gì cũng được, nhưng không nhìn bàn phím khi gõ là điều kiện tiên quyết để xài Vim. Vì bác phải gõ số và các ký tự đặc biệt rất nhiều, gõ mà lọng cọng thì vài hôm là bỏ. Trước em cũng tập gõ 10 ngón xong mới chuyển qua Vim
[W]inter [B]lues
hình như cái vim tutor nó cũng ko đầy đủ lắm hả mấy thím, e đọc qua ko thấy có cái lệnh 'find' của thím trên dùng thì phải
ý mình là find chữ trên từng dòng ấy thím, còn cái đó search ko nhanh bằng cách nhấn 'f' + chữ nào đó
Chắc thím chưa đọc tới, thím có thể đọc help của bất kỳ phím nào bằng lệnh help, ví dụ
:help f f có thể kết hợp với motion
; đề find next,
, để find backward.
Thím học code navigation lên xuống trái phải, cuộn trang, tìm kiếm, nhảy dòng nhảy cột thì về cơ bản là xài được vim rồi
Hideto Takahashi
Dạo này dịch nên đang khổ dâm với vim đây. Cơ mà vim vs nvim khác nhau gì mấy bác
Dùng vim mà thêm hardtime hay hardmode nữa chắc khổ dâm tột đỉnh
Mà nvim có gì khác vim nhỉ các thím
Theo em nhớ đọc ở 1 bài nọ thì ông kia bảo thằng cha maintainer của vim hơi ba trợn, decline các pull request mà không có lí do chính đáng. Việc phát triển các plugin cho neovim dễ dàng hơn vim nên trong tương lai sẽ có thêm nhiều plugin chất lượng cho neovim.
Em lười lục lại bài này quá. Nhờ thím nào confirm giúp
Chắc thím chưa đọc tới, thím có thể đọc help của bất kỳ phím nào bằng lệnh help, ví dụ
:help f f có thể kết hợp với motion
; đề find next,
, để find backward.
Thím học code navigation lên xuống trái phải, cuộn trang, tìm kiếm, nhảy dòng nhảy cột thì về cơ bản là xài được vim rồi
cái plugin Ag e cài rồi mà sao search toàn project nó lâu quá thím ạ, ko hiện cái rẹt như thím demo phía trên đc
. Em bấm :Ag function mà nó ko ra gì cả
.Mà e thắc mắc là làm sao để dùng cái Go to definition nhanh trong nvim thím nhỉ, hay là phải search rồi tìm ợ. Nhảy dòng thì e biết rồi, còn nhảy cột là Ctrl +w hả thím, cuộn trang thì thím dùng gì
p/s: sr mấy thím, e mới vọc cái này nên hơi bỡ ngỡ
cái plugin Ag e cài rồi mà sao search toàn project nó lâu quá thím ạ, ko hiện cái rẹt như thím demo phía trên đc
. Em bấm :Ag function mà nó ko ra gì cả
.Mà e thắc mắc là làm sao để dùng cái Go to definition nhanh trong nvim thím nhỉ, hay là phải search rồi tìm ợ. Nhảy dòng thì e biết rồi, còn nhảy cột là Ctrl +w hả thím, cuộn trang thì thím dùng gì
p/s: sr mấy thím, e mới vọc cái này nên hơi bỡ ngỡ
Cái go to definition có nhiều plugin hỗ trợ mà bác, như em xài coc-nvim nó có lsp như vscode, add-on cũng từ vscode port qua. Bên này mặc định là "gd" nó sẽ mở ra 1 buffer mới đến file cần tìm, "c-o" về preposition như bình thường.
Nhảy cột với dòng là sao em chưa hiểu
.
Cuộn trang thì có nhiều cách. "]" là nhảy đến function tiếp theo, "}" là nhảy đến paragraph tiếp theo. Cuộn từ từ thì "c-e/c-y", muốn cuộn nhanh nữa thì "c-d/c-u". Tuy nhiên có cái thói quen khó bỏ là khi demo code cho ae bạn bè em hay dùng touchpad lướt bao nhanh
zzchaolegionzz
Ví dụ nhảy xuống 8 dòng thì mình hay gõ 8j, xong nhảy cột (column) đến chữ cần gõ ấy, như w, e, f (find word)... có ông còn nhảy kiểu number + k
)
Cái go to definition có nhiều plugin hỗ trợ mà bác, như em xài coc-nvim nó có lsp như vscode, add-on cũng từ vscode port qua. Bên này mặc định là "gd" nó sẽ mở ra 1 buffer mới đến file cần tìm, "c-o" về preposition như bình thường.
Nhảy cột với dòng là sao em chưa hiểu
.
Cuộn trang thì có nhiều cách. "]" là nhảy đến function tiếp theo, "}" là nhảy đến paragraph tiếp theo. Cuộn từ từ thì "c-e/c-y", muốn cuộn nhanh nữa thì "c-d/c-u". Tuy nhiên có cái thói quen khó bỏ là khi demo code cho ae bạn bè em hay dùng touchpad lướt bao nhanh
mạng mấy hôm nay bị gì mà e clone ko đc mấy cái plugin chán ghê
Tips cho các ae mới chơi, em chỉ chia sẻ những gì mình cảm nhận sau ít năm tập tành, bác nào exp 6, 7 năm xin đừng gạch em tội nghiệp.
Sau khi các ae đã ổn thao tác với hjkl rồi thì... hãy tạm ngưng và hạn chế xài nó. Thay vào đó tập dùng những key khác như {}, [] hay w, e, b, g, n, f, *,.... (Khuyến khích dùng vim-hardtime như bác nào đó phía trên, nó sẽ giới hạn lượt nhấn hjkl xuống 1 lần/s)
Và theo em cái hay của vim không phải là hjkl hay những lệnh đơn, chúng chỉ là cái vỡ lòng để bắt đầu với vim thôi. Cái mạnh của vim là những cách kết hợp của nhiều lệnh khác nhau tùy theo nhu cầu sử dụng, và mục đích cuối là giúp những thao tác tưởng như nhàm chán trở nên nhanh chóng hơn.
Ví dụ các ae muốn gõ lại đoạn text trong ngoặc kép, ae có thể dùng `ci{`. Mới đầu sẽ khó nhớ tuy nhiên ae nên tránh học thuộc những lệnh này một máy móc. Thay vào đó hãy tìm hiểu rõ mỗi lệnh có khả năng gì. Ở ví dụ trên `ci{` có thể được hiểu là "[c]hange [ i ]nner [{] block", tương tự ae có thể tự test với các tổ hợp như `daw`, `cf)`, `V5jd`....
http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
Khi ae hiểu lệnh rồi khi cần ae sẽ tự khắc biết dùng cái nào. Ví dụ trên chỉ là cái cơ bản, trong vim còn rất nhiều những thứ hay ho khác như mapping, macro, tab, buffer, terminal,... và nhiều cái khác em cũng chưa biết tới.
Ae mới nên tập dùng hết những thứ có sẵn trong vim, khi nào nhu cầu mở rộng hẵng tìm đến plugin. Em thấy nhiều dân chuyên người ta chỉ dùng vim mặc định cũng làm được hết việc với hiệu suất cao. Tất nhiên plugin có rất nhiều cái hay, nhưng mình mới sd vim thì nên cố gắng tìm hiểu cái cốt lõi của nó trước, tránh cài nhiều plugin, script tràn lan nhưng không dùng đến hoặc không biết dùng để làm gì rất nguy hiểm.
Trên đấy là vài ý nho nhỏ của em, các lão làng thấy có gì hay cứ đóng góp thêm.
Theo mình thì không cần phức tạp thế, về cơ bản thì cấu trúc của một lệnh trong vim là
command + motion . Chỉ cẩn hiểu như thế thì sẽ tự suy ra được cách kết hợp thôi.
Cái go to definition có nhiều plugin hỗ trợ mà bác, như em xài coc-nvim nó có lsp như vscode, add-on cũng từ vscode port qua. Bên này mặc định là "gd" nó sẽ mở ra 1 buffer mới đến file cần tìm, "c-o" về preposition như bình thường.
Nhảy cột với dòng là sao em chưa hiểu
.
Cuộn trang thì có nhiều cách. "]" là nhảy đến function tiếp theo, "}" là nhảy đến paragraph tiếp theo. Cuộn từ từ thì "c-e/c-y", muốn cuộn nhanh nữa thì "c-d/c-u". Tuy nhiên có cái thói quen khó bỏ là khi demo code cho ae bạn bè em hay dùng touchpad lướt bao nhanh
ko biết format code thì có cần cài plugin gì ko thím nhỉ
ko biết format code thì có cần cài plugin gì ko thím nhỉ
Mỗi ngôn ngữ có 1 chuẩn format riêng, bác muốn format cho thằng nào nhỉ. Vd em muốn format code js/ts thì cài thêm coc-tsserver, với python thì ngoài cài coc-python thì phải cài thêm gói chuẩn format của nó, vd như autopep8. Còn nếu bác chỉ muốn sửa indent các kiểu thôi thì có thể xài "gg=G". gg là lên đầu file, = là indent, G là đến cuối file
Mỗi ngôn ngữ có 1 chuẩn format riêng, bác muốn format cho thằng nào nhỉ. Vd em muốn format code js/ts thì cài thêm coc-tsserver, với python thì ngoài cài coc-python thì phải cài thêm gói chuẩn format của nó, vd như autopep8. Còn nếu bác chỉ muốn sửa indent các kiểu thôi thì có thể xài "gg=G". gg là lên đầu file, = là indent, G là đến cuối file
e format thằng js thôi thím
, trên windows plugin nó hay lỗi quá, cái coc.nvim e dùng ko đc luôn
em thì dùng Ctrl Z khi đang trong nvim để ra terminal, xử lí xong thì bấm 'fg' để vào lại nvim
Terminal ngay trong nvim đó thím, ko cần phải thoát ra rồi vào lại, hữu dụng nếu vừa code vừa chạy gì đó ví dụ:
Riêng em thì prefer split iterm hơn là trong vim
zzchaolegionzz
Em cũng thích ra terminal bằng ctrl + z xong vô lại bằng fg, dùng cái terminal embed trong vim thỉnh thoảng quên mất mà thao tác cũng rườm rà hơn. Tuy nhiên chỉ dùng cách này khi cần chạy quick command thôi.
Em code một số app khi chạy khá là tốn tài nguyên nên nếu để dùng chung với cái terminal code vim thì dùng nó giật lag, đằng nào cũng phải tách ra cho nó chạy terminal khác nên là em setup cái iTerm2 thành dropdown terminal giống Yakuake bên Linux ấy, nhấn F12 là nó rớt xuống xong trong đấy chia tab, chia pannel thoải mái, chạy mấy web service trong đó sẽ không ảnh hưởng tới cái terminal đang chạy Vim.
Em cũng thích ra terminal bằng ctrl + z xong vô lại bằng fg, dùng cái terminal embed trong vim thỉnh thoảng quên mất mà thao tác cũng rườm rà hơn. Tuy nhiên chỉ dùng cách này khi cần chạy quick command thôi.
Em code một số app khi chạy khá là tốn tài nguyên nên nếu để dùng chung với cái terminal code vim thì dùng nó giật lag, đằng nào cũng phải tách ra cho nó chạy terminal khác nên là em setup cái iTerm2 thành
dropdown terminal giống Yakuake bên Linux ấy, nhấn F12 là nó rớt xuống xong trong đấy chia tab, chia pannel thoải mái, chạy mấy web service trong đó sẽ không ảnh hưởng tới cái terminal đang chạy Vim.
Thím press
<C-\><C-n>, thường thì em map tổ hợp đó với escape
Terminal ngay trong nvim đó thím, ko cần phải thoát ra rồi vào lại, hữu dụng nếu vừa code vừa chạy gì đó ví dụ:
View attachment 26521 Riêng em thì prefer split iterm hơn là trong vim
em thì dùng Ctrl Z khi đang trong nvim để ra terminal, xử lí xong thì bấm 'fg' để vào lại nvim
như thím trên nói đó thím, chắc e cũng split term ra chạy riêng cho khỏe
[W]inter [B]lues
có thím nào biết cách search 1 chuỗi toàn project ko nhỉ, ví dụ e muốn tìm chuỗi như "findString" mà toàn project luôn ấy,cái Ag của fzf e search nó ra cả thư mục node_modules khá phiền
có thím nào biết cách search 1 chuỗi toàn project ko nhỉ, ví dụ e muốn tìm chuỗi như "findString" mà toàn project luôn ấy,cái Ag của fzf e search nó ra cả thư mục node_modules khá phiền
Ag respect gitignore mà thím ? nếu project thím ignore node_modules rồi thì sẽ ko search
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
có thím nào biết cách search 1 chuỗi toàn project ko nhỉ, ví dụ e muốn tìm chuỗi như "findString" mà toàn project luôn ấy,cái Ag của fzf e search nó ra cả thư mục node_modules khá phiền
Bác cho em hỏi về cái Syntax Highlighting của JSX với JS của React với. Em có cài 2 thằng plugins vim-javascript với vim-jsx-pretty thì nó cứ syntax dở dở ương ương thế nào ấy. VD: từ khóa key, alt, div....
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
mới thử cài lại, gút bai nữa rồi, nhanh, nhẹ nhưng khổ dâm đấy, Sublime the best
Bác cho em hỏi về cái Syntax Highlighting của JSX với JS của React với. Em có cài 2 thằng plugins vim-javascript với vim-jsx-pretty thì nó cứ syntax dở dở ương ương thế nào ấy. VD: từ khóa key, alt, div....
Nhiều khi do cái theme, thím đổi thử theme khác xem ?
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
mở chục project là chục cái cửa sổ vim hả thím, e thấy thao tác chuyển tab này nọ trong nvim nó hơi rối
Bác cho em hỏi về cái Syntax Highlighting của JSX với JS của React với. Em có cài 2 thằng plugins vim-javascript với vim-jsx-pretty thì nó cứ syntax dở dở ương ương thế nào ấy. VD: từ khóa key, alt, div....
e bật terminal trong nvim chạy lệnh rồi ko cách nào chuyển tab khác đc, làm sao hạ nó xuống hoặc chuyển tab nhỉ mấy thím
Terminal trong nvim thì em biết mỗi cái :te[minal]. Nếu là cái đó thì vim hỗ trợ swap bằng "c-\ c-n c-w-hjkl". Riêng em map lại thành a-hjkl cho nó khỏe, cài thêm cái tmux-navigator xong map switch pane tmux sang a-hjkl luôn
Về thay đổi size của window thì bác có thể dùng :res[ize] +/- số mong muốn, tương tự để resize dọc thì xài :vert[ical] res[ize] +/- x
mở chục project là chục cái cửa sổ vim hả thím, e thấy thao tác chuyển tab này nọ trong nvim nó hơi rối
Thím đọc hết phần intro của vim-fzf chưa? Có command
:Buffers để list hết các file đang mở, chuyển giữa các buffers sướng hơn giữa các tab nhiều
Ngoài
:Files ra còn 1 số command siêu tiện dụng khác như
:History,
:Colors,
:GFiles
mở chục project là chục cái cửa sổ vim hả thím, e thấy thao tác chuyển tab này nọ trong nvim nó hơi rối
chục cái tab vim, tab của iterm2 ấy. chứ vim mà dùng tab lẫn buffers dễ rối. dùng fzf navigate bao tiện, những file đang làm thì bật buffer list lên search, cần mở file nào thì bật list file lên search
Terminal trong nvim thì em biết mỗi cái :te[minal]. Nếu là cái đó thì vim hỗ trợ swap bằng "c-\ c-n c-w-hjkl". Riêng em map lại thành a-hjkl cho nó khỏe, cài thêm cái tmux-navigator xong map switch pane tmux sang a-hjkl luôn
Về thay đổi size của window thì bác có thể dùng :res[ize] +/- số mong muốn, tương tự để resize dọc thì xài :vert[ical] res[ize] +/- x
Thím đọc hết phần intro của vim-fzf chưa? Có command
:Buffers để list hết các file đang mở, chuyển giữa các buffers sướng hơn giữa các tab nhiều
Ngoài
:Files ra còn 1 số command siêu tiện dụng khác như
:History,
:Colors,
:GFiles
chục cái tab vim, tab của iterm2 ấy. chứ vim mà dùng tab lẫn buffers dễ rối. dùng fzf navigate bao tiện, những file đang làm thì bật buffer list lên search, cần mở file nào thì bật list file lên search
cảm ơn mấy thím nhiều, ko ngờ mấy cái mấy thím nói dùng tiện quá, vậy mà lâu nay ko biết :stick:
joker_man
hi mấy thím, e có 1 thắc mắc là cái lệnh :Files của fzf e muốn search 1 vài file nào đó nhưng ko muốn search trong 1 số folder như node_modules này nọ thì làm cách nào mấy thím nhỉ
hi mấy thím, e có 1 thắc mắc là cái lệnh :Files của fzf e muốn search 1 vài file nào đó nhưng ko muốn search trong 1 số folder như node_modules này nọ thì làm cách nào mấy thím nhỉ
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
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
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
Như thím trên kia nói + set relative line number để đỡ phải + -
hoặc dùng mấy cái plugin như vim easymotion
Cái sướng của nó đây, ví dụ thím đang ở line 0, muốn rename chữ setViewer thành setViewers chẳng hạn, thím chỉ cần gõ 8jfras, dịch ra là jump xuống 8 dòng, find chữ r, append sau nó chữ s.
So với cách bình thường: xuống xuống xuống xuống xuống xuống xuống xuống sang sang sang sang sang sang sang sang sang sang sang sang s hoặc quơ con chuột bấm vào chữ r rồi rà tay xuống bàn phím gõ chữ s.
Tôi thì lại thấy cách thông thường mới là khổ, còn cách của vim nó đi theo tốc độ suy nghĩ, gõ nhiều rồi thao tác nó đi vào tiềm thức thì trong đầu không cần nghĩ tay nó vẫn gõ như lái xe lâu năm vậy.
Bonus cái hình test font chữ thím
@ndv92 mới share
rảnh rỗi nhận xét cú pháp của bác một tí có gì cứ gạch
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
rảnh rỗi nhận xét cú pháp của bác một tí có gì cứ gạch
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.
zzchaolegionzz
@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á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
Last edited:
Cong_Go_De_Su
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ả
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ỉ
, 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
)
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
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ả
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ỉ
, 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
)
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
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
Đú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
Đú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
Uhm, làm project enterprise thì đừng đú vim ko dân tình lại chửi khổ dâm
rảnh rỗi nhận xét cú pháp của bác một tí có gì cứ gạch
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
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
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.
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:
hts222
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ý
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:
cba
Tôi rất thích vim vì nó là một editor có tính tuỳ biến cực kỳ cao.
e thấy nhảy cũng khá nhanh ko cần liếc qua line bao nhiêu nữa
, có điều hơi khổ dâm tí
Compton
Hnay thấy cái YouTube video này hướng dẫn set up vimrc nhẹ nhàng đơn giản, mình thấy khá phù hợp cho người mới bắt đầu nên share đây cho ai đang muốn tìm hiểu.
Ikeda
CocSearch ngon thật, find&replace toàn project không khác IDE mấy
Mình set up thử
coc.nvim với
coc-python thử nhưng có vấn đề như sau. Floating window cho code completion đã pop-up nhưng ko highlight những gì mình type và mình cũng ko biết làm sao để chọn hàm nào để complete (ngoại trừ dùng arrow key di chuyển lên xuống
). Xem trên mạng thì rõ ràng là gõ tới đâu, nó tự highlight tới đó.
Mình set up thử
coc.nvim với
coc-python thử nhưng có vấn đề như sau. Floating window cho code completion đã pop-up nhưng ko highlight những gì mình type và mình cũng ko biết làm sao để chọn hàm nào để complete (ngoại trừ dùng arrow key di chuyển lên xuống
)
Đang dùng surfingkeys extension trên chrome để sử dụng phím theo style của vim, khá hay.
Heartless Soldier LP
Nghe các thím bắt đầu học vim từ :Tutor
cdk
Dùng vim hàng ngày, chủ yếu cho những tác vụ đơn giản như note/sửa file config/dùng khi ssh vào các máy khác. Công việc code chính (scala) thì vẫn dùng Intellij
Có thím nào dùng tmux không nhỉ, trước giờ dùng iterm là thấy cũng khá rồi. Mà thấy tmux có nhiều cái hay quá nên đang tập dùng
Đang dùng full combo iterm2 + nvim + tmux đây.
Với workflow hiện tại, thì thấy tiện nhất là việc di chuyển qua lại giữa các panel, session like Vim (ctrl + ijkl)
Mình nhớ config scheme tmux ở tmux.conf, liên quan gì đến vim đâu nhỉ ?
Đúng rồi thím ơi nhưng cái theme terminal của mình với colorscheme của vim nó khác nhau, chạy outside tmux thì bật vim bt oke chứ inside tmux cái là colorscheme của vim nó bị mất luôn.
Ngồi mò trên google bao nhiêu cách rồi mà thấy toàn kiểu ông này thì fix được theo cách A, ông kia lại fix được theo cách B, không ai chắc sẽ luôn fix được cả
Trong khi mình fix biết bao nhiêu cách khác nhau rồi mà không đc, khổ vl luôn
Vừa mới tính migrate sang combo Alacritty + Tmux cho Vim mà ntn chán hẳn
Đúng rồi thím ơi nhưng cái theme terminal của mình với colorscheme của vim nó khác nhau, chạy outside tmux thì bật vim bt oke chứ inside tmux cái là colorscheme của vim nó bị mất luôn.
Ngồi mò trên google bao nhiêu cách rồi mà thấy toàn kiểu ông này thì fix được theo cách A, ông kia lại fix được theo cách B, không ai chắc sẽ luôn fix được cả
Trong khi mình fix biết bao nhiêu cách khác nhau rồi mà không đc, khổ vl luôn
Vừa mới tính migrate sang combo Alacritty + Tmux cho Vim mà ntn chán hẳn
Thế thím xài mac hay linux, thử set lại
default-terminal xem sao
Đúng rồi thím ơi nhưng cái theme terminal của mình với colorscheme của vim nó khác nhau, chạy outside tmux thì bật vim bt oke chứ inside tmux cái là colorscheme của vim nó bị mất luôn.
Ngồi mò trên google bao nhiêu cách rồi mà thấy toàn kiểu ông này thì fix được theo cách A, ông kia lại fix được theo cách B, không ai chắc sẽ luôn fix được cả
Trong khi mình fix biết bao nhiêu cách khác nhau rồi mà không đc, khổ vl luôn
Vừa mới tính migrate sang combo Alacritty + Tmux cho Vim mà ntn chán hẳn
thím xem có đúng terminal hay dùng ko, nhiều khi config trên bash, vô tmux chạy fish hay ngược lại
Cái này ko ai nhắc bởi vì theo lý thím phải add dòng đó vào đầu tiên khi config chứ
Thì mình đâu biết đâu thím
mình xài vim cách đây nửa năm, config chay + lượm lặt một chút ở github với dotfiles, cái nào đọc manual thấy có ý nghĩa mới mang vào thôi, hoạt động vẫn ngon lành cành đào đó giờ.
Dạo đây đang tính đổi qua Alacritty để tăng thêm sức mạnh, cơ mà nó không có built-in mấy tính năng quản lý windows, tabs, pane gì hết nên phải xài chung với Tmux, thế là lại cũng ngồi mò manual sấp mặt, tới lúc ưng ý rồi mở vim lên thì
Cơ mà giờ ngon chym rồi
Tks các thím đã tư vấn
prosvipcuong
Có thím nào xài Alacritty cho mình hỏi có cách nào bật
ligature của font không nhỉ?
Theo em sử dụng thì các bác có thể coi Vim như một IDE nếu có bộ 3
1/ YouCompleteMe (bộ AutoCompletion cho mọi ngôn ngữ dù cài đặt hơi khoai)
2/ Syntastic (Kiểm tra syntax của code các bác
3/ NerdTree hoặc CtrlP (giống bộ duyệt file trong các Text Editor và IDE)
Còn vụ debug thì em cũng k rõ lắm nhưng Vim đều có thể chạy được các code mà em đang học như C++ hoặc Python
Mấy fence có code Kotlin dùng Vim ko?
Đang dùng NeoVim + Coc mà Kotlin k support language server nên code vim hơi tệ. Có cái LS trên github nhưng k xịn lắm. Vẫn dùng Intellij Ultimate + Ideavim plugin. Lúc cần sửa nhanh thì mới bật vim.
https://github.com/skwp/dotfiles đây là bản gốc, thằng này là combo vim +zsh(prezto), bản này support cả ubuntu + mac, cơ mà có 1 vài chỗ mình không ưng như dùng ctrlp hay deoplete vs lại nhiều plugin ko dùng tới, nên từ bản gốc mình tạo ra bản thu gọn dùng cho riêng mình, thím có thể tham khảo ở đây:
https://github.com/ngocthienvnn/vim-configuration terminal của vim hình như ko hỗ trợ zsh thì phải, nên mình ít dùng, mình toàn dùng terminal ngoài thôi, đang dùng thằng tilix
ủa k dùng dc zsh à, mình dùng fish thấy bt, trong công ty toàn dùng zsh thấy có ai phàn nàn gì đâu? Team mình 6 ng thì hết 4 người dùng vim, mình dùng Intellij Ultimate (team ai cũng có) hoặc vim tuỳ lúc. Mọi người dùng floaterm, mà bản chất floaterm cũng chỉ mở cái buffer+floating window, còn bên trong dùng vim terminal mà.
vâng e cài rồi thím, do e để sai cái init.vim
, tự
, mà mấy cái icon folder với file nó bị lỗi, toàn biến thành ô vuông là sao nhỉ mấy thím
k biết có ai trả lời fence chưa. Fence lên nerd font tìm font mình thích về cài vào r set font cho terminal hoặc GUI font của vim thì mấy cái icon đó hiện ra dc.
ủa k dùng dc zsh à, mình dùng fish thấy bt, trong công ty toàn dùng zsh thấy có ai phàn nàn gì đâu? Team mình 6 ng thì hết 4 người dùng vim, mình dùng Intellij Ultimate (team ai cũng có) hoặc vim tuỳ lúc. Mọi người dùng floaterm, mà bản chất floaterm cũng chỉ mở cái buffer+floating window, còn bên trong dùng vim terminal mà.
prezto nó là configuration framework của zsh đấy bác, tương tự như my oh zsh, nhưng nhẹ hơn , mình sài vim vài năm, mới chuyển qua neovim, thấy dùng sướng hơn hẳn
combo kitty + nvim, repo của mình cho thím nào thích dùng nvim(web development):
https://github.com/ngocthienvnn/neovim-configs
NerdTree nặng thật, bật thử cái thư mục node_modules thì thấy cảnh vim giật giật ngay
chuyển qua chadtree đi bác, chadtree chỉ dùng dc cho neovim thôi nhưng cá nhân mình thấy nó dùng tốt hơn hẳn nerdtree , thích nhất cái selection, có thể copy/cut cùng lúc nhiều files
prezto nó là configuration framework của zsh đấy bác, tương tự như my oh zsh, nhưng nhẹ hơn , mình sài vim vài năm, mới chuyển qua neovim, thấy dùng sướng hơn hẳn
combo kitty + nvim, repo của mình cho thím nào thích dùng nvim(web development):
https://github.com/ngocthienvnn/neovim-configs
uh, mình dùng fish mặc định quen nên cũng ít biết về zsh, tại vì thích viết mấy cái function hay dùng, mà viết fish dễ hơn
. nhược điểm của fish là nhiều lúc ng khác viết shell script bằng bash hoặc zsh (rất phổ biến) thì mình copy về k chạy liền dc mà phải vào zsh r mới chạy.
chuyển qua chadtree đi bác, chadtree chỉ dùng dc cho neovim thôi nhưng cá nhân mình thấy nó dùng tốt hơn hẳn nerdtree , thích nhất cái selection, có thể copy/cut cùng lúc nhiều files
Để từ từ mình nghiên cứu. Thật ra hiếm khi dùng nerdtree. Vì location của file thì mình nhớ, nên cứ fzf tìm file mở ra thôi.
Em cũng thích ra terminal bằng ctrl + z xong vô lại bằng fg, dùng cái terminal embed trong vim thỉnh thoảng quên mất mà thao tác cũng rườm rà hơn. Tuy nhiên chỉ dùng cách này khi cần chạy quick command thôi.
Em code một số app khi chạy khá là tốn tài nguyên nên nếu để dùng chung với cái terminal code vim thì dùng nó giật lag, đằng nào cũng phải tách ra cho nó chạy terminal khác nên là em setup cái iTerm2 thành dropdown terminal giống Yakuake bên Linux ấy, nhấn F12 là nó rớt xuống xong trong đấy chia tab, chia pannel thoải mái, chạy mấy web service trong đó sẽ không ảnh hưởng tới cái terminal đang chạy Vim.
Fence thích dùng phím thì dùng tmux để quản lí tabs trong terminal. Tmux nó gọi là session -> window ->pane.
Combo mình thường thấy:
Terminal emulator: Alacritty
Editor: Vim
Terminal muliplexer: Tmux
Alacritty là 1 terminal emulator tận dụng GPU cho nhanh, thấy nó nhanh hơn hẳn iTerm2 (trên MacOS). Linux thì còn st (suckless terminal). Vì alacritty k hỗ trợ tab gì cả, nên thêm tmux vào để thao tác nhanh gọn giữa nhiều terminal.
mấy thím xử lý sao vụ mở nhiều tab khác folders? em đang tạo tab mới xong lại ra NERDTree trỏ ngược ra folder đó
Hình như ý fence là làm việc nhiều project khác nhau cùng lúc à? Nếu thế thì dùng tmux nhé. Mà dùng tmux thì dùng terminal nào nhẹ nhàng giản đơn luôn vì tmux hỗ trợ hết về tab rồi.
Thím dùng tmux thì thôi đổi sang dùng alacritty hoặc st luôn đi. khỏi dùng iTerm2 nữa.
suggest thêm 1 combo nữa là : kitty + vim/neovim nhé, kitty nó khá giống alacritty, dùng GPU for rendering, nên cực nhanh. Thêm nữa là kitty có hỗ trợ tab, window, session .. nên khỏi cần dùng kết hợp vs tmux.
suggest thêm 1 combo nữa là : kitty + vim/neovim nhé, kitty nó khá giống alacritty, dùng GPU for rendering, nên cực nhanh. Thêm nữa là kitty có hỗ trợ tab, window, session .. nên khỏi cần dùng kết hợp vs tmux.
navigate giữa kitty pane và nvim split có dễ k fence. Vì tmux có plugin để dùng chung 1 phím mà nagivate tmux < - > vim.
suggest thêm 1 combo nữa là : kitty + vim/neovim nhé, kitty nó khá giống alacritty, dùng GPU for rendering, nên cực nhanh. Thêm nữa là kitty có hỗ trợ tab, window, session .. nên khỏi cần dùng kết hợp vs tmux.
Mới lướt qua homepage, có vẻ ngon nhỉ. Cuối tuần thử xem sao.
navigate giữa kitty pane và nvim split có dễ k fence. Vì tmux có plugin để dùng chung 1 phím mà nagivate tmux < - > vim.
Không nhé, dùng tmux vẫn ngon hơn.
Cái ngon của kitty so với allacrity là hỗ trợ ligatures và kí tự nerd font tích hợp sẵn, bonus thêm là các kí tự poweline, box drawing tự giãn ra theo chiều cao dòng
navigate giữa kitty pane và nvim split có dễ k fence. Vì tmux có plugin để dùng chung 1 phím mà nagivate tmux < - > vim.
siêu dễ nhé, hỗ trợ hết rồi, chỉ việc xác định shortcut cho nó thôi, đây là screen mình hay làm việc. move qua lại giữa các tab bằng : Alt + arrows ... , còn split trên nvim thì dùng t-mux-navigation plugin rồi config shortcut thôi
Fence thích dùng phím thì dùng tmux để quản lí tabs trong terminal. Tmux nó gọi là session -> window ->pane.
Combo mình thường thấy:
Terminal emulator: Alacritty
Editor: Vim
Terminal muliplexer: Tmux
Alacritty là 1 terminal emulator tận dụng GPU cho nhanh, thấy nó nhanh hơn hẳn iTerm2 (trên MacOS). Linux thì còn st (suckless terminal). Vì alacritty k hỗ trợ tab gì cả, nên thêm tmux vào để thao tác nhanh gọn giữa nhiều terminal.
Đang dùng WSL 2 trên Windows nên không có nhiều lựa chọn fen ah, cũng dang dùng tmux để chia tab với pane.
navigate giữa kitty pane và nvim split có dễ k fence. Vì tmux có plugin để dùng chung 1 phím mà nagivate tmux < - > vim.
Nếu mục đích chính là chia tab với pane thì kitty ngon choét, chạy được cả Linux và Mac. Bên Mac em xài kitty chứ ko xài iTerm, cơ bản là nó render rất nhanh và nhẹ
Nếu mục đích chính là chia tab với pane thì kitty ngon choét, chạy được cả Linux và Mac. Bên Mac em xài kitty chứ ko xài iTerm, cơ bản là nó render rất nhanh và nhẹ
để cuối tuần thử xem sao, coi thử có gì hay hơn tmux + alacritty ko.
Khi dùng Windows thì mình cài Kitty vào WSL và dùng nó qua X server.
Sent from HUAWEI CLT-L29 using vozFApp
Có mượt không thím, dùng vim mở file lớn có giật lag không? Dùng được clipboard giữa Windows với Vim không? Em xài Windows terminal mà nó vẫn còn xì ke lắm.
Có mượt không thím, dùng vim mở file lớn có giật lag không? Dùng được clipboard giữa Windows với Vim không? Em xài Windows terminal mà nó vẫn còn xì ke lắm.
Nói chung cũng mượt. Mình không mở file lớn nên không biết.
Clipboard và chuột giữa Win, terminal, tmux, vim dùng qua lại bình thường
Sent from HUAWEI CLT-L29 using vozFApp
hts222
Kitty hình như không gõ tiếng Việt trên linux bằng ibus được à các thím? dùng Alacritty + Nvim cũng ngon phết
D Vlad
Alacritty + tmux + Nvim perfect
[W]inter [B]lues
con Alacritty trên windows dùng cũng ngon phết mấy thím, cơ mà tách ra chạy terminal hơi nhọc
siêu dễ nhé, hỗ trợ hết rồi, chỉ việc xác định shortcut cho nó thôi, đây là screen mình hay làm việc. move qua lại giữa các tab bằng : Alt + arrows ... , còn split trên nvim thì dùng t-mux-navigation plugin rồi config shortcut thôi
View attachment 168775
Kitty có support
prefix key như tmux ko fence?
Ví dụ: tmux dùng phím Ctrl+f để send prefix, sau đó
release hết phím rồi mới bấm phím tiếp theo.
Còn Kitty thấy có
kitty_mod mà phải bấm
giữ. Rất mệt.
Kitty có support
prefix key như tmux ko fence?
Ví dụ: tmux dùng phím Ctrl+f để send prefix, sau đó
release hết phím rồi mới bấm phím tiếp theo.
Còn Kitty thấy có
kitty_mod mà phải bấm
giữ. Rất mệt.
Ae thích vô coi có gì cần chôm về xài nè:
dotfiles E cũng đi chôm lung tung về
Hay quá anh ơi
soihoang
đang thử cái này trên vscode, nó đòi nvim bản 0.5.0, mình ko cài qua brew được mà tải asset về từ repo github. Chạy terminal thì ok mà chạy trên vscode thì lỗi banh. Bác nào thử cùng ko
đang thử cái này trên vscode, nó đòi nvim bản 0.5.0, mình ko cài qua brew được mà tải asset về từ repo github. Chạy terminal thì ok mà chạy trên vscode thì lỗi banh. Bác nào thử cùng ko
Thường thì người ta chỉ dùng vscode với plugin khi buộc phải làm vậy, như cần plugin đặc biệt nào đó. Còn bình thường dùng mấy kiểu giả cầy thế này lag hơn, nhiều giới hạn, khó troubleshoot. Dùng plugin vim key binding với vscode là được rồi, hoặc mỗi vscode, hoặc mỗi vim.
Thường thì người ta chỉ dùng vscode với plugin khi buộc phải làm vậy, như cần plugin đặc biệt nào đó. Còn bình thường dùng mấy kiểu giả cầy thế này lag hơn, nhiều giới hạn, khó troubleshoot. Dùng plugin vim key binding với vscode là được rồi, hoặc mỗi vscode, hoặc mỗi vim.
mình thử để coi thằng thằng nvim 0.5 này nó phát triển khả năng tích hợp kiểu gì đó thím, ý tưởng nó giống kiểu server language protocol nên muốn xem thử nó làm được gì thôi :-?
zzchaolegionzz
Cái OniVim2 cuối tháng này có bản beta. Thím nào dùng rồi review cho anh em với. Em cũng muốn thử mà phải preorder 40$, đang nghĩ không biết bỏ 40$ mua về rồi xài có ra gì không?
Cái OniVim2 cuối tháng này có bản beta. Thím nào dùng rồi review cho anh em với. Em cũng muốn thử mà phải preorder 40$, đang nghĩ không biết bỏ 40$ mua về rồi xài có ra gì không?
thấy nó miễn phí cho non-commercial mà fen, dùng thử xem.
Em làm cho big corp của mẽo nên là dùng cho commercial rồi, mấy cái này tụi nó track được lỡ có gì nó report qua bên HQ thì mệt.
Anw thì em run
esy build lỗi tùm lum nên cũng ko mặn mà lắm, build rõ lâu xong fail.
dtb11288
mình share quả code download vim-plug tự động nếu chưa có
Code:
" vim home
let g:vim_home=expand("~/.config/nvim")
let s:bundle_home=g:vim_home."/bundle"
let s:vim_plug_repo="junegunn/vim-plug"
let s:plug_tool_home=s:bundle_home."/vim-plug"
if !isdirectory(s:plug_tool_home."/.git")
silent exec "!mkdir -p ".s:bundle_home
silent exec "!git clone https://github.com/".s:vim_plug_repo.".git ".s:plug_tool_home
silent exec "!mkdir -p ".s:plug_tool_home."/autoload"
silent exec "!ln -s ".s:plug_tool_home."/plug.vim ".s:plug_tool_home."/autoload"
let s:bootstrap=1
endif
exec "set rtp+=".s:plug_tool_home
call plug#begin(s:bundle_home)
" let vim_plug manage itself
exec "Plug '".s:vim_plug_repo."'"
...
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
...
" end and check install
call plug#end()
if exists("s:bootstrap") && s:bootstrap
unlet s:bootstrap
exec "PlugInstall"
endif
h2lua045111
Có cách nào để gắn nhãn cho windows giống vimium trong chrome không mọi người? mình thử LabelControl nhưng nó chạy không được ổn
Có thím nào đang xài bản neovim nightly update thường xuyên không?
Neovim nightly có treesitter ngon phết.
Xài bản ổn định thím ơi, nightly update thuờng xuyên nên bug cũng thuờng xuyên luôn, nay đang code bình thuờng tự nhiên mai không code được nữa thì fix rất mất thời gian.
Xài bản ổn định thím ơi, nightly update thuờng xuyên nên bug cũng thuờng xuyên luôn, nay đang code bình thuờng tự nhiên mai không code được nữa thì fix rất mất thời gian.
Say no to Linux desktop
Lí do thì như trên, cái UI rất là fragile.
Em thấy nhiều người đang dùng bản nightly để dùng được cái built-in LSP client á thím.
Em thấy nhiều người đang dùng bản nightly để dùng được cái built-in LSP client á thím.
Em đang dùng LSP của thằng cock.nvim, thấy cũng ổn áp phết. Còn native LSP thì cũng đáng để thử đấy, chắc em sẽ dùng thử sau giờ làm, còn code hàng ngày vẫn dùng bản release gần nhất
CuongDog
tôi cũng đang dùng Vim cho scripting đây, nhưng cải tiến hơn là có highlight syntax + files navigate (dual tab) rất tiện dụng
Xài bản ổn định thím ơi, nightly update thuờng xuyên nên bug cũng thuờng xuyên luôn, nay đang code bình thuờng tự nhiên mai không code được nữa thì fix rất mất thời gian.
Say no to Linux desktop
Lí do thì như trên, cái UI rất là fragile.
sắp chuyển cty nên đang cân nhắc dùn arch, mới cài thử trên virtualbox thấy ổn phết, có thím nào dùng không nhỉ, ko biết có hạn chế gì không
Arch ngồi cài từ đầu hay lắm, đọc wiki (arch wiki is the best technical wiki, period) chọn từng package một theo ý mình, không có gì trong máy là thừa thải cả.
Hạn chế là tốn thời gian
broke.the.rule
Em đang dùng coc.nvim và khá hài lòng, thấy 1 số nơi recommend YCM, có bác nào dùng cả 2 rồi thì review thằng YCM và so sánh nó với coc giúp em với.
điều duy nhất em ko thích ở thằng coc là nó cần nodejs để chạy (em dị ứng với nodejs)
Em đang dùng coc.nvim và khá hài lòng, thấy 1 số nơi recommend YCM, có bác nào dùng cả 2 rồi thì review thằng YCM và so sánh nó với coc giúp em với.
điều duy nhất em ko thích ở thằng coc là nó cần nodejs để chạy (em dị ứng với nodejs)
hm, xem qua thì thằng YCM chỉ là complete thôi mà nhỉ, vậy nó ko có không có mấy cái semantic như là find usage, symbles, references, rename
thường nếu ko dùng coc thì dùng lsp nhưng setup hơi mệt với có 1 số cái vẫn đang phát triển
hm, xem qua thì thằng YCM chỉ là complete thôi mà nhỉ, vậy nó ko có không có mấy cái semantic như là find usage, symbles, references, rename
thường nếu ko dùng coc thì dùng lsp nhưng setup hơi mệt với có 1 số cái vẫn đang phát triển
View attachment 455024Mấy thím cho em hỏi làm sao để setup cái terminal trong neovim giống như hình + tab ở góc trái trên cùng với
Cái này là xài combo wm + vim + tmux ấy bác. Góc trái trên cùng là list mấy mang hình của wm.
Cái hình bác lấy trên reddit hả? Nếu vậy thì vào sẽ có repo config. Mà config mấy cái này hơi tốn thời gian luôn
Có vẻ ngon đấy, hồi giờ em vẫn dùng cái
cdo,
cfdo native.
Nhân tiện em hỏi cái search exact của thằng fzf Ag có vẻ hơi kém,ví dụ muốn search
something thì nó thỉnh thoảng vẫn search ra somethingA, somethingB. Em có thêm dấu ' vào trước để match exact thì thỉnh thoảng éo ra kết quả nào. Em dùng từ thỉnh thoảng thì có lúc nó search được có lúc không.
greans
tốn 3 ngày để migrate từ vimscript sang lua.init
Khá hài lòng với config hiện tại
nvim 0.5 + native LSP + tree-sitter
ngoài ra thì kitty + tmux + yabai
btw, mới bỏ coc-vim mà chuyển qua nvim 0.5 để dùng bultin lsp, tuy có bug đây đó mà tương đối ổn
Em cũng mới đổi qua builtin lsp. Thấy tạm thời khá ổn. Đỡ phải phụ thuộc vào nodejs.
Giờ kho plugin của e không dính đến thằng ngoài, chỉ có vimscript hoặc luajt thôi
Lúc trước dính thằng nodejs với python đau đầu, mỗi lần cài vim ở máy mới là phải cài mấy thằng kia khá mệt.
Em cũng mới đổi qua builtin lsp. Thấy tạm thời khá ổn. Đỡ phải phụ thuộc vào nodejs.
Giờ kho plugin của e không dính đến thằng ngoài, chỉ có vimscript hoặc luajt thôi.
Migrate qua có ý nghĩa gì bác nhỉ?
Ý là chuyển qua ấy mà.
luat1203
Giờ thấy anh em xài thằng nvim-tree.lua nhiều nhỉ. Lúc nó còn mới em cũng có xài mà hơi lỗi với còn thiếu 1 số tính năng nên xài Fern. Để giờ cài thử xem thế nào.
Ý mình là chuyển để làm gì ấy bác? Nó có nhanh hơn hay gì không ấy. Thấy cũng nhiều người chuyển qua.
Giờ nvim hỗ trợ luajt nên plugin ra nhiều dữ, mong càng ngày càng ngon
Em install vim gõ trên terminal ra vim rồi mà không biết cài chỗ nào mấy cái plug của nó nữa
Trời, xài vim phải tự search các kiểu chứ bác. Đầy trên mạng ra.
Kiểu như này nè:
https://www.sitepoint.com/getting-started-vim/ Mà mới xài bác chưa config được gì nhiều đâu. Bắt đầu từ vimtutor trên terminal cho biết key binding là hợp lí đó bác.
Chủ yếu là trước giờ ko nuốt nổi thằng vimL nên sẵn dịp cái nvim 0.5 nên đổi focus qua luascript cho dễ viết. Chứ thật ra ko có ý nghĩa gì lắm, nhiều đoạn copy configure thẳng từ vim qua
hoangkianh31592
toàn dùng vim mặc định, thấy ông CTO ở cty cũ code full vim, đỉnh vl
Chủ yếu là trước giờ ko nuốt nổi thằng vimL nên sẵn dịp cái nvim 0.5 nên đổi focus qua luascript cho dễ viết. Chứ thật ra ko có ý nghĩa gì lắm, nhiều đoạn copy configure thẳng từ vim qua
Mà tính ra neovim hỗ trợ lua ngon phết bác nhỉ.
Tạo hype, giờ mớ plugin mới viết bằng lua ngon choét
Mà tính ra neovim hỗ trợ lua ngon phết bác nhỉ.
Tạo hype, giờ mớ plugin mới viết bằng lua ngon choét
lua nó là scripting language nên khá gần với mấy thằng js/python, chứ vimL nhìn xoắn não vãi
matrix0006
Hi mấy thím, mình đang xài fzf + coc-explorer không biết có cách nào để khi enter một buffer bằng fzf thì coc-explorer nó sẽ tự động hiểu current directory của mình là cái buffer đó không? Thím nào đang xài vscode chắc sẽ biết behavior này.
Hi mấy thím, mình đang xài fzf + coc-explorer không biết có cách nào để khi enter một buffer bằng fzf thì coc-explorer nó sẽ tự động hiểu current directory của mình là cái buffer đó không? Thím nào đang xài vscode chắc sẽ biết behavior này.
tốn 3 ngày để migrate từ vimscript sang lua.init
Khá hài lòng với config hiện tại
nvim 0.5 + native LSP + tree-sitter
ngoài ra thì kitty + tmux + yabai
View attachment 457048
Bác cho em hỏi chút em mới cài thằng tmux,không hiểu sao mấy cái phím mặc định này em không sử dụng được bác cho em ít ý kiến với được không em dùng "macos"
Ctrl+b c # Tạo một cửa sổ mới
Ctrl+b w # Xem danh sách cửa sổ hiện tại
Ctrl+b n/p # Chuyển đến cửa sổ tiếp theo hoặc trước đó
Ctrl+b f # Tìm kiếm cửa sổ
Ctrl+b , # Đặt/Đổi tên cho cửa sổ
Ctrl+b & # Đóng cửa sổ
Ctrl+b % # chia đôi màn hình theo chiều dọc
Ctrl+b " # chia đôi màn hình theo chiều ngang
Ctrl+b o/<phím mũi tên> # Di chuyển giữa các panel
Ctrl+b q # Hiện số thứ tự trên Ctrl+b x # Xoá panel
Bác cho em hỏi chút em mới cài thằng tmux,không hiểu sao mấy cái phím mặc định này em không sử dụng được bác cho em ít ý kiến với được không em dùng "macos"
Ctrl+b c # Tạo một cửa sổ mới
Ctrl+b w # Xem danh sách cửa sổ hiện tại
Ctrl+b n/p # Chuyển đến cửa sổ tiếp theo hoặc trước đó
Ctrl+b f # Tìm kiếm cửa sổ
Ctrl+b , # Đặt/Đổi tên cho cửa sổ
Ctrl+b & # Đóng cửa sổ
Ctrl+b % # chia đôi màn hình theo chiều dọc
Ctrl+b " # chia đôi màn hình theo chiều ngang
Ctrl+b o/<phím mũi tên> # Di chuyển giữa các panel
Ctrl+b q # Hiện số thứ tự trên Ctrl+b x # Xoá panel
cho xem file tmux.conf để xem , mình cũng xài macOS mà mấy cái lệnh kia xài bth nhé
Bác cho em hỏi chút em mới cài thằng tmux,không hiểu sao mấy cái phím mặc định này em không sử dụng được bác cho em ít ý kiến với được không em dùng "macos"
Ctrl+b c # Tạo một cửa sổ mới
Ctrl+b w # Xem danh sách cửa sổ hiện tại
Ctrl+b n/p # Chuyển đến cửa sổ tiếp theo hoặc trước đó
Ctrl+b f # Tìm kiếm cửa sổ
Ctrl+b , # Đặt/Đổi tên cho cửa sổ
Ctrl+b & # Đóng cửa sổ
Ctrl+b % # chia đôi màn hình theo chiều dọc
Ctrl+b " # chia đôi màn hình theo chiều ngang
Ctrl+b o/<phím mũi tên> # Di chuyển giữa các panel
Ctrl+b q # Hiện số thứ tự trên Ctrl+b x # Xoá panel
Em dùng suốt mà có sao đâu nhỉ?
im6h1898
Em mới update config nvim + lua mà không cần move sang init lua:
dotfile
đây bác ơi đây mà config em coppy ở trên mạng cũng đang tập toẹ dùng
Khuyên thím học basic rồi tự config từ từ đã .Thím copy nguyên cái config tè le vậy mà ko hiểu nó làm gì thì toang là đúng rồi ở đây nó chuyển prefix như
@im6h1898 nói rồi nhé. Thím xoá xong reset lại tmux mới hiệu lực nhé
Bác đi cop config ở đâu rồi về xài không được là đúng rồi,
thực da chước em mới cài cũng có config gì đâu có điều không dùng được phím tắt mặc định nên mới thử lấy config của người khác xem có được không nhưng vẫn vây
Khuyên thím học basic rồi tự config từ từ đã .Thím copy nguyên cái config tè le vậy mà ko hiểu nó làm gì thì toang là đúng rồi ở đây nó chuyển prefix như
@im6h1898 nói rồi nhé. Thím xoá xong reset lại tmux mới hiệu lực nhé
em xoá hết đi rồi để mặc định luôn nhưng có được đâu
Nếu thực hiện hết mà ko dc thì có thể thím bị đổi nút control, giờ tìm trên bàn phím máy Macbook của bác nút 'control' rồi giữ nút đó bấm trackpad xem nó có ra 'right-click' ko nếu ko là bị đổi nút
Nếu thực hiện hết mà ko dc thì có thể thím bị đổi nút control, giờ tìm trên bàn phím máy Macbook của bác nút 'control' rồi giữ nút đó bấm trackpad xem nó có ra 'right-click' ko nếu ko là bị đổi nút
Nếu thực hiện hết mà ko dc thì có thể thím bị đổi nút control, giờ tìm trên bàn phím máy Macbook của bác nút 'control' rồi giữ nút đó bấm trackpad xem nó có ra 'right-click' ko nếu ko là bị đổi nút
bác xem có bị đổi không
Attachments
Screen Shot 2021-04-03 at 14.40.07.png
164 KB · Views: 14
Screen Shot 2021-04-03 at 14.40.19.png
211.4 KB · Views: 14
Duy Trầns
tạo bằng thay thì ok nhưng phím tắt lại không dùng được
Mình trước kia viết code bằng VS hoặc Netbeans vì đồ họa đẹp, canh lề tự động và có nhiều gợi ý, nhưng sau lại chuyển qua VIM vì dùng Terminal thì dễ quản lý code và thuận tiện nhiều thứ.
btw, thím có solution nào cho multi cursor không? Từ sublime/vscode chuyển qua thì nhớ nhất là cái đó
Nghiên cứu thì thấy vimer khuyến khích không nên dùng cái đó mà tận dụng các tính năng của vim mà vẫn thấy bất tiện, có 1 số plugin multicusor mà thấy sida quá, tính năng không ổn định hoặc treo mẹ nvim.
Cái này vim native có block mode xài luôn không cần plugin đâu fen. <C-v> để vô block mode rồi chọn nhiều lines rồi I, A (tương tự i, a mode thường) để edit, xong thì <Esc>
Cái này vim native có block mode xài luôn không cần plugin đâu fen. <C-v> để vô block mode rồi chọn nhiều lines rồi I, A (tương tự i, a mode thường) để edit, xong thì <Esc>
nếu nó ngay hàng thẳng lối thì visual block ok nhưng đa số nó đâu có được như vậy
btw, thím có solution nào cho multi cursor không? Từ sublime/vscode chuyển qua thì nhớ nhất là cái đó
Nghiên cứu thì thấy vimer khuyến khích không nên dùng cái đó mà tận dụng các tính năng của vim mà vẫn thấy bất tiện, có 1 số plugin multicusor mà thấy sida quá, tính năng không ổn định hoặc treo mẹ nvim.
Mình đang dùng vim trong wsl có vấn đề là mình muốn cài ibus-bamboo nhưng nó báo lỗi không cài được. Có bác nào cài được bộ gõ tiếng việt trên terminal và set nó làm mặc định không?
Mình đang dùng vim trong wsl có vấn đề là mình muốn cài ibus-bamboo nhưng nó báo lỗi không cài được. Có bác nào cài được bộ gõ tiếng việt trên terminal và set nó làm mặc định không?
Ah đúng rồi do dùng evkey nên set cái wsl.exe ko dùng gõ tiếng việt. Nó bị lỗi ở cái x11. Mọi người có ai dùng Youcompleteme với autoformat ko. Đang mò code để đổi format mặt định của cái autoformat. Cái Ycm mình mới config nên chưa ổn bác nào config rồi cho xin dotfile với.
giờ thấy chuyển qua neovim với lsp hết rồi, ko còn ai dùng vim gốc nữa
Còn chứ, nhưng phải công nhận vim kém hơn hẳn nvim về khoản true color
.:Barry.Allen:.
Chào các tiền bối,
Em đang dùng Manjaro, hiện có hứng thú dùng Vim thì nên dùng loại nào ạ, em thấy trên AUR nhiều loại quá
Với lại em có nên chuyển sang Distro Arch Linux rồi cài i3, vim để có trải nghiệm tốt nhất không ạ?
Em cám ơn rất nhiều ạ
Chào các tiền bối,
Em đang dùng Manjaro, hiện có hứng thú dùng Vim thì nên dùng loại nào ạ, em thấy trên AUR nhiều loại quá
Với lại em có nên chuyển sang Distro Arch Linux rồi cài i3, vim để có trải nghiệm tốt nhất không ạ?
Em cám ơn rất nhiều ạ
Gửi từ HMD Global Nokia 5.4 bằng vozFApp
neovim-git với lsp và treesitter nhé.
foreveryoung1992
Vscode là ngon nhất rồi, chỉ thua mấy cái IDE thôi, có điều IDE nặng nề quá
VScode có tỳ chỉnh bằng json.setting, có thể tùy chỉnh dc rất nhiều thứ theo ý mình muốn, phím tắt muốn cỡ nào cũng có, phím tắt cho cả một đoạn code dài cũng được nữa.
Vscode có hỗ trợ Github nữa
và Vscode rất nhẹ nhàng, có người bảo Vscode là phần mềm tốt nhất từ trước đến giờ của Microsoft, rất hiệu quả, trơn tru như hàng của Apple.
Vscode là ngon nhất rồi, chỉ thua mấy cái IDE thôi, có điều IDE nặng nề quá
VScode có tỳ chỉnh bằng json.setting, có thể tùy chỉnh dc rất nhiều thứ theo ý mình muốn, phím tắt muốn cỡ nào cũng có, phím tắt cho cả một đoạn code dài cũng được nữa.
Vscode có hỗ trợ Github nữa
và Vscode rất nhẹ nhàng, có người bảo Vscode là phần mềm tốt nhất từ trước đến giờ của Microsoft, rất hiệu quả, trơn tru như hàng của Apple.
Mình trước cũng xài VScode, đúng là nó tiện nhưng mà hơi chậm, nên chuyển sang NVIM, sang vim tưởng bất lợi nhưng có nhiều plugin cũng khá bá đạo ( complete, prettier, git,.. cái gì cũng có, còn nói VScode chạy trơn tru thì ko chắc chứ cái Mac năm 2015 cũng lag vại đái
VScode có tỳ chỉnh bằng json.setting, có thể tùy chỉnh dc rất nhiều thứ theo ý mình muốn, phím tắt muốn cỡ nào cũng có, phím tắt cho cả một đoạn code dài cũng được nữa.
mấy cái đó vim không có?
trước dùng vscode mà edit file khoảng 1000 dòng code thấy nó lag lòi ra, chuyển sang nvim nhanh hơn hẳn.
hình như do vscode nó viết bằng electron lag vãi lol đúng ko ta, sao thằng MS ko viết bằng cái khác nhỉ.
Làm desktop apps mà cross platform thì loanh quanh cũng có 2 thằng Electron với Qt là phổ biến nhất. Chắc MS muốn là cổ vũ các công nghệ web nên chọn Electron.
Giờ có 1 dám IDE trên cloud với cái base từ VSCode đấy.
Sent from HUAWEI CLT-L29 using vozFApp
zzchaolegionzz
Nghe bảo có project tích hợp neovim vào vscode đấy, backend là neovim nên perf cao hơn hẳn, nhưng chỉ bật lên cho ai xài vim mode.
traimuathu
Em dùng vim setup đơn giản, chả màu mè gì nhiều.
broke.the.rule
Các thím chuyển qua native LSP của neovim rồi cho em hỏi, em đang dùng tsserver để code js + ts.
Từ khi chuyển qua native LSP thì tsserver vẫn chạy ngon với code js, nhưng sang code ts là mở file 1 cái là hang up luôn, ko phản hồi gì nữa, có ai bị lỗi này chưa và cách khắc phục như nào ạ?
p/s: em code NestJs nhé
Các thím chuyển qua native LSP của neovim rồi cho em hỏi, em đang dùng tsserver để code js + ts.
Từ khi chuyển qua native LSP thì tsserver vẫn chạy ngon với code js, nhưng sang code ts là mở file 1 cái là hang up luôn, ko phản hồi gì nữa, có ai bị lỗi này chưa và cách khắc phục như nào ạ?
p/s: em code NestJs nhé
Đã tìm ra nguyên nhân, ko phải do native LSP mà là em bật
Code:
set re=1
nên syntax higlighting bị timeout nên toác. Tắt đi là ok ngay
.:Barry.Allen:.
Nếu học C++, python đụng tới tầm OOP mà muốn dùng nvim thì nên dùng những plugin nào ạ, em cám ơn
à có vẻ thế thật, mình dùng ts language server, thằng bạn dùng golang cũng ko vấn đề gì
còn buffer thì phải mở nhiều rồi
Em cũng dùng ts nè, nhưng thường ko mở quá 15 file, lâu lâu lại rảnh tay kill chơi
SkTm
Mình mới dùng nvim nên có vài thắc mắc sau mọi người giúp mình với.
Mình code c++, python, (html, css, javasript) mình nên dùng plugin nào để autocomplete với autoformat code.
.:Barry.Allen:.
Các bác cho em hỏi hỏi các dòng <C-W> hoặc <Return> hoặc <left> <right>
Ví dụ như: nmap ss :split<Return><C-w>w
Thì thao tác trên mode nào và như thế nào trên bàn phím ạ?
Em cám ơn
Các bác cho em hỏi hỏi các dòng <C-W> hoặc <Return> hoặc <left> <right>
Ví dụ như: nmap ss :split<Return><C-w>w
Thì thao tác trên mode nào và như thế nào trên bàn phím ạ?
Em cám ơn
ở chế độ nomal bấm phím ss thì nó thực hiện lên split<Return><C-w>w.
Mình mới dùng nvim nên có vài thắc mắc sau mọi người giúp mình với.
Mình code c++, python, (html, css, javasript) mình nên dùng plugin nào để autocomplete với autoformat code.
ccls với pyright và nvim-lsp (nvim 0.5 trở lên) hoặc coc.
ccls với pyright và nvim-lsp (nvim 0.5 trở lên) hoặc coc.
Mình dùng nvim-lspconfig có khác gì với nvim-lsp không bác? cái pyright là lsp mình cài thông qua nmp i -g pyright của nodejs đúng không? do trong vim mình dùng thằng YCM mà nó không support cho nvim.
Mình dùng nvim-lspconfig có khác gì với nvim-lsp không bác? cái pyright là lsp mình cài thông qua nmp i -g pyright của nodejs đúng không? do trong vim mình dùng thằng YCM mà nó không support cho nvim.
nvim-lspconfig là nvim-lsp đó bác, có nó là đc r.
YCM ko phải language server, cài pyright và ccls và các language server khác rồi thì cài thêm nvim-compe để có autocomplete và formatting thì có lệnh build sẵn đấy, thím đọc config xem.
có một list các language server cho các ngôn ngữ này.
Mình dùng nvim-lspconfig có khác gì với nvim-lsp không bác? cái pyright là lsp mình cài thông qua nmp i -g pyright của nodejs đúng không? do trong vim mình dùng thằng YCM mà nó không support cho nvim.
nvim-lspconfig là auto config cho nvim-lsp thôi thím, có hướng dẫn của nó đấy, nói chung là thím đỡ phải config nvim-lsp dài dòng.
thằng YCM chỉ là completion thôi, nó có thể lấy source từ nhiều nguồn (trong đó có language server) để auto completion cho thím, để dùng với nvim-lsp thì thím có thể dùng thử nvim-compe hoặc completion-nvim
Em cũng thích ra terminal bằng ctrl + z xong vô lại bằng fg, dùng cái terminal embed trong vim thỉnh thoảng quên mất mà thao tác cũng rườm rà hơn. Tuy nhiên chỉ dùng cách này khi cần chạy quick command thôi.
Em code một số app khi chạy khá là tốn tài nguyên nên nếu để dùng chung với cái terminal code vim thì dùng nó giật lag, đằng nào cũng phải tách ra cho nó chạy terminal khác nên là em setup cái iTerm2 thành dropdown terminal giống Yakuake bên Linux ấy, nhấn F12 là nó rớt xuống xong trong đấy chia tab, chia pannel thoải mái, chạy mấy web service trong đó sẽ không ảnh hưởng tới cái terminal đang chạy Vim.
Thím press
<C-\><C-n>, thường thì em map tổ hợp đó với escape
Terminal ngay trong nvim đó thím, ko cần phải thoát ra rồi vào lại, hữu dụng nếu vừa code vừa chạy gì đó ví dụ:
View attachment 26521 Riêng em thì prefer split iterm hơn là trong vim
Mấy fence muốn chạy terminal trong vim nhanh thì có thể dùng floaterm. Nó bật 1 floating window trong vim rồi bật coomang mode luôn, map key hiện lên ẩn đi nhanh gọn lẹ.
Mình kết hợp alacritty, tmux, nvim.
Tmux có popup với menu cũng hay. Mấy commang hay dùng thì cho vào 1 tmux menu rồi map key cho nhanh.
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
tpope/vim-commentary đó fence. Comment nhiều language chứ k riêng html
Đú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
Java với kotlin chưa thấy LS nào xịn nên cứ intellj mà táng cho khỏe, k nên khổ dâm quá. Vài cái trải nghiệm edit nhanh thì Vimidea plugin. Ví dụ làm react, js hay go, python thì vim dùng mượt mà thật, nhưng java kotlin thì k.
Hi mấy thím, mình đang xài fzf + coc-explorer không biết có cách nào để khi enter một buffer bằng fzf thì coc-explorer nó sẽ tự động hiểu current directory của mình là cái buffer đó không? Thím nào đang xài vscode chắc sẽ biết behavior này.
K hiểu y fence là thế nào, chắc là chuyển working directory về thư mục chứa file trong current buffer à? Vậy thôi viết autocmd đi. Bắt event lúc buffer dc bật hoặc theo filetype rồi set working dir.
Bác dùng tmux để spilt window thay cho vsplit split trên nvim ạ
Gửi từ HMD Global Nokia 5.4 bằng vozFApp
Hai cái đó khác nhau mà, tmux nó split thì mở ra termi al khác, còn vim split là mở ra vim window để hiển thị 1 buffer. Chứ tmux đâu có thay thế vim split.
Ruaconlonton123
Em đang dùng terminator, các bác cho em hỏi tmux có điểm gì mạnh hơn terminator k ạ :/
Em đang dùng terminator, các bác cho em hỏi tmux có điểm gì mạnh hơn terminator k ạ :/
Terminator là một terminal emulator, còn tmux là terminal multiplexer.
Hai thứ khác nhau ko so sánh dc với nhau.
Ví dụ Terminator vs Alacritty thì so sánh dc, vì cũng là terminal emulator.
Đơn giản là thế này. Người ta hay dùng tmux cùng với alacritty hoặc st. Vì 2 terminal emulator đó chỉ có những feature cơ bản, k có tab hay split gì cả. Cài thêm tmux vào để có thể mở nhiều tab (window), split (pane) hay nhiều sessions luôn.
Terminator là một terminal emulator, còn tmux là terminal multiplexer.
Hai thứ khác nhau ko so sánh dc với nhau.
Ví dụ Terminator vs Alacritty thì so sánh dc, vì cũng là terminal emulator.
Đơn giản là thế này. Người ta hay dùng tmux cùng với alacritty hoặc st. Vì 2 terminal emulator đó chỉ có những feature cơ bản, k có tab hay split gì cả. Cài thêm tmux vào để có thể mở nhiều tab (window), split (pane) hay nhiều sessions luôn.
Trước mình cũng hay dùng tmux + ala. Khổ cái gnome support wayland như cứt, app ko native như ala là ko có xdg-decorator gì sất nên riết bỏ luôn 2 thg này chuyển sang kitty luôn
Trước mình cũng hay dùng tmux + ala. Khổ cái gnome support wayland như cứt, app ko native như ala là ko có xdg-decorator gì sất nên riết bỏ luôn 2 thg này chuyển sang kitty luôn
trước giờ mình chỉ dùng gnome-terminal, alacritty vs kitty có gì hay vậy thím?
trước giờ mình chỉ dùng gnome-terminal, alacritty vs kitty có gì hay vậy thím?
Nếu thím quan tâm về tốc độ thì mình nghĩ 2 thằng này là nhanh nhất vì tụi nó là GPU-accelerated terminal. Còn tính năng thì 2 thằng khá khác nhau. Ala hướng đến raw performance, ít tính năng nhất có thể, support vài cái vi motion với search cơ bản thôi, tab windows gì cũng ko có sất. Nhưng nó cực kì nhanh nên ng ta hay xài chung vs mấy cái multiplexer như tmux. Kitty thì ngược lại, nó là thể loại của tất cả trong 1, từ custom keymap đến đọc file, xem ảnh, video, remote control, làm việc vs window, tab, session. Kitty nó làm đc vậy nhờ nó build sẵn 1 cái framework hỗ trợ viết script trên terminal luôn. Tất nhiên chơi kiểu đấy thì trông nó có phần nặng nề hơn mấy thằng khác, và phần config khá là dài.
Nếu thím quan tâm về tốc độ thì mình nghĩ 2 thằng này là nhanh nhất vì tụi nó là GPU-accelerated terminal. Còn tính năng thì 2 thằng khá khác nhau. Ala hướng đến raw performance, ít tính năng nhất có thể, support vài cái vi motion với search cơ bản thôi, tab windows gì cũng ko có sất. Nhưng nó cực kì nhanh nên ng ta hay xài chung vs mấy cái multiplexer như tmux. Kitty thì ngược lại, nó là thể loại của tất cả trong 1, từ custom keymap đến đọc file, xem ảnh, video, remote control, làm việc vs window, tab, session. Kitty nó làm đc vậy nhờ nó build sẵn 1 cái framework hỗ trợ viết script trên terminal luôn. Tất nhiên chơi kiểu đấy thì trông nó có phần nặng nề hơn mấy thằng khác, và phần config khá là dài và mệt mỏi
Kitty
49404 directories, 443727 files
tree / 3.70s user 2.48s system 89% cpu 6.890 total
Gnome-terminal
49326 directories, 442919 files
tree / 3.24s user 2.54s system 72% cpu 7.994 total
chênh nhau 1s
Thấy không khác bọt thì thím cứ dùng gnome term, em xài mac mới thấy nó nhanh hơn hẳn default term và iterm2.
Thím vào vim, bật ligature lên, scroll lên xuống, jump giữa các buffer xem có thấy khác không.
vexliva
Bí quá đành lên đây hỏi. Tình hình là mình mới chuyển lên nvim 0.5 dùng LSP thấy cũng ổn, nhưng có 1 vấn đề khó chịu là cái error message của nó lại trùng màu với text ( mình muốn màu đỏ ) có ai biết cách khắc phục ko mình thử nhiều cách mà vẫn vậy . Mình xài fish, gruvbox
Bí quá đành lên đây hỏi. Tình hình là mình mới chuyển lên nvim 0.5 dùng LSP thấy cũng ổn, nhưng có 1 vấn đề khó chịu là cái error message của nó lại trùng màu với text ( mình muốn màu đỏ ) có ai biết cách khắc phục ko mình thử nhiều cách mà vẫn vậy . Mình xài fish
View attachment 589484termnal và native LSP
Code:
hi LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow
hi LspReferenceText cterm=bold ctermbg=red guibg=LightYellow
hi LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow
"
hi LspDiagnosticsVirtualTextError guifg=Red ctermfg=Red
hi LspDiagnosticsVirtualTextWarning guifg=Yellow ctermfg=Yellow
" Info and Hints in White
hi LspDiagnosticsVirtualTextInformation guifg=White ctermfg=White
hi LspDiagnosticsVirtualTextHint guifg=White ctermfg=White
" Underline the offending code
hi LspDiagnosticsUnderlineError guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineWarning guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineInformation guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineHint guifg=NONE ctermfg=NONE cterm=underline gui=underline
augroup lsp_document_highlight
autocmd! * <buffer>
" autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
" autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
hi LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow
hi LspReferenceText cterm=bold ctermbg=red guibg=LightYellow
hi LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow
"
hi LspDiagnosticsVirtualTextError guifg=Red ctermfg=Red
hi LspDiagnosticsVirtualTextWarning guifg=Yellow ctermfg=Yellow
" Info and Hints in White
hi LspDiagnosticsVirtualTextInformation guifg=White ctermfg=White
hi LspDiagnosticsVirtualTextHint guifg=White ctermfg=White
" Underline the offending code
hi LspDiagnosticsUnderlineError guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineWarning guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineInformation guifg=NONE ctermfg=NONE cterm=underline gui=underline
hi LspDiagnosticsUnderlineHint guifg=NONE ctermfg=NONE cterm=underline gui=underline
augroup lsp_document_highlight
autocmd! * <buffer>
" autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
" autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
thử tự chỉnh lại màu xem sao thím
Quăng vào init.vim hả thím, mình thử rồi mà cũng ko dc
vexliva
Có fen nào lên nvim 0.5 cho mình hỏi với là nên xài Treesitter hay LSP hay cả hai ạ, mình ko rành cái này lắm ? Mình đang để cả hai thì nvim nó lag kinh ra
Có fen nào lên nvim 0.5 cho mình hỏi với là nên xài Treesitter hay LSP hay cả hai ạ, mình ko rành cái này lắm ? Mình đang để cả hai thì nvim nó lag kinh ra
dùng cả 2 thôi thím. LSP là language server, còn treesitter là để tối ưu cho syntax, dùng nó phải bớt lag chứ.
mình vẫn xài compe mà, nếu ko đc thím tắt treesitter source như hướng dẫn hoặc chuyển sang deoplete-lsp và deoplete thử xem.
à thanks bạn để mình thử xem, không biết lag do gì nữa
vexliva
Mấy nay vọc vạch lên neovim 0.5, thấy có github của thằng này config sẵn neovim 0.5 nên post lên cho anh em tham khảo, công nhận xài sướng. Nhưng thằng này nó config nhiều quá, mn có thể bỏ bớt phần extra ( set O.extra = false ) và coi cái keymapping + phần which-key của nó
https://github.com/ChristianChiarulli/LunarVim
Mấy nay vọc vạch lên neovim 0.5, thấy có github của thằng này config sẵn neovim 0.5 nên post lên cho anh em tham khảo, công nhận xài sướng. Nhưng thằng này nó config nhiều quá, mn có thể bỏ bớt phần extra ( set O.extra = false ) và coi cái keymapping + phần which-key của nó
https://github.com/ChristianChiarulli/LunarVim
Thằng này cũng giống mấy vim distribution khác thôi, nói chung là ai dùng vim/nvim rồi cũng phải setup các thứ hết, ko có cái ăn sẵn nào thoả mãn đc cả.
ông chris@machine này profile ác phết, từng làm engineer ở lockheed martin
Thằng này cũng giống mấy vim distribution khác thôi, nói chung là ai dùng vim/nvim rồi cũng phải setup các thứ hết, ko có cái ăn sẵn nào thoả mãn đc cả.
ông chris@machine này profile ác phết, từng làm engineer ở lockheed martin
Cái này tham khảo thôi thím, vì move từ vim sang lua có hơi khó khăn, mình cũng phải tự mò cả tuần mới config theo ý mình dc
. Config của thằng này có nhiều cái hay để học hỏi
socola_smile
Em đang xài vsvim, ko biết xài vim thật còn trò gì hay mà ko làm đc trong vscode ko mấy bác
Em đang có cái edge case này. Nvim hoặc nvim-qt trên Windows 10, dùng fzf để search file có preview.
View attachment 609901 Mà fzf bị lỗi gì đó không preview được, đã cố mấy ngày rồi mà ko fix được.
View attachment 609903
Em đang có cái edge case này. Nvim hoặc nvim-qt trên Windows 10, dùng fzf để search file có preview.
View attachment 609901 Mà fzf bị lỗi gì đó không preview được, đã cố mấy ngày rồi mà ko fix được.
View attachment 609903
cái path hình như sai rồi, vừa lẫn windows vừa unix. xem thử trên github có thằng nào report lỗi tương tự ko
Em đang có cái edge case này. Nvim hoặc nvim-qt trên Windows 10, dùng fzf để search file có preview.
View attachment 609901 Mà fzf bị lỗi gì đó không preview được, đã cố mấy ngày rồi mà ko fix được.
View attachment 609903
Thấy đang bị lẫn lộn PATH của windows và của wsl.
Dễ nhất thì gỡ bỏ wsl, remove bash program alias của windows, cài lại 1 package nào đó (ví dụ như gow) để chạy bash trên windows là được, vì thằng fzf preview thực chất là chạy file preview.sh
À còn cách dễ hơn là move hết vào wsl để chạy
Thấy đang bị lẫn lộn PATH của windows và của wsl.
Dễ nhất thì gỡ bỏ wsl, remove bash program alias của windows, cài lại 1 package nào đó (ví dụ như gow) để chạy bash trên windows là được, vì thằng fzf preview thực chất là chạy file preview.sh
À còn cách dễ hơn là move hết vào wsl để chạy
Lỗi fiction vãi, em google ra thì thêm cái này vào vimrc là chạy được
Code:
let $PATH = "C:\\Program Files\\Git\\usr\\bin;" . $PATH
Thím vô TabNine::config xong chọn cloud tabnine bỏ chọn local thì nó sẽ ko ăn vào CPU và Ram của thím cơ mà mạng của thím phải mạnh
Bản pro nó dùng trên model tập train lớn hơn và cho auto suggest multiple lines luôn mà 1 năm có 74 đô ,quá rẻ cho 1 cuộc tình
mình dùng thử bản free thấy ko có gì ấn tượng lắm, suggest đôi lúc conflict với code hiện tại nên ko biết bản pro có gì hơn
mình dùng thử bản free thấy ko có gì ấn tượng lắm, suggest đôi lúc conflict với code hiện tại nên ko biết bản pro có gì hơn
Thấy discount mình mua bản pro rồi để test vài ba hôm xem sao rồi review cho anh em
Ruaconlonton123
mọi người cho em hỏi với ạ,
em đang dùng thử nvim lsp, gọi hàm
vim.lsp.buf.references() thì giao diện hiển thị lên như này hơi k tiện lắm, có cách nào để setup cho nó giống như coc k ạ
mọi người cho em hỏi với ạ,
em đang dùng thử nvim lsp, gọi hàm
vim.lsp.buf.references() thì giao diện hiển thị lên như này hơi k tiện lắm, có cách nào để setup cho nó giống như coc k ạ
View attachment 615445
mình dùng tabnine từ đợt nó mở test (tầm 2019 thì phải) rồi được một thời gian cũng bỏ do nó nặng máy. Chẳng hiểu sao qua cài lại thấy nó lên pro thím ạ
mình dùng tabnine từ đợt nó mở test (tầm 2019 thì phải) rồi được một thời gian cũng bỏ do nó nặng máy. Chẳng hiểu sao qua cài lại thấy nó lên pro thím ạ
Thím dùng tabnine trong vscode hay vim ? Mình đang bực mình với cái cloud của nó đây disconnect liên tục, mình ở VN ko biết thím có bị vậy ko
Last edited:
leuleuleu789
Ssh thì xài vim, còn xài local trên máy mình giờ cứ dùng vscode thôi. Vscode nhiều plugin dùng tiện vãi
Vim tích hợp những cái như gdb breakpoint hay compilation error reporting tôi thấy còn kém lắm. Ai lập trình Java mà gõ vim chắc hơi đau tay
).
Vscode công nhận đòi hỏi nhiều ram. Hình như UI của nó dựa trên Blink rendering engine của Chrome nên khó so với bọn UI native như vim được.
công nhận Java đau thật, cái đó dùng IntelliJ với Ideavim cho khỏe
cơ mà nó cũng ram với tương đối chậm nên vẫn chủ yếu dùng vim cho mấ yviệc khác.
mấy thằng dùng electron như vscode khác gì cái trình duyệt đâu
thế nên bật cái file to tí lag vl
leuleuleu789
Mà chả hiểu sao vấn đề mở file to đến 2021 rồi mà chúng nó vẫn ko giải quyết đc nhỉ. Tôi nghĩ ngu ý là cứ phân file to ra, rồi load data on demand là đc chứ nhỉ.
Mà chả hiểu sao vấn đề mở file to đến 2021 rồi mà chúng nó vẫn ko giải quyết đc nhỉ. Tôi nghĩ ngu ý là cứ phân file to ra, rồi load data on demand là đc chứ nhỉ.
như thế thì khác chi phải thay đổi cả cái architecture rồi viết lại hở thím, rồi mớ plugins chắc chắn sẽ ko compatible, ví dụ đơn giản như các function hay plugin mặc định sẽ xử lý trên cả cái file, đằng này phải handle partial data thì đúng là chua thật.
em nghĩ là được, nhưng cái cost hơn cái benefits trong khi phần cứng tiến tương đối nhanh.
như thế thì khác chi phải thay đổi cả cái architecture rồi viết lại hở thím, rồi mớ plugins chắc chắn sẽ ko compatible, ví dụ đơn giản như các function hay plugin mặc định sẽ xử lý trên cả cái file, đằng này phải handle partial data thì đúng là chua thật.
em nghĩ là được, nhưng cái cost hơn cái benefits trong khi phần cứng tiến tương đối nhanh.
Render UI thì partition file ra, còn các plugin vscode nó chạy async background được cứ cho chạy trên cả file lớn. Nói chung quan trọng là tách cái thread xử lí UI ra khỏi thread xử lí tính toán để nó ko ảnh hưởng đến rendering performance
vexliva
Sau thời gian dùng bản pro ( cả nvim và vscode ) thì mình ko thấy ấn tượng . Tabnine giờ đúng là ăn ít CPU và Ram nhưng tính năng gợi ý vẫn ko ngon lắm deep model mà ko thấy "deep" gì hết, tính năng cloud của nó nhiều hôm disconnect liên tục. Đúng là nó có read code của mình để đưa gợi ý nhưng cũng gợi ý đơn giản thôi, khi tích hợp vào vim thì nó interfere với LSP và cả nhiều plugin của mình khá khó chịu nên đành chia tay em nó giờ chỉ dùng với vscode thôi. Khuyên không nên mua chi xài bản free dc rồi
, hoặc ko xài luôn dùng autocomple với LSP là ngon rồi
lifehate
xin chào các bác, em mới chơi vim, vì mỗi lần mở vscode cái laptop nó nóng như cái lò than, có topic này học hỏi thêm được chút kinh nguyệt
Dùng key binding, emulator cũng được. Sau nhiều năm dùng neovim và giờ buộc phải xài Jetbrain với IdeaVim thì em không còn bị ràng buộc phải dùng neovim nữa. Dành 1 ngày ra config lại hết các chức năng trên Jetbrain, VSCode qua vim key cũ bên neovim thì cũng được 90% productivity rồi, thậm chí một số chức năng còn ngon hơn.
Ví dụ: Jetbrain search exact cụm từ nhanh và chuẩn hơn vim.fzf vài lần.
Chia sẻ với các thím cách em config Jetbrain để behave theo keymap cũ bên Neovim. IdeaVim có sẵn một số vim plugin quen thuộc như NERDTree, vim surround luôn.
Code:
set incsearch
set cursorline
set smartcase
let mapleader = "\<space>"
nmap <esc> :noh<cr>
" Key mapping
map <leader>w :w<cr>
map <leader>q :q<cr>
map <leader>n :set nohlsearch<cr>
map <leader>N :set hlsearch<cr>
map <leader>e :NERDTree<cr>
map <leader>r <Action>(SelectInProjectView)
map <leader>f <Action>(ReformatCode)
map <leader>F <Action>(ReformatWithPrettierAction)
map <C-W><C-R> <Action>(MoveEditorToOppositeTabGroup)
map <leader>b <Action>(RecentFiles)
map <leader><cr> <Action>(GotoFile)
map <leader>\ <Action>(RecentChangedFiles)
map <leader>a <Action>(ShowIntentionActions)
map <leader>o <Action>(GotoNextError)
map <leader>i <Action>(GotoPreviousError)
map <leader>] <Action>(FindInPath)
map <leader>R <Action>(RenameElement)
map <leader>p <Action>(ManageRecentProjects)
map <leader>I <Action>(VcsShowPrevChangeMarker)
map <leader>O <Action>(VcsShowNextChangeMarker)
map ˙ gT
map ¬ gt
map <leader>c <Action>(CommentByLineComment)
" Delete without yanking to clipboard "
vnoremap <leader>d "_d
vnoremap <leader>D "_D
vnoremap <leader>s "_s
vnoremap <leader>S "_S
nnoremap <leader>d "_d
nnoremap <leader>D "_D
nnoremap <leader>s "_s
nnoremap <leader>S "_S
nnoremap x "_x
" Paste without copy the selected text to clipboard
xnoremap p "_dP
""" Idea specific settings ------------------
set ideajoin
set ideastatusicon=gray
set idearefactormode=keep
set showmode
""" Plugin
set NERDTree
set surround
set splitright
" Hide mode in the bottom e.g., -- INSERT --
set noshowmode
" Folding setting
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=20
" Ignore case sensitive when search
set ignorecase
" Enable clipboard to copy from system
set clipboard=unnamedplus
" Hightlight all the search matches
set hlsearch
set encoding=utf8
" Flag to support indent
set expandtab
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
autocmd FileType javascript setlocal shiftwidth=2 softtabstop=2
" Using mouse
set mouse=a
" Show line number
set nu rnu
" Use vimrc
set nocompatible
" Show code syntax
syntax enable
" Set persisten undo
set undofile
set undodir=~/.config/nvim/undodir
set undolevels=1000
set undoreload=10000
" Set no backup
set nobackup
set nowritebackup
set nowb
set noswapfile
" Disable annoy sounds
set visualbell
set noerrorbells
Mình không có nhu cầu gõ tiếng Việt trong vim nên cũng không để ý. Nhưng google "Type Vietnamese in Vim" thấy ra rất nhiều bài. Thím tham khảo thử.
Cảm ơn 2 bác. Mấy cách trên em đều tìm hiểu rồi. Vấn đề gặp phải đây khi đổi giữa các mode nó dính phải ký tự tiếng Việt. Có vài bài xử lý bằng cách trigger tới bộ gõ ở Linux nhưng em chưa tìm đc trên Windows các bác à
Cảm ơn 2 bác. Mấy cách trên em đều tìm hiểu rồi. Vấn đề gặp phải đây khi đổi giữa các mode nó dính phải ký tự tiếng Việt. Có vài bài xử lý bằng cách trigger tới bộ gõ ở Linux nhưng em chưa tìm đc trên Windows các bác à
Vấn đề em gặp phải ở visual mode và normal mode cơ bác.
Country Daughter
Hồi trước cũng mày mò cài đặt vim dùng thử nhưng cũng ko thấy thuyết phục để chuyển từ vscode sang
. Một selling point mà các vimmer hay nói là khả năng code ko rời tay khỏi bàn phím, hiện tại em code trên vscode cũng ko rời tay khỏi bàn phím, OK shortcut có thể chậm hơn vim chút nhưng bù lại có nhiều plugin tiện lợi + ko cảm thấy khổ dâm khi config.
Các thím thử nêu ra chức năng nào đấy mà các thím tự hào tăng productivity trên vim, mà ko làm đc trên các IDE hay editor khác xem để giúp em cân nhắc, em muốn tìm lý do để học vim, ko muốn tranh cãi editor nào ngon hơn nha các thím.
Hồi trước cũng mày mò cài đặt vim dùng thử nhưng cũng ko thấy thuyết phục để chuyển từ vscode sang
. Một selling point mà các vimmer hay nói là khả năng code ko rời tay khỏi bàn phím, hiện tại em code trên vscode cũng ko rời tay khỏi bàn phím, OK shortcut có thể chậm hơn vim chút nhưng bù lại có nhiều plugin tiện lợi + ko cảm thấy khổ dâm khi config.
Các thím thử nêu ra chức năng nào đấy mà các thím tự hào tăng productivity trên vim, mà ko làm đc trên các IDE hay editor khác xem để giúp em cân nhắc, em muốn tìm lý do để học vim, ko muốn tranh cãi editor nào ngon hơn nha các thím.
Vim thì cũng thiếu gì Plugin nhỉ? config cũng dễ chứ có gì mà khổ dâm?
cơ bản thấy cái tăng productivity nhất là nó load nhanh đc cái file vài ngàn dòng là đc r
Hồi trước cũng mày mò cài đặt vim dùng thử nhưng cũng ko thấy thuyết phục để chuyển từ vscode sang
. Một selling point mà các vimmer hay nói là khả năng code ko rời tay khỏi bàn phím, hiện tại em code trên vscode cũng ko rời tay khỏi bàn phím, OK shortcut có thể chậm hơn vim chút nhưng bù lại có nhiều plugin tiện lợi + ko cảm thấy khổ dâm khi config.
Các thím thử nêu ra chức năng nào đấy mà các thím tự hào tăng productivity trên vim, mà ko làm đc trên các IDE hay editor khác xem để giúp em cân nhắc, em muốn tìm lý do để học vim, ko muốn tranh cãi editor nào ngon hơn nha các thím.
Chơi vim thì phải có tính thích khổ dâm rồi thím, tìm cài plugin hay, config plugin các kiểu con đà điểu theo ý mình mới sướng, có ông còn tìm cách config plugin vim tới lui chỉ để starttime giảm vài mili seconds thôi đó
Hồi trước cũng mày mò cài đặt vim dùng thử nhưng cũng ko thấy thuyết phục để chuyển từ vscode sang
. Một selling point mà các vimmer hay nói là khả năng code ko rời tay khỏi bàn phím, hiện tại em code trên vscode cũng ko rời tay khỏi bàn phím, OK shortcut có thể chậm hơn vim chút nhưng bù lại có nhiều plugin tiện lợi + ko cảm thấy khổ dâm khi config.
Các thím thử nêu ra chức năng nào đấy mà các thím tự hào tăng productivity trên vim, mà ko làm đc trên các IDE hay editor khác xem để giúp em cân nhắc, em muốn tìm lý do để học vim, ko muốn tranh cãi editor nào ngon hơn nha các thím.
Hi thím, productivity khác với thao tác nhanh. Em khẳng định luôn, thời gian bỏ ra để config hoặc để hiểu về vim còn nhiều hơn thời gian được tiết kiệm nhờ dùng vim. Em cũng nghĩ không có một chức năng nào để đưa ra thuyết phục được thím ngay lập tức chuyển sang vim. Tuy nhiên, vim sẽ giảm được mental overhead. Thím đọc comment đầu ở đây để hiểu ý em nói:
https://news.ycombinator.com/item?id=27359801.
Trong đây nó chỉ nói về vấn đề mouseless thôi. Nhưng mình có thể mở rộng hơn nữa, bản thân các thao tác bằng phím của vim rất tự nhiên. Có thể lúc mới học hơi khó nhưng khi quen rồi thì mình thao tác edit text mà không cần suy nghĩ nhiều. Đầu óc lúc này sẽ tập trung được vào vấn đề đang giải quyết hơn.
Ông nào cứ nhấn mạnh việc xài vim sẽ nhanh hơn thì em nghĩ là chỉ đang học nửa mùa. Em sẵn sàng nhận gạch .
Chơi vim thì phải có tính thích khổ dâm rồi thím, tìm cài plugin hay, config plugin các kiểu con đà điểu theo ý mình mới sướng, có ông còn tìm cách config plugin vim tới lui chỉ để starttime giảm vài mili seconds thôi đó
vụ start up time với mở file nặng thì đúng là best rồi, nhưng với nhiều người như em ko quan trọng lắm
Hồi trước cũng mày mò cài đặt vim dùng thử nhưng cũng ko thấy thuyết phục để chuyển từ vscode sang
. Một selling point mà các vimmer hay nói là khả năng code ko rời tay khỏi bàn phím, hiện tại em code trên vscode cũng ko rời tay khỏi bàn phím, OK shortcut có thể chậm hơn vim chút nhưng bù lại có nhiều plugin tiện lợi + ko cảm thấy khổ dâm khi config.
Các thím thử nêu ra chức năng nào đấy mà các thím tự hào tăng productivity trên vim, mà ko làm đc trên các IDE hay editor khác xem để giúp em cân nhắc, em muốn tìm lý do để học vim, ko muốn tranh cãi editor nào ngon hơn nha các thím.
nếu shortcut là shortcut như mở tab mới, open file, folding các thứ thì đó không hẳn là selling point
thứ người ta hay nhắc tới là sự nhanh khi làm việc, chỉnh sửa với chính cái text/source code. Để hiểu rõ hơn thì cứ google đại loại như Why editing with vim is faster, có biết bao nhiêu blog post viết kĩ lưỡng rồi. Chứ comment ngắn trên này thì không đủ, mà comment dài thì ai rảnh mà viết
Về phần plugin, không cần cài nhiều. Cứ xài tới đâu thấy cần thì cài tới đó. Nhiều người xài vim lâu năm dùng nhiều plugin, nhiều người dùng ít, chứ không nhất thiết.
Hi thím, productivity khác với thao tác nhanh. Em khẳng định luôn, thời gian bỏ ra để config hoặc để hiểu về vim còn nhiều hơn thời gian được tiết kiệm nhờ dùng vim. Em cũng nghĩ không có một chức năng nào để đưa ra thuyết phục được thím ngay lập tức chuyển sang vim. Tuy nhiên, vim sẽ giảm được mental overhead. Thím đọc comment đầu ở đây để hiểu ý em nói:
https://news.ycombinator.com/item?id=27359801.
Trong đây nó chỉ nói về vấn đề mouseless thôi. Nhưng mình có thể mở rộng hơn nữa, bản thân các thao tác bằng phím của vim rất tự nhiên. Có thể lúc mới học hơi khó nhưng khi quen rồi thì mình thao tác edit text mà không cần suy nghĩ nhiều. Đầu óc lúc này sẽ tập trung được vào vấn đề đang giải quyết hơn.
Ông nào cứ nhấn mạnh việc xài vim sẽ nhanh hơn thì em nghĩ là chỉ đang học nửa mùa. Em sẵn sàng nhận gạch .
ừm cái này em cũng công nhận, ví dụ như move word by word trên vim cảm giác tự nhiên hơn là Command + mũi tên hay Option + mũi tên trên mac
Hi thím, productivity khác với thao tác nhanh. Em khẳng định luôn, thời gian bỏ ra để config hoặc để hiểu về vim còn nhiều hơn thời gian được tiết kiệm nhờ dùng vim. Em cũng nghĩ không có một chức năng nào để đưa ra thuyết phục được thím ngay lập tức chuyển sang vim. Tuy nhiên, vim sẽ giảm được mental overhead. Thím đọc comment đầu ở đây để hiểu ý em nói:
https://news.ycombinator.com/item?id=27359801.
Trong đây nó chỉ nói về vấn đề mouseless thôi. Nhưng mình có thể mở rộng hơn nữa, bản thân các thao tác bằng phím của vim rất tự nhiên. Có thể lúc mới học hơi khó nhưng khi quen rồi thì mình thao tác edit text mà không cần suy nghĩ nhiều. Đầu óc lúc này sẽ tập trung được vào vấn đề đang giải quyết hơn.
Ông nào cứ nhấn mạnh việc xài vim sẽ nhanh hơn thì em nghĩ là chỉ đang học nửa mùa. Em sẵn sàng nhận gạch .
nếu shortcut là shortcut như mở tab mới, open file, folding các thứ thì đó không hẳn là selling point
thứ người ta hay nhắc tới là sự nhanh khi làm việc, chỉnh sửa với chính cái text/source code. Để hiểu rõ hơn thì cứ google đại loại như Why editing with vim is faster, có biết bao nhiêu blog post viết kĩ lưỡng rồi.
Về phần plugin, không cần cài nhiều. Cứ xài tới đâu thấy cần thì cài tới đó. Nhiều người xài vim lâu năm dùng nhiều plugin, nhiều người dùng ít, chứ không nhất thiết.
Thank các thím, đây chính là ý mà em thấy ko thuyết phục khi xem các video dạng như "why I'm switching to vim" hay "Why I'm better developer than you" trên youtube. Hầu hết nói là tôi code nhanh hơn trên vim khi ko dùng chuột, sau đó show mấy cái skill mà có thể dùng shortcut trên bất cứ IDE nào, chỉ là ko chịu dùng hoặc ko chịu tìm hiểu để dùng
Dù gì thì với mấy quan điểm các thím nêu trên thì cũng đang để hoc vim. Nhưng em cũng có 1 thắc mắc như này, vim rõ ràng nhanh hơn ở việc edit code rồi, còn lúc đọc code thì sao. Hầu hết thời gian khi làm việc là đọc code, trên vim có plugin nào hay cách nào đó giúp cho việc đọc code hay navigate code ở project có structure phức tạp 1 cách hiệu quả ko?
Thank các thím, đây chính là ý mà em thấy ko thuyết phục khi xem các video dạng như "why I'm switching to vim" hay "Why I'm better developer than you" trên youtube. Hầu hết nói là tôi code nhanh hơn trên vim khi ko dùng chuột, sau đó show mấy cái skill mà có thể dùng shortcut trên bất cứ IDE nào, chỉ là ko chịu dùng hoặc ko chịu tìm hiểu để dùng
Dù gì thì với mấy quan điểm các thím nêu trên thì cũng đang để hoc vim. Nhưng em cũng có 1 thắc mắc như này, vim rõ ràng nhanh hơn ở việc edit code rồi, còn lúc đọc code thì sao. Hầu hết thời gian khi làm việc là đọc code, trên vim có plugin nào giúp cho việc đọc code hay navigate code ở project có structure phức tạp 1 cách hiệu quả ko?
Ý thím navigate là như thế nào? Vim có gutentags (dung với ctags), telescope để search nhanh, rồi lsp ấy.
Ý thím navigate là như thế nào? Vim có gutentags (dung với ctags), telescope để search nhanh, rồi lsp ấy.
ý em là việc chuyển qua các file trên sidebar khi đọc code ở một project nào đó ấy. Lâu lâu em phải đọc code của mấy cha code mà ko chơi import code, mà load file từ string, ko dùng go to definition đc, phải mở sidebar xem cái đường dẫn đến file nó như nào ấy. Trường hợp này phải lấy con chuột tìm file trên sidebar đúng khổ
ý em là việc chuyển qua các file trên sidebar khi đọc code ở một project nào đó ấy. Lâu lâu em phải đọc code của mấy cha code mà ko chơi import code, mà load file từ string, ko dùng go to definition đc, phải mở sidebar xem cái đường dẫn đến file nó như nào ấy. Trường hợp này phải lấy con chuột tìm file trên sidebar đúng khổ
có vẻ cái này giống với search và open file với đường dẫn tới file, em chỉ dùng vim ở mức cơ bản nên ko biết hết các keyword thím nói đâu
ý em là việc dùng con chuột khi đọc code và mở file nó quen thuộc quá rồi, vim mục đích là tăng tốc độ edit code nên ko rõ flow đọc code sẽ có chậm đi ko, chỉ là đọc code mà ko động gì đến việc edit ấy
ý em là việc chuyển qua các file trên sidebar khi đọc code ở một project nào đó ấy. Lâu lâu em phải đọc code của mấy cha code mà ko chơi import code, mà load file từ string, ko dùng go to definition đc, phải mở sidebar xem cái đường dẫn đến file nó như nào ấy. Trường hợp này phải lấy con chuột tìm file trên sidebar đúng khổ
Đọc không hiểu lắm, bác hỏi thì nên cho ví dụ ngắn luôn cho dễ hiểu
load file từ string thì cái string đó là đường dẫn đến file hay sao?
Dù gì thì với mấy quan điểm các thím nêu trên thì cũng đang để hoc vim. Nhưng em cũng có 1 thắc mắc như này, vim rõ ràng nhanh hơn ở việc edit code rồi, còn lúc đọc code thì sao.
Em dùng Vim là vì khả năng đọc code chứ không phải khả năng edit code, vì 70% - 80% thời gian mở editor của em là để đọc code. Và nó rất nhanh, nó là thứ khiến em không bỏ được vim.
Đơn cử thế này:
Cuộn lên xuống một dòng, cuộn nửa trang, một trang chỉ mà không dùng đến chuột, con trỏ vẫn nằm đó, gõ zz để center code vào 1/2 page, phím z của em bị mòn nhiều nhất do thao tác này.
Increasement search, gõ / rồi search một từ, enter xong bấm n/N để navigate trong code, file cả nghìn dòng thì cũng tìm ra chỗ cần gõ trong nháy mắt.
Thiết nghĩ việc không biết dùng Vim để đọc code mới chính là nguyên nhân khiến newbie không cảm thấy nó hấp dẫn. Em thấy newbie toàn jjjkkk để scroll từng dòng khá là thê thảm, xong xa quá thì cầm chuột scroll, rốt cuộc thì nó chẳng hơn gì standard editor cả.
Thao tác nên làm là increment search, bấm n(next), N(back) giữa cách kết quả match, ctrl + d, ctrl + u cuộn nửa trang, ctrl + e, ctrl + y cuộn 1 dòng (không phải dùng j, k). g, G để lên đầu xuống cuối file (không phải home/end). Tay lúc nào cũng đặt lên home row, không với qua nhấn giữ ctrl shift, ctrl alt gì cả, không quơ qua chuột scroll.
Thêm nữa là nên config language server cho ngon: combo thần thánh này là selling poit cực mạnh cho newbiew.
shift + K: mở cái popup về function/variable definition, thứ mà bạn phải rê chuột vào và đợi 250ms để thấy được.
gd/gD: Go to definition
Ctrl + o, ctrl + i: jump qua lại giữa những chỗ bạn vừa gd/gD, search, edit... không cần biết bạn mở file nào, chỉ cần từng nhảy con trỏ đến đó nó sẽ jump tới chính xác.
Em dùng Vim là vì khả năng đọc code chứ không phải khả năng edit code, vì 70% - 80% thời gian mở editor của em là để đọc code. Và nó rất nhanh, nó là thứ khiến em không bỏ được vim.
Đơn cử thế này:
Cuộn lên xuống một dòng, cuộn nửa trang, một trang chỉ mà không dùng đến chuột, con trỏ vẫn nằm đó, gõ zz để center code vào 1/2 page, phím z của em bị mòn nhiều nhất do thao tác này.
Increasement search, gõ / rồi search một từ, enter xong bấm n/N để navigate trong code, file cả nghìn dòng thì cũng tìm ra chỗ cần gõ trong nháy mắt.
Thiết nghĩ việc không biết dùng Vim để đọc code mới chính là nguyên nhân khiến newbie không cảm thấy nó hấp dẫn. Em thấy newbie toàn jjjkkk để scroll từng dòng khá là thê thảm, xong xa quá thì cầm chuột scroll, rốt cuộc thì nó chẳng hơn gì standard editor cả.
Thao tác nên làm là increment search, bấm n(next), N(back) giữa cách kết quả match, ctrl + d, ctrl + u cuộn nửa trang, ctrl + e, ctrl + y cuộn 1 dòng (không phải dùng j, k). g, G để lên đầu xuống cuối file (không phải home/end). Tay lúc nào cũng đặt lên home row, không với qua nhấn giữ ctrl shift, ctrl alt gì cả, không quơ qua chuột scroll.
Thêm nữa là nên config language server cho ngon: combo thần thánh này là selling poit cực mạnh cho newbiew.
shift + K: mở cái popup về function/variable definition, thứ mà bạn phải rê chuột vào và đợi 250ms để thấy được.
gd/gD: Go to definition
Ctrl + o, ctrl + i: jump qua lại giữa những chỗ bạn vừa gd/gD, search, edit... không cần biết bạn mở file nào, chỉ cần từng nhảy con trỏ đến đó nó sẽ jump tới chính xác.
ý em là việc chuyển qua các file trên sidebar khi đọc code ở một project nào đó ấy. Lâu lâu em phải đọc code của mấy cha code mà ko chơi import code, mà load file từ string, ko dùng go to definition đc, phải mở sidebar xem cái đường dẫn đến file nó như nào ấy. Trường hợp này phải lấy con chuột tìm file trên sidebar đúng khổ
Fuzzy search là thứ buộc phải có để tăng productivity đó thím.
Giả sử đường dẫn là /projects/whatever/service.test/route/api.cs thì thím chỉ cần gõ vớ vẩn bất kỳ chữ nào trong cái đường dẫn theo thứ tự là nó search ra hết, ví dụ
wh ce.t api nó sẽ find ra, enter phát là xong.