使用容器启动 Neovim 并自启动 Neovim 和 NvimTree

我上一篇文章《neovim 安装使用备忘》已经有点老了,这会儿 NvChad 已经更新到2.5了。按照之前的办法已经无法安装了。

1. 编写 Dockerfile

FROM alpine:latest

# 设置工作目录
WORKDIR /root

# 安装必要的软件包:git、nodejs、neovim 等
RUN apk add --no-cache git nodejs neovim ripgrep build-base wget && \
    git clone https://github.com/NvChad/starter ~/.config/nvim && \
    nvim --headless +PlugInstall +qall

CMD ["nvim"]
  • 自动安装插件:使用 nvim –headless +PlugInstall +qall 来在容器构建过程中自动安装 Neovim 插件。–headless 使得 Neovim 在没有 GUI 的情况下运行,而 +PlugInstall +qall 则是自动安装插件并退出 Neovim。

2. 构建镜像

docker build -t nvchad:v20241223 .

构建完成后,Docker 会生成一个镜像,可以用于后续的容器启动。

3. 使用 docker-compose

version: '3.2'

services:
  nvChad:
    image: nvchad:v20241223
    network_mode: bridge
    container_name: nvchad
    volumes:
      - /root/Workspace:/root/Workspace
    command: nvim +NvimTreeToggle
    working_dir: /root/Workspace
    tty: true
    stdin_open: true
  • command: nvim +NvimTreeToggle:每次容器启动时,nvim 会自动执行 :NvimTreeToggle,打开 NvimTree 文件树视图。

image-20241223午後64745320

image-20241223午後65009104

4. 通过 docker exec 进入容器时自动打开 Neovim

docker exec -it nvchad nvim +NvimTreeToggle

nvim +NvimTreeToggle:容器启动时,nvim 会自动执行 :NvimTreeToggle,打开 NvimTree 文件树视图。

5. 后续

push 镜像到docker.io了:

docker tag nvchad:v20241223 kelvinblood/nvchad:v20241223
docker push kelvinblood/nvchad:v20241223

参考资料


Vim 禁用自动换行与粘贴模式