[[[# 🚀 Neovim Configuration
Đây là cấu hình Neovim cá nhân của tôi, được tối ưu hóa cho phát triển phần mềm với trải nghiệm hiện đại và hiệu quả.
Xem thêm Wiki tại đây
- 🔌 Plugin quản lý tự động với lazy.nvim
- 🌳 Hỗ trợ LSP cho nhiều ngôn ngữ lập trình
- 🔍 Tìm kiếm mã nguồn nhanh chóng với Telescope
- 🎨 Theme đẹp mắt với highlighting nâng cao
- 📁 File explorer với Neo-tree
- 🔤 Tự động hoàn thành thông minh với nvim-cmp
- 📊 Git integration với lazygit.nvim
- ⚡ Khởi động nhanh và trải nghiệm mượt mà
- 📝 Formatting và linting tích hợp
- 🧩 Giao diện UI hiện đại với noice.nvim
- Neovim >= 0.10.0
- Git
- Node.js (cho một số LSP và plugin)
- Nerd Font (cho icons và glyph)
- gcc/clang (cho việc biên dịch một số plugin)
- Ripgrep (cho Telescope tìm kiếm văn bản)
- fd (cho Telescope tìm kiếm file nhanh)
- Lazygit (cho giao diện Git)
- fzf (cho tìm kiếm mờ)
- xclip hoặc xsel (cho clipboard trên Linux)
- tree-sitter CLI (cho cài đặt ngôn ngữ treesitter)
- glow (cho việc hiển thị markdown)
- Universal-ctags (cho tag generation)
- eslint (cho linting JavaScript/TypeScript)
- prettier (cho format code)
- Sao lưu cấu hình Neovim hiện tại của bạn (nếu có):
mv ~/.config/nvim ~/.config/nvim.backup- Cài đặt các công cụ bên ngoài cần thiết:
# Ubuntu/Debian
sudo apt install git curl ripgrep fd-find xclip lazygit
# Arch Linux
sudo pacman -S git curl ripgrep fd xclip lazygit
# macOS (với Homebrew)
brew install git curl ripgrep fd lazygit- Cài đặt Nerd Font:
# Ví dụ với JetBrainsMono Nerd Font
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLO https://github.com/ryanoasis/nerd-fonts/raw/HEAD/patched-fonts/JetBrainsMono/Ligatures/Regular/JetBrainsMonoNerdFontMono-Regular.ttf
fc-cache -f -v- Clone repository này:
git clone https://github.com/ngthminhdev/nvim_configs.git ~/.config/nvim- Khởi động Neovim để tự động cài đặt lazy.nvim và các plugin:
- Quản lý Plugin: lazy.nvim
- LSP: nvim-lspconfig
- Tự động hoàn thành: nvim-cmp
- Tìm kiếm: telescope.nvim
- Syntax highlighting: nvim-treesitter
- File Explorer: neo-tree.nvim
- Status Line: lualine.nvim
- Theme: catppuccin
- Git: gitsigns.nvim, lazygit.nvim
- UI: noice.nvim, alpha-nvim
- Format & Lint: conform.nvim, nvim-lint
- Terminal: toggleterm.nvim
- Hiệu suất: impatient.nvim
| Phím tắt | Mô tả |
|---|---|
<Space> |
Leader key |
<Space>ff |
Tìm kiếm file |
<Space>fc |
Tìm văn bản trong files |
<Space>fb |
Tìm buffer |
<C-f> |
Mở file explorer (Neo-tree) |
<Space>w |
Lưu file |
<Space>x |
Đóng buffer hiện tại |
<Space>gf |
Mở lazygit |
<F12> |
Mở terminal |
<Space-h/j/k/l> |
Di chuyển giữa các split |
| Phím tắt | Mô tả |
|---|---|
gd |
Đi đến định nghĩa |
gr |
Xem tham chiếu |
K |
Hiện thông tin |
<Space>ca |
Hiện code actions |
<Space>rn |
Đổi tên biến/hàm |
<Space>fm |
Format code |
<Space>ds |
Hiện diagnostics |
[d / ]d |
Chuyển tới lỗi trước/sau |
| Phím tắt | Mô tả |
|---|---|
<Space>fw |
Tìm với live grep |
<Space>fh |
Tìm help tags |
<Space>fk |
Tìm keymaps |
Cấu hình này sử dụng theme Catppuccin mặc định với flavor "mocha". Bạn có thể thay đổi theme hoặc flavor trong file cấu hình plugin tương ứng.
Bạn có thể dễ dàng tùy chỉnh cấu hình bằng cách chỉnh sửa các file trong thư mục lua/. Một số file quan trọng:
lua/options.lua: Cài đặt Neovim cơ bảnlua/mappings.lua: Phím tắtlua/plugins/init.lua: Cấu hình lazy.nvim và các pluginlua/configs/: Thư mục chứa cấu hình chi tiết cho từng plugin
Bạn có thể mở lazygit trực tiếp từ Neovim bằng cách nhấn <Space>gf. Đảm bảo bạn đã cài đặt lazygit trên hệ thống của mình.
Cấu hình sử dụng mason.nvim để quản lý và cài đặt các LSP servers, formatters, và linters. Bạn có thể mở Mason bằng cách gõ lệnh :Mason và cài đặt các tools cần thiết từ giao diện của nó.
Để tìm kiếm văn bản nhanh chóng qua nhiều file, cấu hình sử dụng ripgrep và fd. Đảm bảo bạn đã cài đặt chúng để Telescope hoạt động hiệu quả nhất.
Syntax highlighting nâng cao được cung cấp bởi nvim-treesitter. Các ngôn ngữ sẽ được cài đặt tự động khi bạn mở file thuộc ngôn ngữ đó lần đầu tiên.
- Cấu hình này được tối ưu hóa cho phát triển với các ngôn ngữ phổ biến như JavaScript, TypeScript, Python, Rust, Go, và Lua.
- LSP servers, formatters, và linters sẽ được cài đặt thông qua Mason khi bạn cần.
- Nếu bạn gặp vấn đề khi sử dụng đầy đủ các tính năng, hãy kiểm tra lại bạn đã cài đặt đầy đủ các requirement bên ngoài.
Đóng góp luôn được chào đón! Hãy thoải mái fork repository này và gửi pull request.
Dự án này được cấp phép theo MIT License.
Nếu bạn có bất kỳ câu hỏi nào, hãy tạo một issue trong repository này hoặc liên hệ với tôi qua:
