starter/GEMINI.md

2.5 KiB

GEMINI Analysis of Neovim Configuration

Project Overview

This directory contains a Neovim configuration based on the LazyVim starter template. It uses lazy.nvim for plugin management and is structured in Lua. The configuration is designed to be modular, with plugins, options, keymaps, and autocommands separated into different files.

Key Files

  • init.lua: The main entry point for the Neovim configuration. It bootstraps lazy.nvim and loads the configuration.
  • lazy-lock.json: This file is automatically generated by lazy.nvim and locks the versions of all installed plugins, ensuring a reproducible environment.
  • lua/config/lazy.lua: This file contains the setup for lazy.nvim. It specifies the plugins to be loaded, including LazyVim itself and any custom plugins in the lua/plugins directory.
  • lua/config/options.lua: This file is for setting Neovim's options.
  • lua/config/keymaps.lua: This file is for defining custom keymaps.
  • lua/config/autocmds.lua: This file is for defining custom autocommands.
  • lua/plugins/: This directory contains custom plugin specifications. Each file in this directory can add new plugins, disable or enable LazyVim plugins, or override their configurations. The example.lua file provides a good starting point for how to structure these files.
  • lua/plugins/nvim-tree.lua: This file contains the configuration for the nvim-tree.lua plugin, which provides a file explorer.

Building and Running

This is a Neovim configuration, so there is no "building" or "running" in the traditional sense. To use this configuration, you need to have Neovim installed. Once Neovim is installed, you can clone this repository to ~/.config/nvim and start Neovim. The plugins will be automatically installed on the first run.

Development Conventions

  • Plugin Management: Plugins are managed using lazy.nvim. To add a new plugin, create a new file in the lua/plugins/ directory or add it to an existing one.
  • Configuration: The configuration is modular. Options, keymaps, and autocommands should be defined in their respective files in the lua/config/ directory.
  • Customization: The lua/plugins/ directory is the primary place for customization. You can override the default LazyVim plugins or add new ones here. The example.lua file shows how to do this.
  • Styling: The stylua.toml file suggests that the Lua code is formatted with stylua.

Keymaps

  • <leader>e: Toggle file explorer (nvim-tree).