Skip to content

lkurcak/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

150 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim

My Neovim config. Work in progress.

Requires Neovim 0.12+.

Plugins are managed with the built-in vim.pack, so they install automatically on first start.

If you are migrating from the older lazy.nvim version of this config, delete the old lazy plugin directory under stdpath('data') before launching this version.

Installation

macOS
  1. Go to your config file and clone the repo (folder nvim will be created):
cd ~/.config
git clone https://github.com/lkurcak/nvim
  1. Install dependencies
brew install ripgrep
brew install deno
Linux / WSL
  1. Go to your config file and clone the repo (folder nvim will be created):
cd ~/.config
git clone https://github.com/lkurcak/nvim
  1. Install ripgrep

  2. Install deno to support .js, .ts, .json, .yaml formatting:

curl -fsSL https://deno.land/install.sh | sh
Windows
  1. Go to your local app data directory and clone this repo (folder nvim will be created):
cd %LOCALAPPDATA%
git clone https://github.com/lkurcak/nvim
  1. Install ripgrep and zig (unless you already have a C compiler):
winget install zig.zig
winget install BurntSushi.ripgrep.MSVC
  1. Install deno to support .js, .ts, .json, .yaml formatting:
irm https://deno.land/install.ps1 | iex

Optional installations

Rust LSP
  1. Install rustup

  2. Install rust-analyzer:

rustup component add rust-analyzer
  1. Install taplo:
cargo install --features lsp --locked taplo-cli
Lua LSP

Download latest release from https://github.com/LuaLS/lua-language-server/releases

Unzip, go to bin and make sure lua-language-server is in your OS PATH.

Copilot

Install Node.js.

In Neovim run the command :Copilot setup and follow the instructions.

Kulala HTTP parser

Install the tree-sitter CLI if you want Kulala syntax highlighting and formatting support for .http / .rest files.

cargo install tree-sitter-cli

Key bindings

Key Action
s Press s followed by two characters to move to them.
Never move with mouse or hjkl again!
S Same as above but able to jump to other buffers
Ctrl+z Undo
Ctrl+y Redo
Ctrl+s Save file
Ctrl+S Save all
Ctrl+p Open file
Ctrl+f Find text
Alt+f Format file
Ctrl+r Rename
Ctrl+a Code action
K Show info

Note: When using Ctrl+p (Open file) or Ctrl+f (Find text), you can press Ctrl+a inside the telescope window to toggle between normal mode and "show all files including ignored" mode. The prompt will show 🔍 [ALL] when searching all files, or just 🔍 in normal mode.

Navigation

Key Action
gd Go to definition
gD Go to declaration
gi Go to implementation
gr Find references
Space+d Go to type definition
[d Previous diagnostic
]d Next diagnostic

Other cool features

Plugins
File viewer

Press - to open oil file viewer. Create, rename, delete files like you would text. Save the buffer to confirm changes.

Git interaction

Press Ctrl+g or enter command :Git to open fugitive. Use = to expand files. Use - to stage/unstage files or parts of the code. Press cc to commit staged changes. Enter command :Git push to push commits.

HTTP requests

Open a .http file to load kulala.nvim. Move the cursor over a HTTP request and press Enter to send it.

Commands
Command Action
:FixLineEndings Converts line endings to unix style in buffer
:FixLineEndingsRepo Converts line endings to unix for all tracked git repository files

About

Neovim config

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages