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

Mấy bác ơi,có cách nào tắt lsp khi đang trong chế độ git rebase không nhỉ? Tại khi rebase thì code conflict với nhau nên syntax sẽ bị phá vỡ => lsp nó báo lỗi tè le khó nhìn quá
Screenshot 2023-06-24 at 15.30.24.png
 
có ai có config nvim vs ruby on rails ko cho mình tham khảo cái nhỉ. mình dân ngoại đạo ruby đang đi mò

mình dùng lazy.nvim, mason, nvim-lspconfig add thêm solargraph chạy code ok rồi mà thấy code suggestion ngu quá thể đáng. ko biết có cái lsp nào ngon hơn ko.

linter + formater đang dùng rubocop

cần thêm nvim dap để chạy debugger
 
có ai có config nvim vs ruby on rails ko cho mình tham khảo cái nhỉ. mình dân ngoại đạo ruby đang đi mò

mình dùng lazy.nvim, mason, nvim-lspconfig add thêm solargraph chạy code ok rồi mà thấy code suggestion ngu quá thể đáng. ko biết có cái lsp nào ngon hơn ko.

linter + formater đang dùng rubocop

cần thêm nvim dap để chạy debugger
Bác cài thêm vim-rails để navigate giữa các model,controller,view,relationships,…
Chứ lsp cho ruby thì mỗi solargraph rồi,muốn lsp ngon thì dùng thằng Rubymine bao xịn :shame:

via theNEXTvoz for iPad
 
https://github.com/williamboman/mason.nvim

có bác nào hảo tâm chỉ em config cái lsp với mason này với. em chỉ mới biết cài nerd tree bằng vim-plug thôi còn bên lua với lsp em đọc mà ko hiểu gì hết:too_sad:
Mason nó chỉ là cái kho chứa lsp + linter + dap thôi. Muốn xài lsp thì phải setup cái lsp đã tải, sau đó cài 1 cái addon completion (hoặc config cái omni mặc định) để lấy thông tin từ language server lên nvim.

Set lsp thì xài lspconfig cũng được. Muốn xài chung với mason thì thay bằng mason-lspconfig. Sau đó config cho cái completion, vd nvim-cmp. Có thể bỏ hết vào 1 file vd lsp.lua require cho dễ :big_smile:. Xong rồi có thể set lại keybind cho mấy cái như codeaction hay get definition v.v chứ default config hơi đuồi :beat_brick:

Mà đã xài nvim thì xài packer hoặc lazy.nvim làm pkg manager chứ vimplug làm gì. Vimplug thì xài chung với coc + vim cho khỏe chứ nhét vào nvim lại lẫn lộn vimscript với lua rối tung. Thích nerdtree thì thay bằng nvim-tree cũng được :nosebleed:

Tutorial thì xem tạm primagen cũng ok đó, mà tham khảo thôi tại nvim chưa stable thay đổi config pkg update xoành xoạch như cái máy điện 6 tháng cũng khác kha khá rồi

 
Last edited:
https://github.com/williamboman/mason.nvim

có bác nào hảo tâm chỉ em config cái lsp với mason này với. em chỉ mới biết cài nerd tree bằng vim-plug thôi còn bên lua với lsp em đọc mà ko hiểu gì hết:too_sad:
Nói thiệt xưa mình cũng máu config này nọ tóe loe lên, giờ cứ chơi hàng có sẵn rồi keymap lại thôi, đám Astrovim, Lunarvim, Nvchad xài ngon choét, thiếu gì thì cài thêm
 
Mason nó chỉ là cái kho chứa lsp + linter + dap thôi. Muốn xài lsp thì phải setup cái lsp đã tải, sau đó cài 1 cái addon completion (hoặc config cái omni mặc định) để lấy thông tin từ language server lên nvim.

Set lsp thì xài lspconfig cũng được. Muốn xài chung với mason thì thay bằng mason-lspconfig. Sau đó config cho cái completion, vd nvim-cmp. Có thể bỏ hết vào 1 file vd lsp.lua require cho dễ :big_smile:. Xong rồi có thể set lại keybind cho mấy cái như codeaction hay get definition v.v chứ default config hơi đuồi :beat_brick:

Mà đã xài nvim thì xài packer hoặc lazy.nvim làm pkg manager chứ vimplug làm gì. dúngddVimplug thì xài chung với coc + vim cho khỏe chứ nhét vào nvim lại lẫn lộn vimscript với lua rối tung. Thích nerdtree thì thay bằng nvim-tree cũng được :nosebleed:

Tutorial thì xem tạm primagen cũng ok đó, mà tham khảo thôi tại nvim chưa stable thay đổi config pkg update xoành xoạch như cái máy điện 6 tháng cũng khác kha khá rồi

tks bác để em xem thử ạ. em mới nhập môn thấy page nào cũng chỉ dùng vim plug nên dùng theo. đúng là dễ dùng thiệt mà tới lúc đụng tới .lua như này em xem ko hiểu gì hết:beated:
Nói thiệt xưa mình cũng máu config này nọ tóe loe lên, giờ cứ chơi hàng có sẵn rồi keymap lại thôi, đám Astrovim, Lunarvim, Nvchad xài ngon choét, thiếu gì thì cài thêm
mấy cái config sẵn đó em cũng ham do thấy đẹp quá cơ mà em nghĩ cũng phải như bác ban đầu tự config các kiểu để còn biết nó nằm ở đâu, có cái gì để sau này cần chỉnh sửa lại còn biết đường mà mò chứ hồi đó mới đi đọc docs thì mệtmệtchết:byebye:
 
tks bác để em xem thử ạ. em mới nhập môn thấy page nào cũng chỉ dùng vim plug nên dùng theo. đúng là dễ dùng thiệt mà tới lúc đụng tới .lua như này em xem ko hiểu gì hết:beated:

mấy cái config sẵn đó em cũng ham do thấy đẹp quá cơ mà em nghĩ cũng phải như bác ban đầu tự config các kiểu để còn biết nó nằm ở đâu, có cái gì để sau này cần chỉnh sửa lại còn biết đường mà mò chứ hồi đó mới đi đọc docs thì mệtmệtchết:byebye:

Quan điểm của tôi là ko xài nvim distro (vd chadvim lunarvim lazyvim vv). Nếu muốn ăn sẵn thì làm quách cái vscode rồi cài addon neovim backend cho vscode vào nó mới thật sự là khoẻ. Còn nếu xài nvim để tự config editor theo ý mình, phục vụ cho riêng mình thì nvim distro nó đi ngược lại mục tiêu này. Tôi thấy chả khác gì học cách dùng nvim của người khác. Nó cũng bloat y change vscode mà khi gặp lỗi hay có thay đổi lại phải vào check doc của cả nvim lẫn doc của thằng làm distro. Đây là điều dễ xảy ra do nvim đang trong giai đoạn unstable. Tệ nhất là nếu gặp bug hay trúc trắc lại phải đi tìm hỏi cả upstream lẫn downstream, vừa tốn time của mình vừa tốn time của tụi nvim dev, ko rõ bug này của nvim hay của thg làm distro.

Mấy thằng làm distro nvim thì cũng chỉ là cá nhân, script với config của nó cũng chộp giật đụng đâu sửa đấy như người dùng thôi, ko thể nào chuẩn như project nvim được. Hiểu code của mình thì dễ nhưng hiểu code người khác thì khó. Huống gì đến nvim cũng đã breaking changes sập config vài lần :beat_brick:

Cá nhân tôi việc config nvim là 1 lần sau đó dùng trong 1 thời gian tương đối dài. Tôi thấy việc này chả tốn kém là bao. Chỉ cần 1 2 cái t7 cn là xong rồi và mình nắm rõ mình cần gì và dùng gì :p
 
Last edited:
Dạo này nvim đít đỏ trông chán vl. Nhiều đứa đòi plugin cho những cái rất cơ bản như find & replace của ide. Giới thiệu nó nvim có sẵn substitude thì nó down vote :baffle:. Xuất hiện những post yêu cầu tính năng rất vô lí như backspace trong insert mode có thể xóa nguyên 1 dòng rồi nhảy lên dòng trên smart-backspace cc gì đấy của bọn intellij :beat_brick:. Vim rất kỵ những thao tác ntn, undefined behavior và trong khi đã có d nó tường minh và hiệu quả hơn nhiều. Dân nhập môn thì vimtutor ko thèm đọc với vào đã phang ngay mấy con hàng nvchad với chả lazyvim, khi lỗi một cái thì lên hỏi những câu rất ngớ ngẩn. Buồn cho cộng đồng quá :burn_joss_stick:
Muốn nghiện thì phải có gateway drug chứ bạn. Mấy năm vừa rồi Vim với Nvim nổi hơn một phần cũng nhờ mấy thằng như astro hay nvchad.

Bản thân tui cũng xài Vim Emulator trong IDE trước rồi mới qua Nvim sau. Learning curve cao quá.
 
Mấy bác dùng LSP gì cho python ạ, em đang thử Pyright mà có vẻ như rule nó khá dị, error nma khi dịch thì vẫn chạy không báo lỗi gì
 
@linhusp3 em dùng hjkl liên tục để di chuyển (h đã map sang w và l đã map sang b rồi để di chuyển theo word luôn), nhưng mà Hardtime cứ báo dùng những phím này quá nhanh và disable em move luôn cảm giác cứ khựng khựng, thím gặp chưa ?
1689654848969.png
 
em đang dùng nvim + tmux, để thoát tmux mà vẫn save được session của nvim em đang dùng thêm plugins này: https://github.com/tmux-plugins/tmux-resurrect
Thằng này save được nvim, những ko save được nvim-tree, bác nào dùng com bô này cho em xin lối thoát với, thanks các bác :LOL:))
không hiểu lắm thoát tmux của thím ý là sao, em thấy dùng tmux session ok mà

mở tmux lại sau khi đã tắt terminal, vào tmux sessions

1689655405898.png


enter vào lại session, đúng ngay chỗ mình out, nerd tree đủ cả

1689655491358.png
 
Back
Top