From 921f86dd59550c7a6e0c0746752ab9f7db0b3c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Sun, 13 Jul 2025 10:05:30 +0200 Subject: [PATCH] nvim: autorelative number --- .config/nvim/lua/opts.lua | 1 - .config/nvim/plugin/autocommands.lua | 19 ++++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/opts.lua b/.config/nvim/lua/opts.lua index f1b1fd4f..1ded4a97 100644 --- a/.config/nvim/lua/opts.lua +++ b/.config/nvim/lua/opts.lua @@ -6,7 +6,6 @@ vim.o.ignorecase = true vim.o.smartcase = true vim.o.number = true -vim.o.relativenumber = true vim.o.signcolumn = "yes" vim.o.expandtab = true diff --git a/.config/nvim/plugin/autocommands.lua b/.config/nvim/plugin/autocommands.lua index 3dcbf999..e4bf06a0 100644 --- a/.config/nvim/plugin/autocommands.lua +++ b/.config/nvim/plugin/autocommands.lua @@ -28,7 +28,7 @@ vim.api.nvim_create_autocmd("OptionSet", { pattern = "textwidth", callback = set_colorcolumn_from_textwidth, }) -vim.api.nvim_create_autocmd("BufEnter", { +vim.api.nvim_create_autocmd("BufWinEnter", { group = auto_colorcolumn, callback = function() if vim.bo.textwidth then @@ -53,3 +53,20 @@ vim.api.nvim_create_autocmd("WinLeave", { group = auto_cursorline, callback = function() vim.wo.cursorline = false end, }) + +local auto_linenr = vim.api.nvim_create_augroup("AutoLineNr", {}) +vim.api.nvim_create_autocmd({ "VimEnter", "WinEnter", "BufWinEnter" }, { + group = auto_linenr, + callback = function() + -- fugitive, for example, doesn't have numbers + -- if I set relative number I'll get numbers and we don't want that + if vim.wo.number then + vim.wo.relativenumber = true + end + end, +}) + +vim.api.nvim_create_autocmd("WinLeave", { + group = auto_linenr, + callback = function() vim.wo.relativenumber = false end, +})