diff --git a/.config/nvim/after/plugin/fugitive.lua b/.config/nvim/after/plugin/fugitive.lua new file mode 100644 index 0000000..80c9070 --- /dev/null +++ b/.config/nvim/after/plugin/fugitive.lua @@ -0,0 +1 @@ +vim.keymap.set("n", "gs", vim.cmd.Git) diff --git a/.config/nvim/after/plugin/heirline.lua b/.config/nvim/after/plugin/heirline.lua new file mode 100644 index 0000000..1e8b21e --- /dev/null +++ b/.config/nvim/after/plugin/heirline.lua @@ -0,0 +1,345 @@ + +local augroup = vim.api.nvim_create_augroup('config', {clear = false}) + +-- stolen from https://gitlab.com/Iron_E/dotfiles/-/blob/master/.config/nvim/lua/plugin/heirline.lua + + +--[[ + _ _ _ _ _ +| |__ ___(_)_ __| (_)_ __ ___ _ ____ _(_)_ __ ___ +| '_ \ / _ \ | '__| | | '_ \ / _ \ | '_ \ \ / / | '_ ` _ \ +| | | | __/ | | | | | | | | __/_| | | \ V /| | | | | | | +|_| |_|\___|_|_| |_|_|_| |_|\___(_)_| |_|\_/ |_|_| |_| |_| +--]] + +local devicons = require 'nvim-web-devicons' + +--[[/* CONSTANTS */]] + +-- Defined in https://github.com/Iron-E/nvim-highlite +local BLACK = '#202020' +local BLUE = '#7766ff' +local CYAN = '#33dbc3' +local GRAY_DARK = '#353535' +local GRAY_LIGHT = '#c0c0c0' +local GREEN = '#22ff22' +local GREEN_DARK = '#70d533' +local GREEN_LIGHT = '#99ff99' +local ICE = '#95c5ff' +local MAGENTA = '#d5508f' +local MAGENTA_DARK = '#bb0099' +local ORANGE = '#ff8900' +local ORANGE_LIGHT = '#f0af00' +local PINK = '#ffa6ff' +local PINK_LIGHT = '#ffb7b7' +local PURPLE = '#cf55f0' +local PURPLE_LIGHT = '#af60af' +local RED = '#ee4a59' +local RED_DARK = '#a80000' +local RED_LIGHT = '#ff4090' +local TAN = '#f4c069' +local TEAL = '#60afff' +local TURQOISE = '#2bff99' +local WHITE = '#ffffff' +local YELLOW = '#f0df33' + +local SIDEBAR = BLACK +local MIDBAR = GRAY_DARK +local TEXT = GRAY_LIGHT + +--[[/* HELPERS */]] + +--- The width of the screen +local columns = vim.api.nvim_get_option_value('columns', {}) +vim.api.nvim_create_autocmd('VimResized', { + callback = function() columns = vim.api.nvim_get_option_value('columns', {}) end, + group = 'config', +}) + +do + local command = 'doautocmd User BufEnterOrGitSignsUpdate' + vim.api.nvim_create_autocmd('BufEnter', {command = command, group = 'config'}) + vim.api.nvim_create_autocmd('User', {command = command, group = 'config', pattern = 'GitSignsUpdate'}) +end + +--- Set buffer variables for file icon and color. +--- @return {color: string, icon: string} +local function buf_init_devicons() + local icon, color = devicons.get_icon(vim.fn.expand '%:t', vim.fn.expand '%:e', {default = true}) + local dev_icons = {color = vim.api.nvim_get_hl(0, {link = false, name = color}).fg, icon = icon} + + vim.b.dev_icons = dev_icons + return dev_icons +end + +--- @return {color: string, icon: string} +local function filetype_info() + return vim.b.dev_icons or buf_init_devicons() +end + +--- Redraw the statusline +local redrawstatus = vim.schedule_wrap(function() vim.api.nvim_command 'redrawstatus' end) + +--[[/* HEIRLINE CONFIG */]] + +--- Components separated by this component will be padded with an equal number of spaces. +local ALIGN = {provider = '%='} + +--- A left separator. +local LEFT_SEPARATOR = {provider = ''} + +--- A right separator. +local RIGHT_SEPARATOR = {provider = ''} + +require('heirline').setup({statusline = +{ + -- LEFT {{{ + { -- ViMode {{{ + hl = function(self) + vim.api.nvim_set_hl(0, self.group, {bg = SIDEBAR, fg = self.color, bold = true}) + return self.group + end, + init = function(self) + if vim.g.libmodalActiveModeName then + self.name = vim.g.libmodalActiveModeName + self.color = self.modes[self.name] + else + local current_mode = self.modes[vim.api.nvim_get_mode().mode] + + self.name = current_mode[1] + self.color = current_mode[2] + end + end, + provider = function(self) return '▊ ' .. self.name .. ' ' end, + static = + { -- {{{ + group = 'HeirlineViMode', + modes = + { + ['c'] = {'COMMAND-LINE', RED}, + ['ce'] = {'NORMAL EX', RED_DARK}, + ['cv'] = {'EX', RED_LIGHT}, + + ['i'] = {'INSERT', GREEN}, + + ['ic'] = {'INS-COMPLETE', GREEN_LIGHT}, + ['ix'] = {'INS-COMPLETE', GREEN_LIGHT}, + ['Rc'] = {'REP-COMPLETE', GREEN_LIGHT}, + ['Rvc'] = {'VIRT-REP-COMPLETE', GREEN_LIGHT}, + ['Rvx'] = {'VIRT-REP-COMPLETE', GREEN_LIGHT}, + ['Rx'] = {'REP-COMPLETE', GREEN_LIGHT}, + + ['n'] = {'NORMAL', PURPLE_LIGHT}, + ['niI'] = {'INS-NORMAL', PURPLE_LIGHT}, + ['niR'] = {'REP-NORMAL', PURPLE_LIGHT}, + ['niV'] = {'VIRT-REP-NORMAL', PURPLE_LIGHT}, + ['nt'] = {'TERM-NORMAL', PURPLE_LIGHT}, + ['ntT'] = {'TERM-NORMAL', PURPLE_LIGHT}, + + ['no'] = {'OPERATOR-PENDING', PURPLE}, + ['nov'] = {'CHAR OPERATOR-PENDING', PURPLE}, + ['noV'] = {'LINE OPERATOR-PENDING', PURPLE}, + ['no'] = {'BLOCK OPERATOR-PENDING', PURPLE}, + + ['R'] = {'REPLACE', PINK}, + ['Rv'] = {'VIRT-REPLACE', PINK_LIGHT}, + + ['r'] = {'HIT-ENTER', CYAN}, + ['rm'] = {'--MORE', CYAN}, + ['r?'] = {':CONFIRM', CYAN}, + + ['s'] = {'SELECT', TURQOISE}, + ['S'] = {'SELECT LINE', TURQOISE}, + [''] = {'SELECT', TURQOISE}, + + ['v'] = {'VISUAL', BLUE}, + ['vs'] = {'SEL-VISUAL', BLUE}, + ['V'] = {'VISUAL LINE', BLUE}, + ['Vs'] = {'SEL-VISUAL LINE', BLUE}, + [''] = {'VISUAL BLOCK', BLUE}, + ['s'] = {'VISUAL BLOCK', BLUE}, + + ['t'] = {'TERMINAL', ORANGE}, + ['!'] = {'SHELL', YELLOW}, + + -- libmodal + ['BUFFERS'] = TEAL, + ['TABLES'] = ORANGE_LIGHT, + ['TABS'] = TAN, + } + }, -- }}} + update = {'ModeChanged', callback = redrawstatus, pattern = '*:*'}, + }, -- }}} + + { -- File Icon {{{ + hl = function(self) return {bg = SIDEBAR, fg = self.file.color} end, + init = function(self) self.file = filetype_info() end, + update = 'BufEnter', + + LEFT_SEPARATOR, + { + hl = function(self) return {bg = self.file.color, fg = SIDEBAR} end, + provider = function(self) return ' ' .. self.file.icon .. ' %Y ' end, + }, + + RIGHT_SEPARATOR, + }, -- }}} + + { -- File Info {{{ + hl = {bg = SIDEBAR, bold = true, fg = TEXT}, + + -- File name + {provider = ' %t '}, + { -- Readonly {{{ + condition = function() return vim.api.nvim_get_option_value('readonly', {buf = 0}) end, + provider = ' ', + update = {'OptionSet', pattern = 'readonly'}, + }, -- }}} + + { -- Modified {{{ + condition = function() return vim.api.nvim_get_option_value('modified', {}) end, + provider = ' ', + update = 'BufModifiedSet', + }, -- }}} + + { -- File size {{{ + init = function(self) self.stat = vim.loop.fs_stat(vim.api.nvim_buf_get_name(0)) end, + update = {'BufEnter', 'BufWritePost'}, + + { + condition = function(self) return self.stat end, + provider = function(self) + local size = self.stat.size + + local i = 1 + while size > self.conversion and i < #self.units do + size = size / self.conversion + i = i + 1 + end + + return ('%.2f%sb '):format(size, self.units[i]) + end, + static = {conversion = 1024, units = {'', 'k', 'm', 'g', 't', 'p', 'e', 'z', 'y'}}, + }, + }, -- }}} + + {hl = {fg = MIDBAR}, LEFT_SEPARATOR}, + }, -- }}} + -- }}} + + -- MIDDLE {{{ + {hl = {bg = MIDBAR}, ALIGN}, + + { -- Diagnostics {{{ + hl = {bg = MIDBAR, fg = SIDEBAR}, + init = function(self) + local diagnostics = vim.diagnostic.get(0) --- @type Diagnostic[] + + if #diagnostics < 1 then + self.diagnostics = nil + else + self.diagnostics = {0, 0, 0, 0} + for _, diagnostic in ipairs(diagnostics) do + self.diagnostics[diagnostic.severity] = self.diagnostics[diagnostic.severity] + 1 + end + end + end, + update = {'BufEnter', 'DiagnosticChanged'}, + + { + condition = function(self) return self.diagnostics end, + + LEFT_SEPARATOR, + { + hl = {bg = SIDEBAR}, + static = + { -- {{{ + icons = {' ', ' ', ' ', ' '}, + + --- @param severity 1|2|3|4 + --- @return nil|string + provide = function(self, severity) + if self.diagnostics[severity] > 0 then + local str = self.icons[severity] .. self.diagnostics[severity] + + for i = severity + 1, #self.diagnostics do + if self.diagnostics[i] > 0 then + str = str .. ' ' + break + end + end + + return str + end + end, + }, -- }}} + + {hl = {fg = RED}, provider = function(self) return self:provide(vim.diagnostic.severity.ERROR) end}, + {hl = {fg = ORANGE}, provider = function(self) return self:provide(vim.diagnostic.severity.WARN) end}, + {hl = {fg = PINK_LIGHT}, provider = function(self) return self:provide(vim.diagnostic.severity.INFO) end}, + {hl = {fg = MAGENTA}, provider = function(self) return self:provide(vim.diagnostic.severity.HINT) end}, + }, + + RIGHT_SEPARATOR, + }, + }, -- }}} + -- }}} + + -- RIGHT {{{ + {hl = {bg = MIDBAR}, ALIGN}, + + { -- Git {{{ + init = function(self) self.status = vim.b.gitsigns_status_dict end, + update = {'User', callback = redrawstatus, pattern = 'BufEnterOrGitSignsUpdate'}, + + { -- Diff {{{ + hl = {bg = MIDBAR}, + + { + condition = function(self) return self.status end, + static = + { + --- @param sign string + --- @param change string + --- @return nil|string + provide = function(self, sign, change) + local count = self.status[change] or 0 + if count > 0 then return sign .. count end + end, + }, + + {hl = {fg = GREEN}, provider = function(self) return self:provide('+', 'added') end}, + {hl = {fg = ORANGE_LIGHT}, provider = function(self) return self:provide('~', 'changed') end}, + {hl = {fg = RED_LIGHT}, provider = function(self) return self:provide('-', 'removed') end}, + {provider = ' '}, + }, + }, -- }}} + + { -- Branch {{{ + hl = {bg = GREEN_DARK}, + + {hl = {fg = MIDBAR}, RIGHT_SEPARATOR}, + {provider = ' '}, + { + condition = function(self) return self.status end, + hl = {fg = SIDEBAR, bold = true}, + provider = function(self) return ' ' .. self.status.head .. ' ' end, + }, + + {hl = {fg = SIDEBAR}, LEFT_SEPARATOR}, + }, -- }}} + }, -- }}} + + -- Column Number + {hl = {fg = TEXT, bg = SIDEBAR}, provider = '  %v '}, + + { -- Line Percentage {{{ + hl = {bg = MAGENTA_DARK}, + + {hl = {fg = SIDEBAR}, RIGHT_SEPARATOR}, + {hl = {fg = WHITE}, provider = ' %p%% '}, + }, -- }}} + + -- }}} +}}) + diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua new file mode 100644 index 0000000..efb8d00 --- /dev/null +++ b/.config/nvim/after/plugin/lsp.lua @@ -0,0 +1,50 @@ +-- here you can setup the language servers + +local lsp_zero = require('lsp-zero') + +lsp_zero.on_attach(function(client, bufnr) + -- see :help lsp-zero-keybindings + -- to learn the available actions + lsp_zero.default_keymaps({buffer = bufnr}) +end) + +-- to learn how to use mason.nvim +-- read this: https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guide/integrate-with-mason-nvim.md +require('mason').setup({}) +require('mason-lspconfig').setup({ + + -- https://github.com/williamboman/mason-lspconfig.nvim?tab=readme-ov-file + ensure_installed = { + "pylsp", + "pyright", + }, + handlers = { + function(server_name) + require('lspconfig')[server_name].setup({}) + end, + }, +}) + +require "lspconfig".pylsp.setup { + on_attach = on_attach, + settings = { + pylsp = { + plugins = { + flake8 = { + enabled = false, + maxLineLength = 119, + }, + mypy = { + enabled = true, + }, + pycodestyle = { + enabled = false, + }, + pyflakes = { + enabled = false, + }, + } + } + } +} + diff --git a/.config/nvim/after/plugin/treesitter.lua b/.config/nvim/after/plugin/treesitter.lua new file mode 100644 index 0000000..4c81f89 --- /dev/null +++ b/.config/nvim/after/plugin/treesitter.lua @@ -0,0 +1,25 @@ +require'nvim-treesitter.configs'.setup { + -- A list of parser names, or "all" (the five listed parsers should always be installed) + ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "javascript", "python" }, + --ensure_installed = { "c", "lua", "vim", "vimdoc", "query" }, + + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, + + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, + + ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) + -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! + + highlight = { + enable = true, + + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + }, +} diff --git a/.config/nvim/after/plugin/undotree.lua b/.config/nvim/after/plugin/undotree.lua new file mode 100644 index 0000000..b6b9276 --- /dev/null +++ b/.config/nvim/after/plugin/undotree.lua @@ -0,0 +1 @@ +vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..b9a83b4 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1 @@ +require("erik") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..d576b04 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,20 @@ +{ + "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "gitsigns.nvim": { "branch": "main", "commit": "de18f6b749f6129eb9042a2038590872df4c94a9" }, + "heirline.nvim": { "branch": "master", "commit": "0d797435e54645a5f98bad7ad6046aac1ef95c1e" }, + "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, + "lsp-zero.nvim": { "branch": "v3.x", "commit": "16de3b18c5f7b6230d89b8e64ce9a4801b6f8d08" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-lspconfig": { "branch": "master", "commit": "4d38bece98300e3e5cd24a9aa0d0ebfea4951c16" }, + "nvim-treesitter": { "branch": "master", "commit": "26171d8f105d97746371d1b6c07c8d88bf13fec2" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, + "tokyonight.nvim": { "branch": "main", "commit": "024621763d91bb48f2b486df529c7aaeb8d6d355" }, + "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, + "vim-better-whitespace": { "branch": "master", "commit": "029f35c783f1b504f9be086b9ea757a36059c846" }, + "vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" } +} \ No newline at end of file diff --git a/.config/nvim/lua/erik/colorscheme.lua b/.config/nvim/lua/erik/colorscheme.lua new file mode 100644 index 0000000..5aa10a9 --- /dev/null +++ b/.config/nvim/lua/erik/colorscheme.lua @@ -0,0 +1,38 @@ +require("tokyonight").setup({ + -- your configuration comes here + -- or leave it empty to use the default settings + style = "night", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day` + light_style = "day", -- The theme is used when the background is set to light + transparent = true, -- Enable this to disable setting the background color + terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim) + styles = { + -- Style to be applied to different syntax groups + -- Value is any valid attr-list value for `:help nvim_set_hl` + comments = { italic = true }, + --keywords = { italic = true }, + keywords = {}, + functions = {}, + variables = {}, + -- Background styles. Can be "dark", "transparent" or "normal" + sidebars = "dark", -- style for sidebars, see below + floats = "dark", -- style for floating windows + }, + sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]` + day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors + hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**. + dim_inactive = false, -- dims inactive windows + lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold + + --- You can override specific color groups to use other groups or a hex color + --- function will be called with a ColorScheme table + ---@param colors ColorScheme + on_colors = function(colors) end, + + --- You can override specific highlights to use other groups or a hex color + --- function will be called with a Highlights and ColorScheme table + ---@param highlights Highlights + ---@param colors ColorScheme + on_highlights = function(highlights, colors) end, +}) + +vim.cmd[[colorscheme tokyonight]] diff --git a/.config/nvim/lua/erik/init.lua b/.config/nvim/lua/erik/init.lua new file mode 100644 index 0000000..a03e15a --- /dev/null +++ b/.config/nvim/lua/erik/init.lua @@ -0,0 +1,4 @@ +require("erik.remap") +require("erik.lazy") +require("erik.colorscheme") +require("erik.options") diff --git a/.config/nvim/lua/erik/lazy.lua b/.config/nvim/lua/erik/lazy.lua new file mode 100644 index 0000000..27c5d71 --- /dev/null +++ b/.config/nvim/lua/erik/lazy.lua @@ -0,0 +1,71 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +--require("lazy").setup(plugins, opts) + + +require("lazy").setup({ + { + "nvim-telescope/telescope.nvim", + lazy = false, + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'ff', builtin.find_files, {}) + vim.keymap.set('n', 'fg', builtin.live_grep, {}) + vim.keymap.set('n', 'fb', builtin.buffers, {}) + vim.keymap.set('n', '\\', builtin.buffers, {}) + end, + }, + + { "folke/tokyonight.nvim", lazy = false, priority = 1000, opts = {} }, + + { + "nvim-treesitter/nvim-treesitter", + lazy = false, + config = function() + vim.cmd('TSUpdate') + end, + }, + + { "mbbill/undotree", lazy = false }, + + { "tpope/vim-fugitive", lazy = false }, + + { "ntpeters/vim-better-whitespace", lazy = false }, + +-- { "glepnir/galaxyline.nvim", lazy = false }, + { + "rebelot/heirline.nvim", + lazy = false, + dependencies = {'gitsigns.nvim', 'nvim-web-devicons'}, + }, + + { "lewis6991/gitsigns.nvim" }, + { "nvim-tree/nvim-web-devicons" }, + +-- LSP stuff + + --- Uncomment the two plugins below if you want to manage the language servers from neovim + {'williamboman/mason.nvim'}, + {'williamboman/mason-lspconfig.nvim'}, + + {'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'}, + {'neovim/nvim-lspconfig'}, + {'hrsh7th/cmp-nvim-lsp'}, + {'hrsh7th/nvim-cmp'}, + {'L3MON4D3/LuaSnip'}, + +}) + + diff --git a/.config/nvim/lua/erik/options.lua b/.config/nvim/lua/erik/options.lua new file mode 100644 index 0000000..b4c71a8 --- /dev/null +++ b/.config/nvim/lua/erik/options.lua @@ -0,0 +1,33 @@ + +vim.opt.incsearch = true -- show search incrementally as it's run + +vim.opt.scrolloff = 8 -- try to have at least 8 rows at the bottom of the screen + +vim.opt.updatetime = 50 + +vim.opt.signcolumn = "no" -- no no no + +-- from my original vimrc +vim.opt.expandtab = true + +-- formatoptions +-- https://vimdoc.sourceforge.net/htmldoc/change.html#fo-table +-- my original was cqr: +-- c: Auto-wrap comments using textwidth, inserting the current comment leader automatically. +-- q: Allow formatting of comments with "gq". +-- r: Automatically insert the current comment leader after hitting in Insert mode. +-- default is jcroql: +-- j: (nvim) Where it makes sense, remove a comment leader when joining lines. +-- o: Automatically insert the current comment leader after hitting 'o' or 'O' in Normal mode. +-- l: Long lines are not broken in insert mode: When a line was longer than 'textwidth' when the insert command started, Vim does not automatically format it. +-- +-- the defaults seem fine + +vim.opt.shiftwidth = 4 +vim.opt.tabstop = 4 + +-- -- whitespace +-- vim.opt.listchars.tab = " " +-- vim.opt.listchars.trail = " " +-- vim.opt.listchars.extends = "»" +-- vim.opt.listchars.precedes = "«" diff --git a/.config/nvim/lua/erik/remap.lua b/.config/nvim/lua/erik/remap.lua new file mode 100644 index 0000000..2e6fce6 --- /dev/null +++ b/.config/nvim/lua/erik/remap.lua @@ -0,0 +1,15 @@ +vim.g.mapleader = "\\" +vim.keymap.set("n", "ee", vim.cmd.Ex) + +-- other stuff from https://github.com/ThePrimeagen/init.lua/blob/master/lua/theprimeagen/remap.lua +vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) -- x to make executable + + +-- from my original vimrc +vim.keymap.set("n", "", vim.cmd.shell) + +vim.keymap.set("n", "", vim.cmd.bprev) +vim.keymap.set("n", "", vim.cmd.bnext) + +vim.keymap.set("n", "q", vim.cmd.nohlsearch) + diff --git a/.config/nvim/lua/plugins/core.lua b/.config/nvim/lua/plugins/core.lua new file mode 100644 index 0000000..9e517c8 --- /dev/null +++ b/.config/nvim/lua/plugins/core.lua @@ -0,0 +1,4 @@ +return { + { "folke/lazy.nvim", version = false }, + { "nvim-telescope/telescope.nvim", version=false }, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..e69de29 diff --git a/.tmux.conf b/.tmux.conf index d9d6028..58440bf 100755 --- a/.tmux.conf +++ b/.tmux.conf @@ -79,11 +79,14 @@ if-shell "hostname | grep -q meathook" "set -g status-left '#[bg=#1111ff,fg=colo # Highlight active window set-window-option -g window-status-current-format "#[bg=#000011,fg=#112233] #[bg=#000011,fg=#bbffbb]#I:#W #[bg=#112233,fg=#000011]" -set-window-option -g window-status-format "#I:#W " +set-window-option -g window-status-format " #I:#W " +set-window-option -g window-status-separator "" # UGH this doesn't work -- tmux falls back to " " # Inactive windows get low-contrast; active window sharper -set -g window-style 'fg=colour246,bg=#152030' -set -g window-active-style 'fg=colour255,bg=black' +#set -g window-style 'fg=colour246,bg=#152030' +set -g window-style 'fg=colour246,bg=#252731' +#set -g window-active-style 'fg=colour255,bg=black' +set -g window-active-style 'fg=colour255,bg=#1e2030' # Automatically set window title set-option -g set-titles on