improve active cursor line
This commit is contained in:
parent
a413fae874
commit
a7d2a70163
@ -20,6 +20,7 @@ require('config.keymaps')
|
||||
require('config.autocmds')
|
||||
require('config.clipboard')
|
||||
require('config.terminal')
|
||||
|
||||
require('lazy').setup({
|
||||
spec = { { import = 'plugins' } },
|
||||
change_detection = { notify = false },
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
{
|
||||
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
|
||||
"invero.nvim": { "branch": "main", "commit": "60b610dbaf84a9c9305b2f3387f41683f7c9f2f0" },
|
||||
"fzf-lua": { "branch": "main", "commit": "58ebb27333bd12cb497f27b7da07a677116bc0ef" },
|
||||
"invero.nvim": { "branch": "main", "commit": "ff1b124ef709686965afdf338d989142e5e60602" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "321bc61580fd066b76861c32de3319c3a6d089e7" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }
|
||||
}
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
-- Automatically create a scratch (no-file) buffer if Neovim starts with no files
|
||||
-- Automatically create a scratch buffer if Neovim starts with no files
|
||||
vim.api.nvim_create_autocmd('VimEnter', {
|
||||
callback = function()
|
||||
-- Only trigger if no file arguments are passed
|
||||
if vim.fn.argc() == 0 then
|
||||
vim.cmd('enew') -- create new buffer
|
||||
vim.cmd('enew')
|
||||
vim.bo.buftype = 'nofile'
|
||||
vim.bo.bufhidden = 'wipe'
|
||||
vim.bo.swapfile = false
|
||||
@ -27,7 +27,7 @@ vim.api.nvim_create_autocmd('FileType', {
|
||||
})
|
||||
|
||||
-- Show cursor line only in active window
|
||||
vim.api.nvim_create_autocmd({ 'InsertLeave', 'WinEnter' }, {
|
||||
vim.api.nvim_create_autocmd({ 'WinEnter', 'InsertLeave' }, {
|
||||
callback = function()
|
||||
if vim.w.auto_cursorline then
|
||||
vim.wo.cursorline = true
|
||||
@ -35,8 +35,12 @@ vim.api.nvim_create_autocmd({ 'InsertLeave', 'WinEnter' }, {
|
||||
end
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_create_autocmd({ 'InsertEnter', 'WinLeave' }, {
|
||||
|
||||
vim.api.nvim_create_autocmd({ 'WinLeave', 'InsertEnter' }, {
|
||||
callback = function()
|
||||
if vim.bo.filetype == 'NvimTree' then
|
||||
return
|
||||
end
|
||||
if vim.wo.cursorline then
|
||||
vim.w.auto_cursorline = true
|
||||
vim.wo.cursorline = false
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
|
||||
-- Disable features
|
||||
-- Disable built-in plugins
|
||||
vim.loader.enable()
|
||||
vim.g.loaded_gzip = 1
|
||||
vim.g.loaded_tar = 1
|
||||
@ -18,51 +18,60 @@ vim.g.loaded_2html_plugin = 1
|
||||
vim.g.loaded_rrhelper = 1
|
||||
vim.g.loaded_netrw = 1 -- use nvim-tree instead
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
vim.g.loaded_matchparen = 1
|
||||
|
||||
-- UI
|
||||
vim.g.health = { style = 'float' }
|
||||
vim.g.have_nerd_font = true
|
||||
vim.opt.termguicolors = true -- TrueColor
|
||||
vim.opt.colorcolumn = '100' -- Vertical guide at column 100
|
||||
vim.opt.signcolumn = 'no' -- Hide sign column
|
||||
vim.opt.cursorline = true -- Highlight current line
|
||||
vim.opt.guicursor = 'n-v-i-c:block' -- Block cursor shape
|
||||
vim.opt.number = true -- Show absolute line numbers
|
||||
vim.opt.relativenumber = true -- Show relative numbers
|
||||
vim.opt.statusline = '%F%m%r%h%w%=%l,%c %P ' -- Custom statusline
|
||||
vim.opt.termguicolors = false
|
||||
|
||||
vim.opt.wrap = false -- Line wrapping
|
||||
vim.opt.linebreak = true -- Wrap long lines at convenient points
|
||||
vim.opt.breakindent = true -- Preserve indent when wrapping long lines
|
||||
vim.opt.textwidth = 100
|
||||
vim.opt.colorcolumn = '+0'
|
||||
|
||||
-- Editing
|
||||
vim.opt.signcolumn = 'no'
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.guicursor = 'n-v-i-c:block'
|
||||
vim.opt.statusline = '%F%m%r%h%w%=%l,%c %P '
|
||||
vim.opt.winborder = 'rounded'
|
||||
|
||||
-- Wrap
|
||||
vim.opt.wrap = false
|
||||
vim.opt.linebreak = true
|
||||
vim.opt.breakindent = true
|
||||
|
||||
-- Indent
|
||||
vim.opt.shiftwidth = 2 -- Number of spaces to use for (auto)indent
|
||||
vim.opt.tabstop = 2 -- Number of spaces that a <Tab> in file counts for
|
||||
vim.opt.softtabstop = 2 -- Number of spaces when pressing <Tab> in insert mode
|
||||
vim.opt.expandtab = true -- Use spaces instead of literal tab characters
|
||||
vim.opt.autoindent = true -- Copy indent from the current line when starting a new one
|
||||
vim.opt.smartindent = true -- Automatically inserts indents in code blocks (for C-like languages)
|
||||
vim.opt.completeopt = { 'menuone' }
|
||||
|
||||
-- Scroll and mouse
|
||||
vim.opt.scrolloff = 10 -- Keep lines visible above/below cursor
|
||||
vim.opt.mousescroll = 'hor:1,ver:1' -- Scroll lines/columns
|
||||
vim.opt.mouse = 'a' -- Enable mouse mode
|
||||
vim.opt.scrolloff = 10
|
||||
vim.opt.sidescrolloff = 5
|
||||
vim.opt.mousescroll = 'hor:1,ver:5'
|
||||
vim.opt.mouse = 'a' -- Enable mouse support
|
||||
|
||||
-- Search
|
||||
vim.opt.ignorecase = true -- Case-insensitive search
|
||||
vim.opt.smartcase = true -- Smart-case search
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true -- Override ignorecase if search contains upper case chars
|
||||
vim.opt.inccommand = 'split' -- Live substitution preview
|
||||
vim.opt.completeopt = { 'menuone' }
|
||||
|
||||
-- Splits
|
||||
vim.opt.splitright = true -- Vertical splits to the right
|
||||
vim.opt.splitbelow = true -- Horizontal splits below
|
||||
vim.opt.splitright = true
|
||||
vim.opt.splitbelow = true
|
||||
|
||||
-- Performance and persistence
|
||||
vim.opt.undofile = true -- Save undo history
|
||||
vim.opt.undodir = vim.fn.stdpath('state') .. '/undo'
|
||||
-- Persistence
|
||||
vim.opt.undofile = true
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.writebackup = false
|
||||
vim.opt.updatetime = 250 -- Faster updates
|
||||
vim.opt.timeoutlen = 300 -- Shorter keymap timeout
|
||||
|
||||
-- Tweaks
|
||||
vim.opt.updatetime = 1000
|
||||
vim.opt.timeout = true
|
||||
vim.opt.ttimeout = true
|
||||
vim.opt.timeoutlen = 500
|
||||
vim.opt.ttimeoutlen = 10
|
||||
|
||||
@ -1,25 +1,24 @@
|
||||
return {
|
||||
-- {
|
||||
-- 'windwp/nvim-ts-autotag',
|
||||
-- opts = {
|
||||
-- autotag = {
|
||||
-- enable = true,
|
||||
-- enable_close = true,
|
||||
-- enable_rename = true,
|
||||
-- enable_close_on_slash = true,
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
{
|
||||
'windwp/nvim-autopairs',
|
||||
event = 'InsertEnter',
|
||||
config = true,
|
||||
},
|
||||
{ 'windwp/nvim-ts-autotag', config = true },
|
||||
{ 'windwp/nvim-autopairs', event = 'InsertEnter', config = true },
|
||||
{
|
||||
'triimdev/invero.nvim',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.api.nvim_create_user_command('ReloadInvero', function()
|
||||
require('invero').invalidate_cache()
|
||||
vim.cmd('Lazy reload invero.nvim')
|
||||
end, {})
|
||||
|
||||
-- require('invero').setup({
|
||||
-- highlights = function(C, tool)
|
||||
-- return {
|
||||
-- -- Statement = { fg = C.none, italic = true },
|
||||
-- }
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
vim.o.background = 'light'
|
||||
vim.cmd.colorscheme('invero')
|
||||
end,
|
||||
|
||||
@ -1,48 +1,52 @@
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
event = 'VimEnter',
|
||||
branch = '0.1.x',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
{
|
||||
'nvim-telescope/telescope-fzf-native.nvim',
|
||||
build = 'make',
|
||||
cond = function()
|
||||
return vim.fn.executable('make') == 1
|
||||
end,
|
||||
},
|
||||
{ 'nvim-telescope/telescope-ui-select.nvim' },
|
||||
},
|
||||
config = function()
|
||||
require('telescope').setup({
|
||||
defaults = {
|
||||
layout_strategy = 'vertical',
|
||||
layout_config = {
|
||||
width = { 0.95, max = 100 },
|
||||
height = 0.95,
|
||||
preview_cutoff = 1,
|
||||
preview_height = 0.7,
|
||||
},
|
||||
mappings = {
|
||||
n = {
|
||||
['d'] = 'delete_buffer',
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
pcall(require('telescope').load_extension, 'fzf')
|
||||
pcall(require('telescope').load_extension, 'ui-select')
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>sk', builtin.keymaps)
|
||||
vim.keymap.set('n', '<leader>sf', builtin.find_files)
|
||||
vim.keymap.set('n', '<leader>sw', builtin.grep_string)
|
||||
vim.keymap.set('n', '<leader>ss', builtin.current_buffer_fuzzy_find)
|
||||
vim.keymap.set('n', '<leader>sg', builtin.live_grep)
|
||||
vim.keymap.set('n', '<leader>sd', builtin.diagnostics)
|
||||
vim.keymap.set('n', '<leader>sr', builtin.lsp_references)
|
||||
vim.keymap.set('n', '<leader>s.', builtin.oldfiles)
|
||||
vim.keymap.set('n', '<leader><leader>', builtin.buffers)
|
||||
end,
|
||||
'ibhagwan/fzf-lua',
|
||||
opts = {},
|
||||
}
|
||||
-- return {
|
||||
-- 'nvim-telescope/telescope.nvim',
|
||||
-- event = 'VimEnter',
|
||||
-- branch = '0.1.x',
|
||||
-- dependencies = {
|
||||
-- 'nvim-lua/plenary.nvim',
|
||||
-- {
|
||||
-- 'nvim-telescope/telescope-fzf-native.nvim',
|
||||
-- build = 'make',
|
||||
-- cond = function()
|
||||
-- return vim.fn.executable('make') == 1
|
||||
-- end,
|
||||
-- },
|
||||
-- { 'nvim-telescope/telescope-ui-select.nvim' },
|
||||
-- },
|
||||
-- config = function()
|
||||
-- require('telescope').setup({
|
||||
-- defaults = {
|
||||
-- layout_strategy = 'vertical',
|
||||
-- layout_config = {
|
||||
-- width = { 0.95, max = 100 },
|
||||
-- height = 0.95,
|
||||
-- preview_cutoff = 1,
|
||||
-- preview_height = 0.7,
|
||||
-- },
|
||||
-- mappings = {
|
||||
-- n = {
|
||||
-- ['d'] = 'delete_buffer',
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
--
|
||||
-- pcall(require('telescope').load_extension, 'fzf')
|
||||
-- pcall(require('telescope').load_extension, 'ui-select')
|
||||
--
|
||||
-- local builtin = require('telescope.builtin')
|
||||
-- vim.keymap.set('n', '<leader>sk', builtin.keymaps)
|
||||
-- vim.keymap.set('n', '<leader>sf', builtin.find_files)
|
||||
-- vim.keymap.set('n', '<leader>sw', builtin.grep_string)
|
||||
-- vim.keymap.set('n', '<leader>ss', builtin.current_buffer_fuzzy_find)
|
||||
-- vim.keymap.set('n', '<leader>sg', builtin.live_grep)
|
||||
-- vim.keymap.set('n', '<leader>sd', builtin.diagnostics)
|
||||
-- vim.keymap.set('n', '<leader>sr', builtin.lsp_references)
|
||||
-- vim.keymap.set('n', '<leader>s.', builtin.oldfiles)
|
||||
-- vim.keymap.set('n', '<leader><leader>', builtin.buffers)
|
||||
-- end,
|
||||
-- }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user