initial commit
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- Move to previous/next
|
||||
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
|
||||
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
|
||||
|
||||
-- Re-order to previous/next
|
||||
map('n', '<A-<>', '<Cmd>BufferMovePrevious<CR>', opts)
|
||||
map('n', '<A->>', '<Cmd>BufferMoveNext<CR>', opts)
|
||||
|
||||
-- Goto buffer in position...
|
||||
map('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', opts)
|
||||
map('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', opts)
|
||||
map('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', opts)
|
||||
map('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', opts)
|
||||
map('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', opts)
|
||||
map('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', opts)
|
||||
map('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', opts)
|
||||
map('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', opts)
|
||||
map('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', opts)
|
||||
map('n', '<A-0>', '<Cmd>BufferLast<CR>', opts)
|
||||
|
||||
-- Pin/unpin buffer
|
||||
map('n', '<A-p>', '<Cmd>BufferPin<CR>', opts)
|
||||
|
||||
-- Goto pinned/unpinned buffer
|
||||
-- :BufferGotoPinned
|
||||
-- :BufferGotoUnpinned
|
||||
|
||||
-- Close buffer
|
||||
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
|
||||
|
||||
-- Wipeout buffer
|
||||
-- :BufferWipeout
|
||||
|
||||
-- Close commands
|
||||
-- :BufferCloseAllButCurrent
|
||||
-- :BufferCloseAllButPinned
|
||||
-- :BufferCloseAllButCurrentOrPinned
|
||||
-- :BufferCloseBuffersLeft
|
||||
-- :BufferCloseBuffersRight
|
||||
|
||||
-- Magic buffer-picking mode
|
||||
map('n', '<C-p>', '<Cmd>BufferPick<CR>', opts)
|
||||
map('n', '<C-s-p>', '<Cmd>BufferPickDelete<CR>', opts)
|
||||
|
||||
-- Sort automatically by...
|
||||
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', opts)
|
||||
map('n', '<Space>bn', '<Cmd>BufferOrderByName<CR>', opts)
|
||||
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', opts)
|
||||
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', opts)
|
||||
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', opts)
|
||||
|
||||
-- Other:
|
||||
-- :BarbarEnable - enables barbar (enabled by default)
|
||||
-- :BarbarDisable - very bad command, should never be used
|
||||
|
||||
vim.g.barbar_auto_setup = false -- disable auto-setup
|
||||
|
||||
require'barbar'.setup {
|
||||
-- Enable/disable animations
|
||||
animation = true,
|
||||
|
||||
-- Automatically hide the tabline when there are this many buffers left.
|
||||
-- Set to any value >=0 to enable.
|
||||
auto_hide = false,
|
||||
|
||||
-- Enable/disable current/total tabpages indicator (top right corner)
|
||||
tabpages = true,
|
||||
|
||||
-- Enables/disable clickable tabs
|
||||
-- - left-click: go to buffer
|
||||
-- - middle-click: delete buffer
|
||||
clickable = true,
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- "Focus" commands that rely on the Goyo plugin
|
||||
vim.api.nvim_set_keymap("n", "<C-a>z", ":Goyo 80<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "<C-a>q", ":Goyo!<CR>", opts)
|
||||
|
||||
-- https://github.com/junegunn/goyo.vim/issues/180
|
||||
-- automatically resize goyo when nvim resizes
|
||||
vim.api.nvim_create_autocmd("VimResized", {
|
||||
callback = function()
|
||||
if vim.t.goyo_master == 1 then
|
||||
vim.cmd([[exe "normal \<c-w>="]])
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- vim.api.nvim_create_autocmd("VimResized", {
|
||||
-- callback = function()
|
||||
-- if vim.fn.exists('#goyo') == 1 then
|
||||
-- vim.cmd("normal <C-w>=")
|
||||
-- end
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- hide and unhide lualine when entering and leaving goyo
|
||||
|
||||
local lualine = require('lualine')
|
||||
local grp = vim.api.nvim_create_augroup('goyo_lualine_toggle', { clear = true })
|
||||
|
||||
local function hide() lualine.hide{ place = {'statusline', 'winbar', 'tabline'} } end
|
||||
local function unhide() lualine.hide{ place = {'statusline', 'winbar', 'tabline'}, unhide = true } end
|
||||
|
||||
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
group = grp,
|
||||
pattern = 'GoyoEnter',
|
||||
callback = function()
|
||||
lualine.hide({ place = {'statusline', 'winbar', 'tabline'} })
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
group = grp,
|
||||
pattern = 'GoyoLeave',
|
||||
callback = function()
|
||||
lualine.hide({ place = {'statusline', 'winbar', 'tabline'}, unhide = true })
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('VimEnter', {
|
||||
group = grp,
|
||||
once = true,
|
||||
callback = function()
|
||||
local w = vim.g.goyo_if
|
||||
if w then
|
||||
vim.schedule(hide)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('UIEnter', {
|
||||
once = true,
|
||||
group = grp,
|
||||
callback = function()
|
||||
local w = vim.g.goyo_if
|
||||
if w then
|
||||
vim.opt.showtabline = 0
|
||||
vim.cmd('BarbarDisable')
|
||||
end
|
||||
end,
|
||||
})
|
||||
@@ -0,0 +1,67 @@
|
||||
-- Bubbles config for lualine
|
||||
-- Author: lokesh-krishna
|
||||
-- MIT license, see LICENSE for more details.
|
||||
|
||||
-- stylua: ignore
|
||||
-- ripped from https://lospec.com/palette-list/tokyo-night
|
||||
local colors = {
|
||||
blue = '#80a0ff',
|
||||
cyan = '#79dac8',
|
||||
black = '#080808',
|
||||
white = '#c6c6c6',
|
||||
red = '#ff5189',
|
||||
violet = '#d183e8',
|
||||
grey = '#303030',
|
||||
deepblue = '#292e42',
|
||||
deepcyan = '#3b4261',
|
||||
deepred = '#c53b53',
|
||||
lightblue = '#737aa2'
|
||||
}
|
||||
|
||||
local bubbles_theme = {
|
||||
normal = {
|
||||
a = { fg = colors.black, bg = colors.lightblue },
|
||||
b = { fg = colors.white, bg = colors.grey },
|
||||
c = { fg = colors.white },
|
||||
},
|
||||
|
||||
insert = { a = { fg = colors.black, bg = colors.deepblue } },
|
||||
visual = { a = { fg = colors.black, bg = colors.deepred } },
|
||||
replace = { a = { fg = colors.black, bg = colors.violet } },
|
||||
|
||||
inactive = {
|
||||
a = { fg = colors.white, bg = colors.black },
|
||||
b = { fg = colors.white, bg = colors.black },
|
||||
c = { fg = colors.white },
|
||||
},
|
||||
}
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = bubbles_theme,
|
||||
component_separators = '',
|
||||
section_separators = { left = '', right = '' },
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { { 'mode', right_padding = 1 } },
|
||||
lualine_b = { 'filename', 'branch' },
|
||||
lualine_c = {
|
||||
'%=', --[[ add your center compoentnts here in place of this comment ]]
|
||||
},
|
||||
lualine_x = {},
|
||||
lualine_y = { 'filetype' ,'progress' },
|
||||
lualine_z = {
|
||||
{ 'location', left_padding = 1 },
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = { 'filename' },
|
||||
lualine_b = {},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {},
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
vim.cmd[[
|
||||
" Use Tab to expand and jump through snippets
|
||||
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
|
||||
smap <silent><expr> <Tab> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<Tab>'
|
||||
|
||||
" Use Shift-Tab to jump backwards through snippets
|
||||
imap <silent><expr> <S-Tab> luasnip#jumpable(-1) ? '<Plug>luasnip-jump-prev' : '<S-Tab>'
|
||||
smap <silent><expr> <S-Tab> luasnip#jumpable(-1) ? '<Plug>luasnip-jump-prev' : '<S-Tab>'
|
||||
|
||||
" Expand or jump in insert mode
|
||||
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
|
||||
|
||||
" Jump forward through tabstops in visual mode
|
||||
smap <silent><expr> <Tab> luasnip#jumpable(1) ? '<Plug>luasnip-jump-next' : '<Tab>'
|
||||
]]
|
||||
|
||||
require("luasnip").config.set_config({ -- Setting LuaSnip config
|
||||
|
||||
-- Enable autotriggered snippets
|
||||
enable_autosnippets = true,
|
||||
|
||||
-- Use Tab (or some other key if you prefer) to trigger visual selection
|
||||
store_selection_keys = "<Tab>",
|
||||
})
|
||||
|
||||
-- JAKENOTE, relative imports *do not work* with nixos. don't GG yourself blud.
|
||||
require("luasnip.loaders.from_lua").load({
|
||||
paths = vim.fn.stdpath('config') .. "/snippets/"
|
||||
})
|
||||
|
||||
-- require("luasnip.loaders.from_lua").lazy_load({paths = "./snippets/"})
|
||||
@@ -0,0 +1,4 @@
|
||||
-- browser
|
||||
vim.g.mkdp_browser = "firefox"
|
||||
-- keybindings
|
||||
vim.keymap.set("n", "<leader>m", "<plug>MarkdownPreview")
|
||||
@@ -0,0 +1,19 @@
|
||||
-- require('mini.animate').setup()
|
||||
|
||||
-- require('mini.animate').setup({
|
||||
-- cursor = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- scroll = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- resize = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- open = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- close = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- })
|
||||
@@ -0,0 +1,6 @@
|
||||
vim.g.NERDSpaceDelims = 1;
|
||||
vim.g.NERDAltDelims_c = 1;
|
||||
|
||||
-- the _ key is actually / because nvim/vim does not recognize that!
|
||||
-- vmap <C-_> <plug>NERDCommenterToggle"
|
||||
-- nmap <C-_> <plug>NERDCommenterToggle
|
||||
@@ -0,0 +1,58 @@
|
||||
-- buh https://gist.github.com/mrpmohiburrahman/b7ec0d47cd043d3a2ed4c10a20504d4e
|
||||
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
local function my_on_attach(bufnr)
|
||||
local api = require "nvim-tree.api"
|
||||
|
||||
local function opts(desc)
|
||||
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
|
||||
-- default mappings
|
||||
api.config.mappings.default_on_attach(bufnr)
|
||||
|
||||
vim.keymap.set("n", "+", api.tree.change_root_to_node, opts "CD")
|
||||
vim.keymap.set("n", "?", api.tree.toggle_help, opts "Help")
|
||||
vim.keymap.set("n", "<ESC>", api.tree.close, opts "Close")
|
||||
|
||||
-- custom mappings
|
||||
-- vim.keymap.set('n', '<C-o>', api.tree.open(), opts('Up'))
|
||||
-- vim.keymap.set('n', '<C-o>', api.tree.close(), opts('Up'))
|
||||
-- vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help'))
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "<C-o>", "<cmd>NvimTreeToggle<CR>", {
|
||||
desc = "Toggle NvimTree"
|
||||
})
|
||||
|
||||
require('nvim-tree').setup()
|
||||
|
||||
require('nvim-tree').setup({
|
||||
on_attach = my_on_attach,
|
||||
sort_by = 'case_sensitive',
|
||||
view = {
|
||||
adaptive_size = false,
|
||||
-- mappings = {
|
||||
-- list = {
|
||||
-- { key = 'u', action = 'dir_up' },
|
||||
-- },
|
||||
-- },
|
||||
width = 30,
|
||||
},
|
||||
renderer = {
|
||||
group_empty = true,
|
||||
},
|
||||
filters = {
|
||||
dotfiles = true,
|
||||
exclude = {".git", ".jpg", ".mp4", ".ogg", ".iso", ".pdf", ".odt", ".png", ".gif", ".db", ".class"},
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
resize_window = false
|
||||
}
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1 @@
|
||||
vim.b.presenting_slide_separator = "---"
|
||||
@@ -0,0 +1,11 @@
|
||||
require('smear_cursor').setup({
|
||||
scroll_buffer_space = false,
|
||||
smear_between_buffers = false,
|
||||
smear_between_neighbor_lines = false,
|
||||
scroll_buffer_space = false,
|
||||
stiffness = 0.5,
|
||||
trailing_stiffness = 0.5,
|
||||
matrix_pixel_threshold = 0.5,
|
||||
damping = 0.9999, -- how "bouncy" the cursor is. 1 makes the cursor freeze in the top left lmao
|
||||
smear_insert_mode = false,
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
if vim.g.goyo_if then
|
||||
return
|
||||
end
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.g.mapleader = ","
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||
@@ -0,0 +1,31 @@
|
||||
-- Tokyonight configuration in Lua
|
||||
|
||||
require("tokyonight").setup({
|
||||
-- use the night style
|
||||
style = "night",
|
||||
-- disable italic for functions
|
||||
styles = {
|
||||
functions = {}
|
||||
},
|
||||
-- Change the "hint" color to the "orange" color, and make the "error" color bright red
|
||||
on_colors = function(colors)
|
||||
-- colors.hint = colors.orange
|
||||
colors.bg = "#0d0d0d" -- dark af bruh
|
||||
colors.fg = "#e3e1e1"
|
||||
end
|
||||
})
|
||||
|
||||
vim.cmd([[
|
||||
colorscheme tokyonight
|
||||
]])
|
||||
|
||||
|
||||
-- vim.g.tokyonight_style = "day"
|
||||
-- vim.g.tokyonight_italic_functions = true
|
||||
-- vim.g.tokyonight_sidebars = { "qf", "vista_kind", "terminal", "packer" }
|
||||
|
||||
-- vim.g.tokyonight_colors = {
|
||||
-- bg_dark = "#ff0000",
|
||||
-- bg = "#0d0d0d",
|
||||
-- fg = "#e3e1e1",
|
||||
-- }
|
||||
@@ -0,0 +1,16 @@
|
||||
require('nvim-treesitter.configs').setup {
|
||||
ensure_installed = {},
|
||||
auto_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
}
|
||||
|
||||
require('nvim-treesitter.configs').setup({
|
||||
highlight = {
|
||||
enable = true, -- keep TS for everything else
|
||||
disable = { "markdown", "markdown_inline" },
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = { enable = false },
|
||||
incremental_selection = { enable = false },
|
||||
})
|
||||
@@ -0,0 +1,53 @@
|
||||
-- Enable filetype plugins, indent, and syntax highlighting.
|
||||
vim.cmd("filetype plugin indent on")
|
||||
vim.cmd("syntax enable")
|
||||
|
||||
-- Viewer options: either with a built-in viewer method or with a generic interface.
|
||||
vim.g.vimtex_view_method = 'zathura'
|
||||
vim.g.vimtex_view_general_viewer = 'zathura'
|
||||
vim.g.vimtex_view_general_options = '--unique file:@pdf#src:@line@tex'
|
||||
|
||||
-- Set the TeX flavor and quickfix mode.
|
||||
vim.g.tex_flavor = 'latex'
|
||||
-- vim.g.vimtex_quickfix_mode = 0
|
||||
-- vim.g.vimtex_quickfix_enabled = 0
|
||||
|
||||
-- Compiler backend.
|
||||
-- vim.g.vimtex_compiler_method = 'latexmk'
|
||||
vim.g.vimtex_quickfix_autoclose_after_keystrokes = 3
|
||||
vim.g.vimtex_compiler_method = "tectonic"
|
||||
vim.g.vimtex_compiler_tectonic = {
|
||||
options = {
|
||||
"--keep-intermediates", -- faster compile times
|
||||
"--keep-logs",
|
||||
"--synctex",
|
||||
"-Z shell-escape",
|
||||
-- "-Z deterministic-mode", -- breaks synctex
|
||||
},
|
||||
}
|
||||
|
||||
-- Set the local leader (default is "\"; here we change it to comma).
|
||||
vim.g.maplocalleader = ','
|
||||
|
||||
-- Configure warnings to ignore.
|
||||
-- vim.g.Tex_IgnoredWarnings = [[
|
||||
-- Package hyperref Warning
|
||||
-- Token not allowed in a PDF string (Unicode)
|
||||
-- removing math shift
|
||||
-- removing superscript
|
||||
-- Underfull
|
||||
-- Overfull
|
||||
-- specifier changed to
|
||||
-- You have requested
|
||||
-- Missing number, treated as zero.
|
||||
-- There were undefined references
|
||||
-- Citation %.%# undefined
|
||||
-- Double space found.
|
||||
-- ]]
|
||||
-- vim.g.Tex_IgnoreLevel = 8
|
||||
|
||||
-- Delete extra compilation files when a TeX buffer is deleted.
|
||||
-- vim.api.nvim_create_autocmd("BufDelete", {
|
||||
-- pattern = "*.tex",
|
||||
-- command = "silent! !latexmk -c > /dev/null 2>&1 %:p",
|
||||
-- })
|
||||
Reference in New Issue
Block a user