nixos-config/config/programs/vim/modules/base.nix

62 lines
1.4 KiB
Nix
Raw Normal View History

2022-08-10 08:21:43 +00:00
{pkgs, ...}: {
vim.opt = {
# Use 4 spaces and expand tabs
expandtab = true;
2022-08-09 19:19:52 +00:00
tabstop = 2;
softtabstop = 2;
shiftwidth = 2;
cursorline = true; # Highlight line of cursor
number = true; # Line numbering
2022-08-09 19:19:52 +00:00
relativenumber = true;
numberwidth = 3;
undodir = "$HOME/.cache/nvim/undo-files";
undofile = true;
2022-08-09 19:30:22 +00:00
mouse = "a";
clipboard = "unnamedplus";
# Searching
ignorecase = true;
smartcase = true;
# Wildmode
wildmenu = true;
wildignorecase = true;
2022-08-10 08:20:23 +00:00
wildignore = ["*.o" "*~" "*.out"];
wildmode = ["longest" "list" "full"];
};
# Clipboard command
vim.g.clipboard = {
name = "kitty";
copy = {
"+" = ["${pkgs.kitty}/bin/kitty" "+kitten" "clipboard"];
"*" = ["${pkgs.kitty}/bin/kitty" "+kitten" "clipboard" "--use-primary"];
2022-08-10 08:20:23 +00:00
};
paste = {
"+" = ["${pkgs.kitty}/bin/kitty" "+kitten" "clipboard" "--get-clipboard"];
"*" = ["${pkgs.kitty}/bin/kitty" "+kitten" "clipboard" "--get-clipboard" "--use-primary"];
2022-08-10 08:15:12 +00:00
};
};
vim.keybindings.keybindings-shortened = {
2022-08-10 08:20:23 +00:00
j = {command = "gj";};
k = {command = "gk";};
"0" = {command = "g0";};
"$" = {command = "g$";};
"Y" = {
command = "yy";
mode = "n";
};
};
output.config_file = ''
" Enable 24-bit colours if available
if has('termguicolors')
set termguicolors
endif
'';
}