This repository contains configuration files for various tools and applications I use on a daily basis. Here you will find setup instructions and my configurations for both neovim
and the kitty
terminal.
Before proceeding with the Neovim setup, ensure that you have a Nerd font installed. Nerd fonts are required for specific plugins and icon themes to render correctly.
Neovim is a hyperextensible text editor based on Vim. It strives to improve upon Vim by adding new features and making it easier to integrate with other software.
-
Install Neovim:
Go to the most recent Neovim release and follow the instructions for your operating system. -
Install Packer:
You can installpacker
on Unix systems by running this command:git clone --depth 1 https://github.com/wbthomason/packer.nvim \ ~/.local/share/nvim/site/pack/packer/start/packer.nvim
More installation options are listed in the official repo.
-
Clone Configuration:
git clone [email protected]:TimKoornstra/.config.git ~/.config
-
Install Plugins using Packer:
Launch Neovim and run::PackerSync
Restart Neovim and/or run
:PackerCompile
if needed. -
Install Treesitter Languages:
In Neovim, run::TSUpdateSync
The config automatically ensures certain Treesitter parsers are installed.
-
Install LSP Servers:
Usemason.nvim
to manage and install LSP servers, linters, and formatters. Open the Mason UI::Mason
From the UI, you can search and install tools like:
- LSP Servers:
:MasonInstall pylsp tsserver ruff
- Linters/Formatters:
:MasonInstall pylint isort autopep8 ruff
You can also install everything in one command:
:MasonInstall pylsp tsserver ruff-lsp pylint isort autopep8 ruff
- LSP Servers:
Open Neovim by typing nvim
in your terminal.
- Press
<leader>tf
to find files. - Press
<leader>tg
for live grep. - Press
<leader>tb
for buffer list. - Press
<leader>to
for recently opened files.
gd
to jump to definition.gr
to list references (Telescope).K
to hover documentation.<leader>rn
to rename symbols.
:Gitsigns toggle_current_line_blame
to toggle inline blame.:DiffviewOpen
to open Git diffs in a side-by-side layout.:DiffviewToggle
bound to<leader>D
.
- Enhanced syntax highlighting.
- Incremental selection (use
gnn
,grn
,grm
, etc.).
This Neovim configuration includes a robust set of plugins to enhance functionality, productivity, and the user experience. Here's a detailed overview:
Category | Plugins |
---|---|
Package Manager | packer.nvim |
Core Dependency | plenary.nvim |
UI & Themes | onedark.nvim, nvim-web-devicons, lualine.nvim, alpha-nvim, which-key.nvim, dressing.nvim, nvim-colorizer.lua, vim-illuminate |
Fuzzy Finder | telescope.nvim, (https://github.com/nvim-telescope/telescope-media-files.nvim), telescope-file-browser.nvim |
Syntax & Parsing | nvim-treesitter, nvim-treesitter-textobjects, nvim-treesitter-context |
LSP & Completion | nvim-lspconfig, mason.nvim, mason-lspconfig.nvim, blink.cmp, friendly-snippets |
Git | gitsigns.nvim, diffview.nvim |
Documentation | render-markdown.nvim |
Code Manipulation | nerdcommenter, nvim-surround, nvim-autopairs |
Navigation | flash.nvim |
Kitty is a fast, feature-rich, GPU-based terminal emulator. It's designed to be lightweight and easily extensible.
-
Install Kitty:
sudo apt install kitty
-
Clone Configuration:
git clone [email protected]:TimKoornstra/.config.git ~/.config
Open Kitty by typing kitty
in your terminal.
Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
-
Install Tmux:
sudo apt install tmux
-
Clone Configuration:
git clone [email protected]:TimKoornstra/.config.git ~/.config
-
Source Configuration: Start a
tmux
session and source the configuration file:tmux tmux source-file ~/.config/tmux/tmux.conf
Open Tmux by typing tmux
in your terminal. Use the following keybindings to navigate and manage Tmux sessions:
- Prefix:
Ctrl + \
- The rest of the keybindings remain unchanged from the default Tmux configuration.
If you find any issues with these configurations or have suggestions for improvements, please open an issue or submit a pull request.