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
Ronald Record edited this page May 6, 2023 · 8 revisions

Usage

The lazyman.sh script is located in ~/.config/nvim-lazyman. It installs itself as $HOME/.local/bin/lazyman. If $HOME/.local/bin is in your execution PATH then lazyman can be executed from the command line as simply lazyman. The manual page can be viewed with man lazyman. Within Neovim the nvim-lazyman help doc can be viewed with :h nvim-lazyman.

The lazyman command can be used to install and initialize multiple Neovim configurations. For example, to install and initialize the LazyVim starter configuration execute the command lazyman -l. To install and initialize all supported Lazyman Neovim configurations execute lazyman -A. To update a previously installed Lazyman Neovim configuration execute lazyman -U -N <nvimdir> or lazyman -U -A to update all configurations.

After installing and initializing Neovim configurations with lazyman, easily explore various configurations with the lazyman -e <config> ... command. See the Using lazyman to explore configurations section below for details.

To remove a Lazyman Neovim configuration execute lazyman -r -N <nvimdir>. To remove the configuration and all its backups, lazyman -R -N <nvimdir>. To remove all installed Lazyman Neovim configurations and their backups without being prompted to proceed, execute lazyman -A -R -y.

The usage message for lazyman:

Usage: lazyman [-A] [-a] [-B] [-b branch] [-c] [-d] [-e] [-E config]
 [-F] [-i] [-k] [-l] [-m] [-M] [-s] [-S] [-v] [-n] [-p] [-P] [-q]
 [-h] [-H] [-I] [-L cmd] [-rR] [-C url] [-D subdir] [-N nvimdir]
 [-T] [-U] [-w conf] [-W] [-x conf] [-X] [-y] [-z] [-Z] [-u] [status]
Where:
 -A indicates install all supported Neovim configurations
 -a indicates install and initialize AstroNvim Neovim configuration
 -B indicates install and initialize all 'Base' Neovim configurations
 -b 'branch' specifies an nvim-Lazyman git branch to checkout
 -c indicates install and initialize NvChad Neovim configuration
 -d indicates debug mode
 -e indicates install and initialize Ecovim Neovim configuration
 -E 'config' execute 'nvim' with 'config' Neovim configuration
 'config' can be one of:
 'lazyman', 'astronvim', 'kickstart', 'magicvim',
 'ecovim', 'nvchad', 'lazyvim', 'lunarvim', 'spacevim'
 or any Neovim configuration directory in '~/.config'
 (e.g. 'lazyman -E lazyvim foo.lua')
 -F indicates present the Lazyman Configuration menu
 -i indicates install and initialize Lazyman Neovim configuration
 -k indicates install and initialize Kickstart Neovim configuration
 -l indicates install and initialize LazyVim Neovim configuration
 -m indicates install and initialize MagicVim Neovim configuration
 -M indicates install and initialize MiniVim Neovim configuration
 -s indicates install and initialize SpaceVim Neovim configuration
 -v indicates install and initialize LunarVim Neovim configuration
 -S indicates show Neovim configuration fuzzy selector menu
 -n indicates dry run, don't actually do anything, just printf's
 -p indicates use vim-plug rather than Lazy to initialize
 -P indicates use Packer rather than Lazy to initialize
 -q indicates quiet install
 -h indicates use Homebrew to install rather than native pkg mgr
 (Pacman is always used on Arch Linux, Homebrew on macOS)
 -H indicates compile and install the nightly Neovim build
 -I indicates install language servers and tools for coding diagnostics
 -L 'cmd' specifies a Lazy command to run in the selected configuration
 -r indicates remove the previously installed configuration
 -R indicates remove previously installed configuration and backups
 -C 'url' specifies a URL to a Neovim configuration git repository
 -N 'nvimdir' specifies the folder name to use for the config given by -C
 -T indicates no plugin manager, initialize with :TSUpdate
 -U indicates update an existing configuration
 -w 'conf' indicates install and initialize Extra 'conf' config
 'conf' can be one of:
 'Abstract' 'Knvim' 'Roiz' 'Fennel' 'Nv'
 'Adib' 'Optixal' 'Plug' 'Simple' 'Heiker'
 -W indicates install and initialize all 'Extra' Neovim configurations
 -x 'conf' indicates install and initialize nvim-starter 'conf' config
 'conf' can be one of:
 'Kickstart' 'NvPak' 'Minimal' 'StartBase'
 'Opinion' 'StartLsp' 'StartMason', or 'Modular'
 -X indicates install and initialize all 'Starter' configs
 -y indicates do not prompt, answer 'yes' to any prompt
 -z indicates do not run nvim after initialization
 -Z indicates do not install Homebrew, Neovim, or any other tools
 -u displays this usage message and exits
 'status' displays a brief status report and exits
Commands act on NVIM_APPNAME, override with '-N nvimdir' or '-A'
Without arguments lazyman installs and initializes nvim-Lazyman
or, if initialized, an interactive menu system is displayed.

Manual

The lazyman bootstrap process installs a lazyman manual page in ~/.local/share/man/man1/lazyman.1. This man page includes a synopsis of the lazyman command line options, a brief description of its use, a description of each command line option, and several example invocations.

The lazyman manual page can be viewed with man lazyman.

Lazyman Neovim help can be viewed inside Neovim with :h nvim-lazyman.

Lazyman configuration

The nvim-lazyman Neovim configuration includes a top-level configuration file, ~/.config/nvim-lazyman/lua/configuration.lua. This file can be use to enable, disable, and configure nvim-lazyman components. For example, here is where you would configure whether neo-tree or nvim-tree is enabled as a file explorer. Or, disable the tabline, disable the statusline, set the colorscheme, theme, and theme style. The configuration.lua file is intended to serve as a quick and easy way to re-configure the nvim-lazyman Neovim configuration but you can still dig down into the options.lua, keymaps.lua, autocmds.lua and more.

Configuration sections

The lua/configuration.lua configuration file contains the following sections with settings briefly described here:

Theme configuration

The nvim-lazyman Neovim configuration includes pre-configured support for several themes including support for statusline and tabline theme coordination. The active theme and colorscheme is selected in configuration.lua by setting M.theme. For themes that support different styles, the theme style is selected by setting M.theme_style. Theme transparency can be enabled with M.enable_transparent. For example, to use the kanagawa theme with dragon style and transparency disabled, set:

M.theme = "kanagawa"
M.theme_style = "dragon"
M.enable_transparent = false
Supported themes

A configuration file for each theme is in lua/themes/ and lualine theme configuration for each theme and its styles in lua/themes/lualine.

Use <F8> to step through themes.

Available styles are:

  • kanagawa
    • wave
    • dragon
    • lotus
  • tokyonight
    • night
    • storm
    • day
    • moon
  • onedarkpro
    • onedark
    • onelight
    • onedark_vivid
    • onedark_dark
  • monokai-pro
    • classic
    • octagon
    • pro
    • machine
    • ristretto
    • spectrum
  • catppuccin
    • latte
    • frappe
    • macchiato
    • mocha
  • nightfox
    • carbonfox
    • dawnfox
    • dayfox
    • duskfox
    • nightfox
    • nordfox
    • terafox
Plugin configuration

Several Neovim plugins in the nvim-lazyman configuration can be optionally installed or replaced by another plugin with similar functionality. The plugins that are configurable in this way in configuration.lua are briefly described below along with their default settings:

  • Neovim session manager to use, either persistence or possession
    • M.session_manager = "possession"
  • Neo-tree or nvim-tree, false will enable nvim-tree
    • M.enable_neotree = true
  • Replace the UI for messages, cmdline and the popupmenu
    • M.enable_noice = true
  • Enable the newer rainbow treesitter delimiter highlighting
    • M.enable_rainbow2 = true
  • Enable the wilder plugin
    • M.enable_wilder = false
  • The statusline (lualine) and tabline can each be enabled or disabled
    • M.disable_statusline = false
    • M.enable_tabline = true
  • The winbar with location
    • M.enable_winbar = false
  • Enable playing games inside Neovim!
    • M.enable_games = true
  • Enable the Alpha dashboard
    • M.enable_alpha = true
  • Enable the Neovim bookmarks plugin (https://github.com/ldelossa/nvim-ide)
    • M.enable_bookmarks = false
  • Enable the Neovim IDE plugin (https://github.com/ldelossa/nvim-ide)
    • M.enable_ide = false
  • Enable Navigator
    • M.enable_navigator = true
  • Enable Project manager
    • M.enable_project = true
  • Enable window picker
    • M.enable_picker = true

Additional plugin configuration and options are available in configuration.lua.

View the default `configuration.lua`
local conf = {}
-- THEME CONFIGURATION
-- Available themes:
-- nightfox, tokyonight, dracula, kanagawa, catppuccin,
-- tundra, onedarkpro, everforest, monokai-pro
-- A configuration file for each theme is in lua/themes/
-- Use <F8> to step through themes
conf.theme = "tokyonight"
-- Available styles are:
-- kanagawa: wave, dragon, lotus
-- tokyonight: night, storm, day, moon
-- onedarkpro: onedark, onelight, onedark_vivid, onedark_dark
-- catppuccin: latte, frappe, macchiato, mocha, custom
-- dracula: blood, magic, soft, default
-- nightfox: carbonfox, dawnfox, dayfox, duskfox, nightfox, nordfox, terafox
-- monokai-pro: classic, octagon, pro, machine, ristretto, spectrum
conf.theme_style = "moon"
-- enable transparency if the theme supports it
conf.enable_transparent = true
-- GLOBAL OPTIONS CONFIGURATION
-- Some prefer space as the map leader, but why
conf.mapleader = ","
conf.maplocalleader = ","
-- Toggle global status line
conf.global_statusline = true
-- set numbered lines
conf.number = false
-- enable mouse see :h mouse
conf.mouse = "nv"
-- set relative numbered lines
conf.relative_number = false
-- always show tabs; 0 never, 1 only if at least two tab pages, 2 always
-- see enable_tabline below to disable or enable the tabline
conf.showtabline = 2
-- enable or disable listchars
conf.list = true
-- which list chars to show
conf.listchars = {
 eol = "",
 tab = ">.",
 trail = "~",
 extends = "",
 precedes = "",
}
-- use rg instead of grep
conf.grepprg = "rg --hidden --vimgrep --smart-case --"
-- ENABLE/DISABLE/SELECT PLUGINS
-- neovim session manager to use, either persistence or possession
conf.session_manager = "possession"
-- neo-tree or nvim-tree, false will enable nvim-tree
conf.enable_neotree = true
-- Replace the UI for messages, cmdline and the popupmenu
conf.enable_noice = true
-- Enable ChatGPT (set OPENAI_API_KEY environment variable)
conf.enable_chatgpt = false
-- Enable the newer rainbow treesitter delimiter highlighting
conf.enable_rainbow2 = true
-- Enable fancy lualine components
conf.enable_fancy = true
-- Enable the wilder plugin
conf.enable_wilder = false
-- The statusline (lualine), tabline, and winbar can each be enabled or disabled
-- Enable statusline (lualine)
conf.enable_statusline = true
-- Enable tabline
conf.enable_tabline = true
-- Enable winbar with navic location via lspconfig
conf.enable_winbar = true
-- Enable rebelot/terminal.nvim
conf.enable_terminal = true
-- Enable playing games inside Neovim!
conf.enable_games = true
--
-- Enable preferred dashboard, disable all for no dashboard
--
-- Enable the Alpha dashboard
conf.enable_alpha = true
-- Enable the dashboard-nvim dashboard
conf.enable_dashboard = false
-- Enable the Mini Starter dashboard
conf.enable_mini_starter = false
--
-- TODO: fix startup dashboard configuration
-- Enable the Startup dashboard
-- conf.enable_startup = false
-- Startup dashboard theme ("dashboard", "lazyman", or "startify")
-- conf.startup_theme = "lazyman"
--
-- Number of recent files, dashboard header and quick links settings
-- only apply to the Alpha dashboard
-- Number of recent files shown in dashboard
-- 0 disables showing recent files
conf.dashboard_recent_files = 3
-- Enable the header of the dashboard
conf.enable_dashboard_header = false
-- Enable quick links of the dashboard
conf.enable_dashboard_quick_links = true
--
-- enable the Neovim bookmarks plugin (https://github.com/ldelossa/nvim-ide)
conf.enable_bookmarks = false
-- enable the Neovim IDE plugin (https://github.com/ldelossa/nvim-ide)
conf.enable_ide = false
-- Enable Navigator
conf.enable_navigator = true
-- Enable Project manager
conf.enable_project = true
-- Enable window picker
conf.enable_picker = true
-- Enable smooth scrolling with neoscroll plugin
conf.enable_smooth_scrolling = true
-- PLUGINS CONFIGURATION
-- media backend, one of "ueberzug"|"viu"|"chafa"|"jp2a"|catimg
conf.media_backend = "jp2a"
-- Enable colored indentation lines if theme supports it
conf.enable_color_indentline = true
-- treesitter parsers to be installed
conf.treesitter_ensure_installed = {
 "bash", "go", "html", "java", "json", "lua", "markdown", "markdown_inline",
 "query", "python", "regex", "toml", "vim", "vimdoc", "yaml",
}
-- Enable clangd or ccls will be used for C/C++ diagnostics
conf.enable_clangd = false
-- LSPs that should be installed by Mason-lspconfig
conf.lsp_servers = {
 "bashls", "cssmodules_ls", "denols", "dockerls", "eslint", "gopls",
 "graphql", "html", "jdtls", "jsonls", "julials", "ltex", "lua_ls",
 "marksman", "pylsp", "pyright", "sqlls", "tailwindcss", "terraformls",
 "texlab", "tsserver", "vimls", "yamlls",
}
-- Formatters and linters installed by Mason
conf.formatters_linters = {
 "actionlint", "goimports", "gofumpt", "golangci-lint",
 "google-java-format", "latexindent", "markdownlint", "prettier",
 "sql-formatter", "shellcheck", "shfmt", "stylua", "tflint", "yamllint",
}
-- enable greping in hidden files
conf.telescope_grep_hidden = true
-- Show diagnostics, can be one of "none", "icons", "popup". Default is "popup"
-- "none": diagnostics are disabled but still underlined
-- "icons": only an icon will show, use ',de' to see the diagnostic
-- "popup": an icon will show and a popup with the diagnostic will appear
conf.show_diagnostics = "icons"
-- Enable semantic highlighting
conf.enable_semantic_highlighting = true
-- Convert semantic highlights to treesitter highlights
conf.convert_semantic_highlighting = true
return conf

Clone this wiki locally

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