Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lazyman Configuration

Ronald Record edited this page May 25, 2023 · 15 revisions

Lazyman Neovim Configuration

The nvim-lazyman Neovim configuration is a synthesis of the best features from LazyVim, AstroNvim, the Allaman config, and several others combined with some features from my vim-plug based Vim configuration.

One of the features of the nvim-lazyman Neovim configuration is the lua/configuration.lua configuration file which allows the user to enable or disable a variety of features. For example, this file controls which dashboard is used, whether Noice is enabled, which session manager is used, which theme is used, and much more.

This document will attempt to describe the features, options, plugin configurations, and key bindings of the nvim-lazyman Neovim configuration.

Features

The primary feature of the nvim-lazyman Neovim configuration is the inclusion of the lazyman command to easily install, initialize, manage, and explore multiple Neovim configurations. In addition, the lazyman command provides a menu interface to manage multiple Neovim configurations and sub-menus to easily configure and manage the Lazyman Neoovim configuration.

  • lazyman command to easily install, initialize, manage, and explore multiple Neovim configurations
  • support for Lazy, Packer, and vim-plug plugin managers
  • automated installation of dependencies, tools, language servers, and Neovim 0.9
  • richly configured nvim-Lazyman Neovim configuration
  • interactive menu interface for ease of management
  • 31 supported Neovim configurations out of the box, additional custom configs
  • convenience shell functions and aliases with fuzzy search and selection
  • vimdoc help for nvim-Lazyman with :h nvim-Lazyman

Lazyman Neovim Configuration Features

General ⚙️

  • Package management and plugin configuration via lazy.nvim
  • Easily configure theme, active plugins, and their configuration via configuration.lua
  • Preconfigured themes: catppuccin, tokyonight, nightfox, tundra, dracula, kanagawa, onedarkpro, everforest, monokai-pro
    • Keymap to toggle transparency for several color schemes (,ut)
  • Auto-configure ChatGPT (GPT-4) if OPENAI_API_KEY is found in the environment using ChatGPT.nvim
  • Custom Lazyman Cheat Sheets using cheatsheet.nvim
    • :Cheatsheet command, fuzzy search lazyman for custom Lazyman keymaps
  • Mnemonic keyboard mappings inspired by Spacemacs via which-key.nvim; no more than three keystrokes for each keybinding
  • Replace the UI for messages, cmdline and popup menu via noice.nvim
  • Fully featured status line via lualine and tabline
  • Terminal integration via nvim-toggleterm.lua
  • Terminal management via terminal.nvim
    • Preconfigured Neovim terminal execution of lazyman command (<leader>lm)
    • Preconfigured Neovim terminal execution of asciiville command (<leader>A)
    • Preconfigured Neovim terminal execution of htop command (<leader>H)
  • Fancy notifications via nvim-notify
  • Code diagnostics via LSP
  • Choice of preconfigured dashboard: alpha (default), dashboard-nvim, or mini.starter
  • Neovim games for fun and learning (Sudoku, Blackjack, vim-be-good practice basic movements, and more).
    • Key map <leader>G (e.g. ,G) displays the available games and amusements.
  • Github actions to publish docker image on Docker Hub, check spelling/syntax, and auto-generate vim help doc (see .github/workflows/*.yml)
  • Over 100 plugins with custom configuration

Navigation 🧭

Coding 🖥️

Lazyman Neovim Terminal

The Lazyman Neovim configuration includes Neovim Terminal management via terminal.nvim. This Neovim terminal is preconfigured for execution of the lazyman command. A shortcut key binding to execute lazyman in a Neovim terminal has also been provided: (<leader>lm). While in Neovim with the default nvim-Lazyman configuration, pressing ,lm will execute the lazyman command in a Neovim floating terminal window. Alternately, executing the Neovim command :Lazyman will also bring up the lazyman command in a Neovim terminal.

If Asciiville is installed, pressing ,A or executing the :Asciiville Neovim command will execute the asciiville command in a Neovim floating terminal window.

If the htop command is available, :Htop will execute the htop system monitor in a floating Neovim terminal window.

This preconfigured Neovim terminal capability is only available in the Lazyman Neovim configuration and not in the other configs.

Go development
Debugging via DAP

Key bindings

Leader Key Clusters via which-key

See ./lua/plugins/which-key.lua for details.

Docker

If you have Docker on your system you can try out this config via the provided Dockerfile

Build the image

You can build the Docker image locally on your own:

docker build -t nvim .

Start neovim

docker run --name nvim --rm -it nvim

Mount a local directory (to ~/mount) and start nvim

docker run --name nvim --rm -it -v ${HOME}/tmp:/home/nvim/mount nvim

Start container in bash instead of nvim

docker run --name nvim --rm -it --entrypoint=/bin/bash nvim

Installation

The installation script sets up all required tools on a fresh machine to work with the Lazyman Neovim config. The installation script can be invoked with lazyman -I.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /