好的!最后是 Writer 环境(Markdown/LaTeX 写作)。


✍️ Writer 环境专用配置

目录结构

~/.config/nvim/lua/envs/writer.lua

配置内容

-- ~/.config/nvim/lua/envs/writer.lua
return {
  -- 📝 写作专注模式
  {
    "folke/zen-mode.nvim",
    config = function()
      require("zen-mode").setup({
        window = {
          backdrop = 0.95,
          width = 120,
          height = 1,
          options = {
            number = false,
            relativenumber = false,
            signcolumn = "no",
            list = false,
            foldcolumn = "0",
          },
        },
        plugins = {
          gitsigns = { enabled = true },
          tmux = { enabled = false },
          kitty = { enabled = false },
        },
      })
    end,
  },
  
  -- 📖 阅读模式
  {
    "junegunn/goyo.vim",
    cmd = "Goyo",
  },
  
  -- 📊 拼写检查
  {
    "uga-rosa/cmp-spell",
    dependencies = "hrsh7th/nvim-cmp",
    config = function()
      -- 拼写检查设置
      vim.opt.spell = true
      vim.opt.spelllang = 'en,cjk'  -- 英文 + 中文支持
      
      -- 为 cmp 添加拼写建议
      local cmp = require("cmp")
      cmp.setup({
        sources = {
          { name = "spell" },
        },
      })
    end,
  },
  
  -- 📋 表格编辑
  {
    "dhruvasagar/vim-table-mode",
    ft = { "markdown" },
    config = function()
      vim.g.table_mode_corner = "|"
      vim.g.table_mode_separator = "|"
    end,
  },
  
  -- 📚 参考文献管理 (可选)
  {
    "lervag/vimtex",
    ft = { "tex", "latex" },
    config = function()
      vim.g.vimtex_view_method = "skim"  -- macOS Skim 阅读器
      vim.g.vimtex_quickfix_mode = 0
    end,
  },
  
  -- 📐 Markdown 格式化
  {
    "stevearc/conform.nvim",
    config = function()
      require("conform").setup({
        formatters_by_ft = {
          markdown = { "prettier" },
        },
        format_on_save = {
          timeout_ms = 1000,
        },
      })
    end,
  },
  
  -- 📏 Markdown 代码质量
  {
    "mfussenegger/nvim-lint",
    config = function()
      require("lint").linters_by_ft = {
        markdown = { "vale" },  -- 可选:需要安装 vale
      }
      vim.api.nvim_create_autocmd("BufWritePost", {
        callback = function()
          require("lint").try_lint()
        end,
      })
    end,
  },
}

🛠️ Writer 环境依赖安装

# 安装 Prettier (Markdown 格式化)
npm install -g prettier
 
# 可选:安装 Vale (写作质量检查)
brew install vale  # macOS
# 或
sudo apt install vale  # Ubuntu/Debian
 
# 验证安装
prettier --version
vale --version  # 如果安装了的话

✅ Writer 环境验证清单

  • 切换环境:echo "writer" > ~/.config/nvim/.nvim-env
  • 启动 Neovim:nvim notes.md
  • 专注模式: :ZenMode 进入专注写作模式
  • 阅读模式: :Goyo 进入阅读模式
  • 拼写检查: 拼写错误显示红线,z= 查看建议
  • 表格编辑: 在 Markdown 中输入 | 自动创建表格
  • 格式化: 保存 Markdown 文件自动格式化
  • 快捷键: <leader>h1 插入一级标题,<leader>ul 插入无序列表

🎉 完整环境配置完成!

现在你拥有了 5 个专业级开发/写作环境

环境语言/用途核心功能
通用层所有环境Flash, Comment, Tree-sitter, Telescope, Git, 终端等
PythonPythonPyright, debugpy, pytest, ruff
TypeScriptTypeScript/Reactts_ls, DAP-JS, ESLint, Prettier, 智能导入
WebHTML/CSShtml/cssls, Emmet, Stylelint, Tidy
RustRustrust-analyzer, codelldb, cargo, clippy
WriterMarkdown/LaTeXZenMode, 拼写检查, 表格编辑, Goyo

🚀 使用流程总结

  1. 切换环境

    echo "python" > ~/.config/nvim/.nvim-env
  2. 启动 Neovim

    nvim your-file.py
  3. 享受统一快捷键

    • <leader>gd → 跳转定义(所有支持 LSP 的环境)
    • <leader>ff → 查找文件(所有环境)
    • gcc → 注释行(所有环境)
    • s → Flash 快速跳转(所有环境)
  4. 使用环境专用功能

    • Python: <F5> 调试, <leader>tn 测试
    • Writer: <leader>h1 标题, :ZenMode 专注模式

你现在拥有了一套 专业、高效、可维护的 Neovim 开发环境!这套配置既保持了统一性,又支持环境差异化,完全满足你的需求。

需要我帮你创建环境切换脚本,或者解决任何具体问题吗?