mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 00:45:17 -06:00
polish git, mini config
This commit is contained in:
parent
0c5b3d23ae
commit
c4ddbfc40c
10 changed files with 102 additions and 104 deletions
8
config/lua/colors.lua
Normal file
8
config/lua/colors.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
require("rose-pine").setup({
|
||||
variant = "moon",
|
||||
disable_background = true,
|
||||
disable_italics = true,
|
||||
disable_float_background = true
|
||||
})
|
||||
|
||||
vim.cmd.colorscheme "rose-pine-main"
|
||||
30
config/lua/git-conf.lua
Normal file
30
config/lua/git-conf.lua
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
require('gitsigns').setup{
|
||||
signcolumn = false,
|
||||
numhl = true,
|
||||
on_attach = function()
|
||||
local gs = package.loaded.gitsigns
|
||||
vim.keymap.set("n", "<leader>gg", gs.preview_hunk)
|
||||
vim.keymap.set('n', '<leader>gs', gs.stage_hunk)
|
||||
vim.keymap.set('n', '<leader>gr', gs.reset_hunk)
|
||||
vim.keymap.set('n', '<leader>gu', gs.undo_stage_hunk)
|
||||
vim.keymap.set('n', '<leader>gS', gs.stage_buffer)
|
||||
vim.keymap.set('n', '<leader>gR', gs.reset_buffer)
|
||||
vim.keymap.set('n', '<leader>gb', function() gs.blame_line{full=true} end)
|
||||
vim.keymap.set('n', '<leader>gd', gs.diffthis)
|
||||
vim.keymap.set('n', '<leader>gD', function() gs.diffthis('~') end)
|
||||
vim.keymap.set('n', '<leader>gt', gs.toggle_deleted)
|
||||
-- Navigation
|
||||
vim.keymap.set('n', ']g', function()
|
||||
if vim.wo.diff then return ']c' end
|
||||
vim.schedule(function() gs.next_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, {expr=true})
|
||||
|
||||
vim.keymap.set('n', '[g', function()
|
||||
if vim.wo.diff then return '[c' end
|
||||
vim.schedule(function() gs.prev_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, {expr=true}) end
|
||||
}
|
||||
|
||||
require("neogit").setup()
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
require('gitsigns').setup{
|
||||
signs = {
|
||||
add = { text = '✓'},
|
||||
change = { text = '↔'},
|
||||
delete = { text = '✗'},
|
||||
},
|
||||
signcolumn = auto,
|
||||
on_attach = function()
|
||||
vim.wo.signcolumn = "yes"
|
||||
vim.cmd [[ hi SignColumn ctermbg=none]]
|
||||
vim.cmd [[ hi GitSignsAdd ctermbg=none]]
|
||||
vim.cmd [[ hi GitSignsDelete ctermbg=none]]
|
||||
vim.cmd [[ hi GitSignsChange ctermbg=none]]
|
||||
end
|
||||
}
|
||||
|
||||
require("neogit").setup({
|
||||
disable_context_highlighting = true
|
||||
})
|
||||
vim.cmd [[ hi DiffAdd ctermbg=none ]]
|
||||
vim.cmd [[ hi DiffDelete ctermbg=none ]]
|
||||
vim.cmd [[ hi DiffContext ctermbg=none ]]
|
||||
vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]]
|
||||
vim.cmd [[ hi NeogitHunkHeader ctermbg=none ]]
|
||||
|
||||
require("rose-pine").setup({
|
||||
variant = "moon",
|
||||
disable_background = true,
|
||||
disable_float_background = true
|
||||
})
|
||||
|
||||
vim.cmd.colorscheme "rose-pine"
|
||||
|
|
@ -1,6 +1,46 @@
|
|||
-- gc gcc
|
||||
require('mini.comment').setup()
|
||||
-- alt hjkl
|
||||
require('mini.move').setup()
|
||||
|
||||
-- Add surrounding with sa
|
||||
-- Delete surrounding with sd.
|
||||
-- Replace surrounding with sr.
|
||||
-- Find surrounding with sf or sF (move cursor right or left).
|
||||
-- Highlight surrounding with sh<char>.
|
||||
-- 'f' - function call (string of alphanumeric symbols or '_' or '.' followed by balanced '()'). In "input" finds function call, in "output" prompts user to enter function name.
|
||||
-- 't' - tag. In "input" finds tag with same identifier, in "output" prompts user to enter tag name.
|
||||
-- All symbols in brackets '()', '[]', '{}', '<>".
|
||||
-- '?' - interactive. Prompts user to enter left and right parts.
|
||||
require('mini.surround').setup()
|
||||
|
||||
-- :Trim
|
||||
require('mini.trailspace').setup()
|
||||
vim.api.nvim_create_user_command('Trim',
|
||||
function()
|
||||
require("mini.trailspace").trim()
|
||||
end, {}
|
||||
)
|
||||
|
||||
-- prefix \
|
||||
-- `b` - |'background'|.
|
||||
-- `c` - |'cursorline'|.
|
||||
-- `C` - |'cursorcolumn'|.
|
||||
-- `d` - diagnostic (via |vim.diagnostic.enable()| and |vim.diagnostic.disable()|).
|
||||
-- `h` - |'hlsearch'| (or |v:hlsearch| to be precise).
|
||||
-- `i` - |'ignorecase'|.
|
||||
-- `l` - |'list'|.
|
||||
-- `n` - |'number'|.
|
||||
-- `r` - |'relativenumber'|.
|
||||
-- `s` - |'spell'|.
|
||||
-- `w` - |'wrap'|.
|
||||
require('mini.basics').setup({
|
||||
mappings = {
|
||||
windows = true
|
||||
}
|
||||
})
|
||||
|
||||
-- gS
|
||||
require('mini.splitjoin').setup({
|
||||
detect = {
|
||||
separator = '[,;\n]'
|
||||
|
|
@ -10,6 +50,8 @@ require('mini.splitjoin').setup({
|
|||
require('mini.pairs').setup()
|
||||
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
|
||||
|
||||
-- f F t T
|
||||
require('mini.jump').setup()
|
||||
require('mini.jump2d').setup({
|
||||
mappings = { start_jumping = '<leader>s' }
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,74 +1,49 @@
|
|||
-- vim settings
|
||||
-- vim settings ++ mini.nvim.basics
|
||||
----------------------------------------
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.background = "light"
|
||||
vim.opt.backspace = "indent,eol,start"
|
||||
vim.opt.backup = false
|
||||
vim.opt.breakindent = true
|
||||
vim.opt.clipboard = "unnamedplus" -- use system clipboard
|
||||
vim.opt.completeopt = "menuone"
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.expandtab = true -- insert tabs as spaces
|
||||
vim.opt.guicursor = "" -- fixes alacritty changing cursor
|
||||
vim.opt.hidden = true -- dont save when switching buffers
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.ignorecase = true -- ignore case in searches
|
||||
vim.opt.inccommand = "split" -- incremental live completion
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.laststatus = 1
|
||||
vim.opt.list = true
|
||||
vim.opt.listchars:append("trail:·")
|
||||
vim.opt.listchars:append("leadmultispace:╎ ")
|
||||
vim.opt.mouse = "a"
|
||||
vim.opt.nrformats:append("alpha") -- let Ctrl-a do letters as well
|
||||
vim.opt.number = true
|
||||
vim.opt.pastetoggle = "<F2>"
|
||||
vim.opt.path:append("**") -- enable fuzzy :find ing
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.shadafile = "NONE" -- disable shada
|
||||
vim.opt.shiftwidth = 0 -- >> shifts by tabstop
|
||||
vim.opt.showmatch = true -- highlight matching brackets
|
||||
vim.opt.signcolumn= "number"
|
||||
vim.opt.smartcase = true -- unless capital query
|
||||
vim.opt.smartindent = true -- indent according to lang
|
||||
vim.opt.showmode = true
|
||||
vim.opt.softtabstop = -1 -- backspace removes tabstop
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.tabstop = 4 -- 4 space tabs
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.undofile = true -- enable auto save of undos
|
||||
vim.opt.updatetime = 250 -- decrease update time
|
||||
vim.opt.virtualedit = "onemore"
|
||||
vim.opt.wildmenu = true
|
||||
|
||||
vim.g.netrw_banner = 0 -- disable annoying banner
|
||||
vim.g.netrw_altv = 1 -- open splits to the right
|
||||
vim.g.netrw_liststyle = 3 -- tree view
|
||||
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
||||
vim.g.indent_blankline_use_treesitter = true
|
||||
|
||||
-- highlight indents
|
||||
vim.cmd([[ hi Whitespace ctermfg=240 ]])
|
||||
-- highlight floats
|
||||
-- no highlight floats
|
||||
vim.cmd([[ hi NormalFloat ctermbg=none ]])
|
||||
|
||||
-- mappings
|
||||
----------------------------------------
|
||||
|
||||
local remap = function(type, key, value)
|
||||
vim.api.nvim_set_keymap(type,key,value,{noremap = true, silent = true});
|
||||
end
|
||||
|
||||
remap("i", "wq", "<esc>l")
|
||||
remap("v", "wq", "<esc>l")
|
||||
remap("n","gr", "gT")
|
||||
remap("i", "{<CR>", "{<CR>}<Esc>O")
|
||||
remap("i", "(<CR>", "(<CR>)<Esc>O")
|
||||
remap("n", "<C-L>", "<Cmd>nohlsearch<Bar>diffupdate<CR><C-L>")
|
||||
remap("n","n", "nzz")
|
||||
remap("n", "N", "Nzz")
|
||||
remap("n", "Y", "y$")
|
||||
remap("n","[<space>", ":<c-u>put!=repeat([''],v:count)<bar>']+1<cr>")
|
||||
remap("n","]<space>", ":<c-u>put =repeat([''],v:count)<bar>'[-1<cr><Esc>")
|
||||
remap("n","M", "m0i<cr><Esc>`0")
|
||||
|
||||
-- autocmd
|
||||
----------------------------------------
|
||||
|
|
@ -77,20 +52,3 @@ vim.api.nvim_create_autocmd("VimEnter", {
|
|||
command = "silent !mkdir -p " .. undopath,
|
||||
group = vim.api.nvim_create_augroup("Init", {}),
|
||||
})
|
||||
|
||||
local toggle_rel_num = vim.api.nvim_create_augroup("ToggleRelNum", {})
|
||||
vim.api.nvim_create_autocmd("InsertEnter", {
|
||||
command = "set norelativenumber",
|
||||
group = toggle_rel_num,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
||||
command = "set relativenumber",
|
||||
group = toggle_rel_num,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
callback = function()
|
||||
vim.highlight.on_yank({ higroup = "Visual" })
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("YankHighlight", {}),
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@ oil.setup({
|
|||
["wq"] = "actions.close"
|
||||
}
|
||||
})
|
||||
vim.keymap.set("n", "<leader>c", oil.open, {noremap = true, silent = true});
|
||||
vim.keymap.set("n", "<leader>c", oil.toggle_float, {noremap = true, silent = true});
|
||||
|
|
|
|||
|
|
@ -5,11 +5,10 @@ vim.keymap.set("n", "<leader>fg", telescope.git_files, {noremap = true, silent =
|
|||
vim.keymap.set("n", "<leader>fv", telescope.command_history, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader><leader>", telescope.live_grep, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader>8", telescope.grep_string, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader>fd", telescope.lsp_definitions, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader><BS>", telescope.resume, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader>fs", telescope.git_status, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader>fd", telescope.lsp_definitions, {noremap = true, silent = true})
|
||||
vim.keymap.set("n", "<leader>fr", telescope.lsp_references, {noremap = true, silent = true})
|
||||
-- fix highlighting
|
||||
vim.cmd([[ hi telescopeselection ctermfg=242 ctermbg=252 ]])
|
||||
|
||||
local telescope = require("telescope")
|
||||
telescope.setup({
|
||||
|
|
@ -32,20 +31,11 @@ telescope.setup({
|
|||
mappings = {
|
||||
i = {
|
||||
["wq"] = require("telescope.actions").close,
|
||||
["<Esc>"] = require("telescope.actions").close,
|
||||
["<C-k>"] = require("telescope.actions").move_selection_previous,
|
||||
["<C-j>"] = require("telescope.actions").move_selection_next,
|
||||
},
|
||||
},
|
||||
},
|
||||
pickers = {
|
||||
find_files = {
|
||||
hidden = true,
|
||||
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
|
||||
},
|
||||
git_files = {
|
||||
hidden = true,
|
||||
find_command = { 'rg', '--files', '--iglob', '!.git', '--hidden' }
|
||||
},
|
||||
}
|
||||
})
|
||||
telescope.load_extension("fzf")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
require("toggleterm").setup{
|
||||
open_mapping = [[<leader>t]],
|
||||
shade_terminals = true,
|
||||
open_mapping = [[<C-\>]],
|
||||
size = vim.o.lines * 0.4
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
require("nvim-conf")
|
||||
require("telescope-conf")
|
||||
require("toggleterm-conf")
|
||||
require("colors")
|
||||
require("mini-conf")
|
||||
require("gitsigns-conf")
|
||||
require("toggleterm-conf")
|
||||
require("telescope-conf")
|
||||
require("git-conf")
|
||||
require("oil-conf")
|
||||
-- include our config last to override
|
||||
require("nvim-conf")
|
||||
|
|
|
|||
|
|
@ -29,25 +29,25 @@
|
|||
vimAlias = true;
|
||||
withRuby = false;
|
||||
withPython3 = false;
|
||||
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"'';
|
||||
};
|
||||
dependancies = with pkgs; [
|
||||
ripgrep
|
||||
lazygit
|
||||
];
|
||||
full-dependancies = with pkgs; [
|
||||
go
|
||||
gopls
|
||||
];
|
||||
] ++ dependancies;
|
||||
neovim-with-deps = recursiveMerge [
|
||||
pkgs.neovim-unwrapped
|
||||
{ buildInputs = dependancies; }
|
||||
];
|
||||
neovim-with-full-deps = recursiveMerge [
|
||||
pkgs.neovim-unwrapped
|
||||
{ buildInputs = dependancies ++ full-dependancies; }
|
||||
{ buildInputs = full-dependancies; }
|
||||
];
|
||||
in rec {
|
||||
packages.full = pkgs.wrapNeovim neovim-with-full-deps (base // {
|
||||
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath full-dependancies}"'';
|
||||
configure = {
|
||||
customRC =
|
||||
''
|
||||
|
|
@ -64,6 +64,7 @@
|
|||
};
|
||||
});
|
||||
packages.minimal = pkgs.wrapNeovim neovim-with-deps (base // {
|
||||
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependancies}"'';
|
||||
configure = {
|
||||
customRC =
|
||||
''
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue