neovim icon indicating copy to clipboard operation
neovim copied to clipboard

video script: Configure Neovim & Astronvim for Clojure development

Open practicalli-johnny opened this issue 10 months ago • 0 comments

Why Neovim for Clojure development

Overview of Neovim, Conjure and Practicalli Astro (config for Neovim with a focus on Clojure)

install neovim (global & local)

Download the latest stable release from the Neovim GitHub releases page, using the relevant asset for your operating system.

For example, on Debian Linux I download the neovim AppImage to .local/bin for a specific user or /usr/local/bin/ for all users. Then I create a symbolic link called nvim, which is the usual command name.

checkhealth

nvim will start neovim and use : colon to enter the checkhealth command. This will report the status of neovim and any tools and libraries it expects to access.

Configuration

Neovim is a very powerful editor and with community plugins can provide a rich development environment, whist still being ludicrously fast.

Practicalli uses AstroNvim an expertly crafted community configuration for Neovim. Astronvim provides a rich experience whist being highly customisable (its essentially 3 plugins with a little lua code to wire things together.

Astrocommunity provides many more plugins to extend Neovim, each added by a simple import line.

Plugins are lazy loaded thanks to the Lazy package manager, so even with 70+ plugins added to a configuration, the resources of your computer are not wasted.

There are several others community configurations and you can also create your own from scratch

The NVIM_APPNAME environment variable is used to load a specific configuration for Neovim, relative to the $HOME/.config directory.

You could start with AstroNvim and be instantly productive, then take your time to craft your own configuration, switching between the two by setting the relevant NVIM_APPNAME.

I use the astro shell alias to starts Neovim using the Practicalli Astro config in .config/astro

Practicalli Astro configuration was created from the Astronvim template and extended to provide common development tools and Clojure specific features.

  • Practicalli Astro
    • tour of config
    • override user config and provide your own
  • Learning Lua tips

practicalli-johnny avatar Dec 31 '24 16:12 practicalli-johnny