轻量、面向全栈的 Neovim 配置,涵盖前端(TS/JS/Svelte/HTML/CSS)、后端(Python/Go 等)、Markdown 与 tmux 工作流。
~/.config/nvim
├── init.lua # 主入口
├── lua/
│ ├── keymaps.lua # 快捷键
│ └── plugins/ # 插件拆分配置
├── docs/
│ └── plugins.md # 插件与使用速览(新手首选)
├── tmux/.tmux.conf # tmux 配置
└── test/ # TypeScript 缩进示例
- 安装依赖:Neovim ≥ 0.11、git、make(编译 telescope-fzf-native)、node + npm/yarn(Prettier 与 Markdown 预览)、可选 go(gofmt/gopls)。
- 将本目录放到
~/.config/nvim,首次启动 Neovim 后执行::Lazy sync(安装/编译插件):MasonInstall pyright svelte ts_ls(安装常用 LSP):TSUpdate(安装 Treesitter 解析器)
- Markdown 预览若自动安装失败,可手动执行
cd ~/.local/share/nvim/lazy/markdown-preview.nvim/app && npm install。
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
sudo mv /opt/nvim-* /opt/nvim
sudo ln -sf /opt/nvim/bin/nvim /usr/local/bin/nvimGO_VERSION=1.22.4
OS=linux
ARCH=amd64
curl -LO https://go.dev/dl/go${GO_VERSION}.${OS}-${ARCH}.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VERSION}.${OS}-${ARCH}.tar.gz
rm -f go${GO_VERSION}.${OS}-${ARCH}.tar.gz
if ! grep -q '/usr/local/go/bin' ~/.bashrc; then
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
fi
source ~/.bashrc
go version如果你用的是 zsh,把 ~/.bashrc 改成 ~/.zshrc 即可。
架构说明:uname -m 为 x86_64 用 ARCH=amd64,为 i686/i386 用 ARCH=386。
# Python
npm install -g pyright
# TypeScript / JavaScript
npm install -g typescript typescript-language-server
# Go
go install golang.org/x/tools/gopls@latest- 文件树:
<C-b>打开/关闭 Neo-tree。 - 搜索/跳转(Telescope):
<leader>ff文件、<leader>fg全局搜索、<leader>fb缓冲区、<leader>fh帮助;gd定义、gr引用、gi实现。 - 诊断列表:
<leader>xx打开 Trouble 诊断,<leader>xq打开 quickfix。 - 补全:
<Tab>确认候选,<C-Space>触发补全。 - Markdown:
<leader>mp预览,<leader>mt生成 TOC,<leader>mu更新 TOC。
- 语言/工具链:mason + mason-lspconfig + nvim-lspconfig(pyright、ts_ls、svelte),nvim-cmp + LuaSnip,nvim-treesitter,Prettier。
- 导航/UI:telescope + telescope-fzf-native,neo-tree,which-key。
- Git:gitsigns。
- 编辑效率:Comment.nvim、nvim-surround、nvim-autopairs、trouble.nvim、indent-blankline (ibl)。
- Markdown:vim-markdown、markdown-preview.nvim、vim-markdown-toc。
- 终端/分窗:vim-tmux-navigator。
- 更多细节与用法请见
docs/plugins.md。
- 2 空格:JS/TS/JSX/TSX/Svelte/HTML/Markdown。
- 4 空格:C/C++/Rust/Python;其他默认 4 空格。
- Go:tab 宽度 4,不转空格(配合 gofmt)。
使用 starship:
curl -sS https://starship.rs/install.sh | sh
echo 'eval "$(starship init bash)"' >> ~/.bashrc
source ~/.bashrc- 安装 TPM:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm - 关联配置:
ln -sf ~/.config/nvim/tmux/.tmux.conf ~/.tmux.conf - 启动 tmux 后执行
tmux source ~/.tmux.conf,再按prefix + I安装插件。
:Time在光标处插入当前时间戳(YYYY-MM-DD HH:MM:SS)。
Jeanphilo Gong
https://github.com/JeanphiloGong
MIT License