207 current 2025-01-11 04:26:36 25.05.20241217.d3c42f1 6.6.66 *
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-nix
|
||||
vim-airline-themes
|
||||
# coc-nvim
|
||||
{
|
||||
plugin = goyo-vim;
|
||||
@@ -45,6 +46,14 @@
|
||||
plugin = nvim-tree-lua;
|
||||
config = toLuaFile ./plugins/nvimtree.lua;
|
||||
}
|
||||
{
|
||||
plugin = vim-airline;
|
||||
config = toLuaFile ./plugins/airline.lua;
|
||||
}
|
||||
{
|
||||
plugin = barbar-nvim;
|
||||
config = toLuaFile ./plugins/bufferline.lua;
|
||||
}
|
||||
];
|
||||
|
||||
# extraConfig = lib.fileContents ./init.vim;
|
||||
|
||||
30
home/programs/nvim/plugins/airline.lua
Normal file
30
home/programs/nvim/plugins/airline.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
-- Set airline theme
|
||||
vim.g.airline_theme = 'simple'
|
||||
|
||||
-- Initialize airline symbols if not already defined
|
||||
vim.g.airline_symbols = vim.g.airline_symbols or {}
|
||||
|
||||
-- Configure airline symbols
|
||||
vim.g.airline_symbols.crypt = '🔒'
|
||||
vim.g.airline_symbols.linenr = '☰'
|
||||
vim.g.airline_symbols.maxlinenr = ''
|
||||
vim.g.airline_symbols.paste = 'ρ'
|
||||
vim.g.airline_symbols.spell = 'Ꞩ'
|
||||
vim.g.airline_symbols.notexists = 'Ɇ'
|
||||
vim.g.airline_symbols.whitespace = 'Ξ'
|
||||
|
||||
-- Powerline symbols (requires appropriate fonts)
|
||||
vim.g.airline_left_sep = ''
|
||||
vim.g.airline_left_alt_sep = ''
|
||||
vim.g.airline_right_sep = ''
|
||||
vim.g.airline_right_alt_sep = ''
|
||||
vim.g.airline_symbols.branch = ''
|
||||
vim.g.airline_symbols.linenr = '☰ '
|
||||
|
||||
-- Configure bufferline extension
|
||||
-- vim.g.airline#extensions#tabline#enabled = 1
|
||||
vim.g.airline_extensions_tabline_formatter = 'unique_tail'
|
||||
|
||||
-- Set global statusline
|
||||
vim.opt.laststatus = 3
|
||||
|
||||
80
home/programs/nvim/plugins/bufferline.lua
Normal file
80
home/programs/nvim/plugins/bufferline.lua
Normal file
@@ -0,0 +1,80 @@
|
||||
-- Ensure bufferline configuration exists
|
||||
local bufferline = vim.g.bufferline or {}
|
||||
|
||||
-- Enable/disable animations
|
||||
bufferline.animation = true
|
||||
|
||||
-- Enable/disable auto-hiding the tab bar when there is a single buffer
|
||||
-- bufferline.auto_hide = false
|
||||
|
||||
-- Enable/disable current/total tabpages indicator (top right corner)
|
||||
bufferline.tabpages = true
|
||||
|
||||
-- Enable/disable close button
|
||||
bufferline.closable = true
|
||||
|
||||
-- Enable/disable clickable tabs
|
||||
-- - left-click: go to buffer
|
||||
-- - middle-click: delete buffer
|
||||
bufferline.clickable = true
|
||||
|
||||
-- Exclude buffers from the tabline
|
||||
-- bufferline.exclude_ft = { 'javascript' }
|
||||
-- bufferline.exclude_name = { 'package.json' }
|
||||
|
||||
-- Enable/disable icons
|
||||
-- Options: 'buffer_number', 'numbers', 'both', 'buffer_number_with_icon'
|
||||
bufferline.icons = true
|
||||
|
||||
-- Use nvim-web-devicons colors if false
|
||||
bufferline.icon_custom_colors = false
|
||||
|
||||
-- Configure icons on the bufferline
|
||||
bufferline.icon_separator_active = '▎'
|
||||
bufferline.icon_separator_inactive = '▎'
|
||||
bufferline.icon_close_tab = ''
|
||||
bufferline.icon_close_tab_modified = '●'
|
||||
bufferline.icon_pinned = '車'
|
||||
|
||||
-- Configure buffer insertion position
|
||||
bufferline.insert_at_start = false
|
||||
bufferline.insert_at_end = false
|
||||
|
||||
-- Set maximum padding width
|
||||
bufferline.maximum_padding = 4
|
||||
|
||||
-- Set maximum buffer name length
|
||||
bufferline.maximum_length = 30
|
||||
|
||||
-- Enable semantic letters for buffer-pick mode
|
||||
bufferline.semantic_letters = true
|
||||
|
||||
-- Define buffer letters order for buffer-pick mode
|
||||
bufferline.letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP'
|
||||
|
||||
-- Set name for unnamed buffers
|
||||
bufferline.no_name_title = nil
|
||||
|
||||
-- Mappings
|
||||
vim.keymap.set('n', '<A-,>', '<Cmd>BufferPrevious<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-.>', '<Cmd>BufferNext<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-<>', '<Cmd>BufferMovePrevious<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A->>', '<Cmd>BufferMoveNext<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-0>', '<Cmd>BufferLast<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-p>', '<Cmd>BufferPin<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<A-c>', '<Cmd>BufferClose<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<C-p>', '<Cmd>BufferPick<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', { silent = true })
|
||||
vim.keymap.set('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', { silent = true })
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
-- buh https://gist.github.com/mrpmohiburrahman/b7ec0d47cd043d3a2ed4c10a20504d4e
|
||||
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user