2024-03-01 07:02:04 +00:00
|
|
|
{ pkgs, lib, config, ... }:
|
|
|
|
{
|
|
|
|
config = {
|
|
|
|
options = {
|
|
|
|
# Relative line numbers
|
|
|
|
number = true;
|
|
|
|
relativenumber = true;
|
|
|
|
|
|
|
|
# Tab length
|
|
|
|
tabstop = 2;
|
|
|
|
softtabstop = 2;
|
|
|
|
showtabline = 2;
|
|
|
|
expandtab = true;
|
|
|
|
|
|
|
|
# Set autoindent and use spaces
|
|
|
|
smartindent = true;
|
|
|
|
shiftwidth = 2;
|
|
|
|
|
|
|
|
# Smart indenting
|
|
|
|
breakindent = true;
|
|
|
|
|
|
|
|
# Incremental search
|
|
|
|
hlsearch = true;
|
|
|
|
incsearch = true;
|
|
|
|
|
|
|
|
# Text wrap
|
|
|
|
wrap = true;
|
|
|
|
|
|
|
|
# Splitting
|
|
|
|
splitbelow = true;
|
|
|
|
splitright = true;
|
|
|
|
|
|
|
|
# Mouse mode
|
|
|
|
mouse = "a";
|
|
|
|
|
|
|
|
# Ignore case when searching
|
|
|
|
ignorecase = true;
|
|
|
|
smartcase = true; # Do not ignore case with capitals
|
|
|
|
grepprg = "rg --vimgrep";
|
|
|
|
grepformat = "%f:%l:%c:%m";
|
|
|
|
|
|
|
|
# Decrease update time
|
|
|
|
updatetime = 50;
|
|
|
|
|
|
|
|
|
|
|
|
# Set completeopt
|
|
|
|
completeopt = [ "menuone" "noselect" "noinsert" ];
|
|
|
|
|
|
|
|
# Persistent undo history
|
|
|
|
swapfile = false;
|
|
|
|
backup = false;
|
|
|
|
undofile = true;
|
|
|
|
|
|
|
|
# Enable 24-bit color
|
|
|
|
termguicolors = true;
|
|
|
|
|
|
|
|
# Enable sign column to prevent the screen from jumping
|
|
|
|
signcolumn = "yes";
|
|
|
|
|
|
|
|
# Cursor line highlighting
|
|
|
|
cursorline = true;
|
|
|
|
|
|
|
|
# Fold settings
|
|
|
|
foldcolumn = "0";
|
|
|
|
foldlevel = 99;
|
|
|
|
foldlevelstart = 99;
|
|
|
|
foldenable = true;
|
|
|
|
|
|
|
|
# Keep 8 lines above and below cursor except start/end of file
|
|
|
|
scrolloff = 8;
|
|
|
|
|
|
|
|
# Column line
|
|
|
|
colorcolumn = "80";
|
|
|
|
|
|
|
|
# Whcih key timeout
|
|
|
|
timeoutlen = 10;
|
|
|
|
|
|
|
|
# Encoding
|
|
|
|
encoding = "utf-8";
|
|
|
|
fileencoding = "utf-8";
|
|
|
|
|
|
|
|
# Cursor options
|
|
|
|
guicursor = [
|
|
|
|
"n-v-c:block" # Normal, visual, command-line: block cursor
|
|
|
|
"i-ci-ve:ver25" # Insert, command-line insert, visual-exclude: vertical bar with 25% width
|
2024-03-01 07:11:59 +00:00
|
|
|
"r-cr:hor20" # Replace, command-line replace: horizontal bar cursor with 20% height
|
|
|
|
"o:hor50" # Operator-pending: horizontal bar cursor with 50% height
|
|
|
|
"a:blinkwait700-blinkoff400-blinkon-250-Cursor/lCursor" # All mdoes: blinking settings
|
|
|
|
"sm:block-blinkwait175-blonkoff150-blinkon175" # Stopwatch: block cursor with specific blink settings
|
2024-03-01 07:02:04 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|