My Vim Settings and a script to auto setup them
Go to file
ViViDboarder cee4d47967 Update container script to override detach keys
This allows me to use ctrl-z to send nvim to the background
2024-11-17 21:48:43 -08:00
.github/workflows Bump docker build targets for nvim container 2024-11-02 14:10:32 -07:00
docker Update container script to override detach keys 2024-11-17 21:48:43 -08:00
neovim Disable copilot for some files 2024-11-13 10:09:16 -08:00
scripts Add json sorting pre-commit hook 2022-02-28 16:31:56 -08:00
vim Make more portable using vim-blink 2024-09-17 13:18:47 -07:00
.dockerignore Update Dockerfile and related Docker scripts 2021-12-16 20:52:09 -08:00
.gitignore Make more portable using vim-blink 2024-09-17 13:18:47 -07:00
.luacheckrc Fix luacheck globals 2021-12-15 08:43:12 -08:00
.luarc.json Sort json 2022-02-28 16:32:15 -08:00
.pre-commit-config.yaml Switch to none-ls and selene for lua checks 2024-11-04 11:37:33 -08:00
.stylua.toml Move StyLua config from args to file 2022-01-10 14:58:29 -08:00
install-helpers.py Replace luacheck with selene 2024-11-11 13:00:48 -08:00
Makefile Update Makefile for new helper installer 2024-07-19 14:07:25 -07:00
neovim.yml Add selene config for neovim 2024-11-04 12:58:34 -08:00
README.md Update Readme 2024-11-04 13:01:25 -08:00
selene.toml Add selene config for neovim 2024-11-04 12:58:34 -08:00
vim-sync-append.sh Fix bootstrap with blink 2024-09-17 13:23:16 -07:00

About

These are my Vim and Neovim settings that I like to keep synced between my computers for convenience. This bootstrap setup will support both Vim and Neovim and uses different plugins, where needed, to bridge gaps in functionality.

I use Neovim day to day, but there are times it is not available, so Vim and older Neovim installs are supported as well.

Vim and Neovim less than 0.5 support is really in maintanence mode now and not heavily maintained. I may actually trim down the configuration to be more minimal and act as an alternative to my more IDE like Neovim environment.

The bootstrap script included will set the proper symblinks and run package managers to install any plugins.

Install

git clone https://github.com/ViViDboarder/vim-settings.git
cd vim-settings
make install

You can also remove any installed plugins or uninstall this configuration using either make clean or make uninstall respectively.

Version support

Vim configs are in maintenance mode and will not be updated, however are expected to be able to run anywhere. Neovim configs target the Neovim version in the latest LTS release of Ubuntu. I try to add tags to commits when I drop support for older versions of Neovim.

Project Layout

The vim directory here is what gets symblinked to ~/.vim, and the neovim directory gets symblinked to ~/.config/nvim. Inside, the init.vim file will also get symblinked to ~/.vimrc. The neovim/init.vim file will dyanmically load the older non-Lua configs if Lua is not supported. The other included directories are mostly standard vim directories that provide some additional configuration files. The exceptions would be backup, which becomes the new default location for storing backup files while editing. The tmp directory is for storing session information. The rc directory is where all the vimrc work gets done.

Neovim config

This config is in Lua with the philosopy of taking advantage of as much out of the box capaiblities as possible.

Vim and old Nvim

The rc Files

The init.vim file essentially sets vim up to import the rc files from the rc directory. The actual configuration exists almost entirely in the rc directory. Each file should be fairly self explanatory.

One problem with syncing rc file between different machines, is that you may have different usages. That is solved by this framework by making use of local.rc files. For every *.rc.vim, you may provide a *.local.rc.vim file which will be loaded after the shared one. Here you can override or add anything to the synced configuration without it causing problems on any other machine.

Note

I am not the original creators of some of the files included in the vim directory and only vendor them out of convienince. If I am missing any licensing information I'd be happy to attach it.