50 lines
2.3 KiB
Nix
50 lines
2.3 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
{
|
|
config = {
|
|
programs.nixvim = {
|
|
autoCmd = [
|
|
# Turn off relativenumber only for insert mode
|
|
{ event = "InsertEnter"; pattern = "*"; command = "set norelativenumber"; }
|
|
{ event = "InsertLeave"; pattern = "*"; command = "set relativenumber"; }
|
|
];
|
|
extraConfigLua = builtins.readFile ./feline.lua;
|
|
extraPlugins = with pkgs.vimPlugins; [
|
|
nvim-scrollview # Scroll bar
|
|
# Status line
|
|
feline-nvim # Customizable status line.
|
|
# TODO Abandonned. Maybe use lualine?
|
|
];
|
|
keymaps = [
|
|
# barbar
|
|
{ key = "<C-H>"; action = "<Cmd>BufferPrevious<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-L>"; action = "<Cmd>BufferNext<CR>"; options = { silent = true; }; }
|
|
# TODO https://www.reddit.com/r/neovim/comments/mbj8m5/how_to_setup_ctrlshiftkey_mappings_in_neovim_and/
|
|
{ key = "<Space><C-H>"; action = "<Cmd>BufferMovePrevious<CR>"; options = { silent = true; }; }
|
|
{ key = "<Space><C-L>"; action = "<Cmd>BufferMoveNext<CR>"; options = { silent = true; }; }
|
|
# TODO gotos don't work
|
|
{ key = "<C-1>"; action = "<Cmd>BufferGoto 1<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-2>"; action = "<Cmd>BufferGoto 2<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-3>"; action = "<Cmd>BufferGoto 3<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-4>"; action = "<Cmd>BufferGoto 4<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-5>"; action = "<Cmd>BufferGoto 5<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-6>"; action = "<Cmd>BufferGoto 6<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-7>"; action = "<Cmd>BufferGoto 7<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-8>"; action = "<Cmd>BufferGoto 8<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-9>"; action = "<Cmd>BufferGoto 9<CR>"; options = { silent = true; }; }
|
|
{ key = "<C-0>"; action = "<Cmd>BufferLast<CR>"; options = { silent = true; }; }
|
|
{ key = "gb"; action = "<Cmd>BufferPick<CR>"; options = { silent = true; }; }
|
|
# TODO Other useful options?
|
|
];
|
|
options = {
|
|
title = true;
|
|
number = true;
|
|
relativenumber = true;
|
|
};
|
|
plugins = {
|
|
# Tabline
|
|
barbar.enable = true;
|
|
};
|
|
};
|
|
};
|
|
}
|