add tmux, nvim
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
|||||||
|
# remove delay when pressing esc
|
||||||
|
set -s escape-time 0
|
||||||
|
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
set -g history-limit 10000
|
||||||
|
|
||||||
|
# Binds
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-a
|
||||||
|
bind C-a send-prefix
|
||||||
|
|
||||||
|
unbind %
|
||||||
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
unbind '"'
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
bind -r j resize-pane -D 2
|
||||||
|
bind -r k resize-pane -U 2
|
||||||
|
bind -r h resize-pane -L 2
|
||||||
|
bind -r l resize-pane -R 2
|
||||||
|
|
||||||
|
bind -r m resize-pane -Z
|
||||||
|
|
||||||
|
# windows
|
||||||
|
set -g base-index 1
|
||||||
|
set -g renumber-windows on
|
||||||
|
set -g automatic-rename on
|
||||||
|
|
||||||
|
# List of plugins
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
|
||||||
|
# keeping sessions
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-resurrect' # persist tmux sessions after computer restart
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-continuum' # automatically saves sessions for you every 15 minutes
|
||||||
|
|
||||||
|
set -g @resurrect-capture-pane-contents 'on' # allow tmux-ressurect to capture pane contents
|
||||||
|
set -g @continuum-restore 'on' # enable tmux-continuum functionality
|
||||||
|
set -g @continuum-save-interval '5'
|
||||||
|
set -g @continuum-status-right 'Continuum status: #{continuum_status}'
|
||||||
|
|
||||||
|
# themes
|
||||||
|
set -g @plugin 'dracula/tmux'
|
||||||
|
set -g @dracula-plugins 'git'
|
||||||
|
set -g @dracula-show-left-icon session
|
||||||
|
set -g @dracula-show-left-icon-colors 'pink dark_gray'
|
||||||
|
set -g @dracula-attached-clients-colors 'cyan dark_gray'
|
||||||
|
set -g @dracula-show-empty-plugins false
|
||||||
|
|
||||||
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
|
run '~/.tmux/plugins/tpm/tpm'
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
font:
|
font:
|
||||||
# Point size
|
# Point size
|
||||||
size: 12.0
|
size: 10.0
|
||||||
|
|
||||||
|
window:
|
||||||
|
opacity: 1.0
|
||||||
|
|
||||||
|
|||||||
@@ -4,3 +4,7 @@ cp zsh/.zshrc ~/.zshrc
|
|||||||
|
|
||||||
cp i3/config ~/.config/i3/config
|
cp i3/config ~/.config/i3/config
|
||||||
cp i3/i3blocks.conf ~/.config/i3/i3blocks.conf
|
cp i3/i3blocks.conf ~/.config/i3/i3blocks.conf
|
||||||
|
|
||||||
|
cp -r nvim/ ~/.config/nvim/
|
||||||
|
|
||||||
|
cp .tmux.conf ~/.tmux.conf
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
require("Comment").setup();
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
vim.keymap.set("n", "<leader>gs", vim.cmd.Git);
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
local mark = require("harpoon.mark")
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>a", mark.add_file)
|
||||||
|
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end)
|
||||||
|
vim.keymap.set("n", "<C-t>", function() ui.nav_file(2) end)
|
||||||
|
vim.keymap.set("n", "<C-n>", function() ui.nav_file(3) end)
|
||||||
|
vim.keymap.set("n", "<C-s>", function() ui.nav_file(4) end)
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
-- Learn the keybindings, see :help lsp-zero-keybindings
|
||||||
|
-- Learn to configure LSP servers, see :help lsp-zero-api-showcase
|
||||||
|
local lsp = require('lsp-zero')
|
||||||
|
|
||||||
|
lsp.preset('recommended')
|
||||||
|
|
||||||
|
lsp.ensure_installed({
|
||||||
|
"tsserver",
|
||||||
|
"eslint",
|
||||||
|
"lua_ls",
|
||||||
|
"rust_analyzer",
|
||||||
|
"gopls",
|
||||||
|
})
|
||||||
|
|
||||||
|
local cmp = require("cmp")
|
||||||
|
local cmp_select = { behaviour = cmp.SelectBehavior.Select }
|
||||||
|
local cmp_mappings = lsp.defaults.cmp_mappings({
|
||||||
|
["<C-p"] = cmp.mapping.select_prev_item(cmp_select),
|
||||||
|
["<C-n"] = cmp.mapping.select_next_item(cmp_select),
|
||||||
|
["<C-y"] = cmp.mapping.confirm({ select = true }),
|
||||||
|
["<C-Space"] = cmp.mapping.complete(),
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.set_preferences({
|
||||||
|
sign_icons = { },
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.setup_nvim_cmp({
|
||||||
|
mapping = cmp_mappings,
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.on_attach(function(client, bufnr)
|
||||||
|
local opts = { buffer = bufnr, remap = false }
|
||||||
|
|
||||||
|
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||||
|
vim.keymap.set("n", "gr", function() vim.lsp.buf.references() end, opts)
|
||||||
|
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vd", function() vim.lsp.diagnostic.open_float() end, opts)
|
||||||
|
vim.keymap.set("n", "[d", function() vim.lsp.diagnostic.goto_next() end, opts)
|
||||||
|
vim.keymap.set("n", "]d", function() vim.lsp.diagnostic.goto_prev() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||||
|
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||||
|
end)
|
||||||
|
|
||||||
|
lsp.setup()
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = true,
|
||||||
|
signs = false,
|
||||||
|
update_in_insert = false,
|
||||||
|
underline = true,
|
||||||
|
severity_sort = true,
|
||||||
|
float = {
|
||||||
|
focusable = false,
|
||||||
|
style = 'minimal',
|
||||||
|
border = 'rounded',
|
||||||
|
source = 'always',
|
||||||
|
header = '',
|
||||||
|
prefix = '',
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
require("lualine").setup({
|
||||||
|
options = {
|
||||||
|
icons_enabled = false,
|
||||||
|
theme = "onedark",
|
||||||
|
component_separators = "|",
|
||||||
|
section_separators = "",
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -0,0 +1,246 @@
|
|||||||
|
local nvimtree = require('nvim-tree')
|
||||||
|
|
||||||
|
-- disable netrw at the very start of your init.lua (strongly advised)
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
|
require("nvim-tree").setup { -- BEGIN_DEFAULT_OPTS
|
||||||
|
auto_reload_on_write = true,
|
||||||
|
disable_netrw = false,
|
||||||
|
hijack_cursor = false,
|
||||||
|
hijack_netrw = true,
|
||||||
|
hijack_unnamed_buffer_when_opening = false,
|
||||||
|
sort_by = "name",
|
||||||
|
root_dirs = {},
|
||||||
|
prefer_startup_root = false,
|
||||||
|
sync_root_with_cwd = false,
|
||||||
|
reload_on_bufenter = false,
|
||||||
|
respect_buf_cwd = true,
|
||||||
|
on_attach = "default",
|
||||||
|
remove_keymaps = false,
|
||||||
|
select_prompts = false,
|
||||||
|
view = {
|
||||||
|
centralize_selection = false,
|
||||||
|
cursorline = true,
|
||||||
|
debounce_delay = 15,
|
||||||
|
width = 30,
|
||||||
|
hide_root_folder = false,
|
||||||
|
side = "left",
|
||||||
|
preserve_window_proportions = false,
|
||||||
|
number = false,
|
||||||
|
relativenumber = false,
|
||||||
|
signcolumn = "yes",
|
||||||
|
mappings = {
|
||||||
|
custom_only = false,
|
||||||
|
list = {
|
||||||
|
-- user mappings go here
|
||||||
|
},
|
||||||
|
},
|
||||||
|
float = {
|
||||||
|
enable = false,
|
||||||
|
quit_on_focus_loss = true,
|
||||||
|
open_win_config = {
|
||||||
|
relative = "editor",
|
||||||
|
border = "rounded",
|
||||||
|
width = 30,
|
||||||
|
height = 30,
|
||||||
|
row = 1,
|
||||||
|
col = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
add_trailing = false,
|
||||||
|
group_empty = true,
|
||||||
|
highlight_git = false,
|
||||||
|
full_name = false,
|
||||||
|
highlight_opened_files = "none",
|
||||||
|
highlight_modified = "none",
|
||||||
|
root_folder_label = ":~:s?$?/..?",
|
||||||
|
indent_width = 2,
|
||||||
|
indent_markers = {
|
||||||
|
enable = false,
|
||||||
|
inline_arrows = true,
|
||||||
|
icons = {
|
||||||
|
corner = "└",
|
||||||
|
edge = "│",
|
||||||
|
item = "│",
|
||||||
|
bottom = "─",
|
||||||
|
none = " ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
webdev_colors = false,
|
||||||
|
git_placement = "before",
|
||||||
|
modified_placement = "after",
|
||||||
|
padding = " ",
|
||||||
|
symlink_arrow = " ➛ ",
|
||||||
|
show = {
|
||||||
|
file = true,
|
||||||
|
folder = true,
|
||||||
|
folder_arrow = true,
|
||||||
|
git = true,
|
||||||
|
modified = true,
|
||||||
|
},
|
||||||
|
glyphs = {
|
||||||
|
default = " ",
|
||||||
|
symlink = " ",
|
||||||
|
bookmark = " ",
|
||||||
|
modified = "●",
|
||||||
|
folder = {
|
||||||
|
arrow_closed = " ",
|
||||||
|
arrow_open = " ",
|
||||||
|
default = " ",
|
||||||
|
open = " ",
|
||||||
|
empty = " ",
|
||||||
|
empty_open = " ",
|
||||||
|
symlink = " ",
|
||||||
|
symlink_open = " ",
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
unstaged = "✗",
|
||||||
|
staged = "✓",
|
||||||
|
unmerged = "",
|
||||||
|
renamed = "➜",
|
||||||
|
untracked = "★",
|
||||||
|
deleted = "",
|
||||||
|
ignored = "◌",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
|
||||||
|
symlink_destination = true,
|
||||||
|
},
|
||||||
|
hijack_directories = {
|
||||||
|
enable = true,
|
||||||
|
auto_open = true,
|
||||||
|
},
|
||||||
|
update_focused_file = {
|
||||||
|
enable = false,
|
||||||
|
update_root = false,
|
||||||
|
ignore_list = {},
|
||||||
|
},
|
||||||
|
system_open = {
|
||||||
|
cmd = "",
|
||||||
|
args = {},
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = false,
|
||||||
|
show_on_dirs = false,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
debounce_delay = 50,
|
||||||
|
severity = {
|
||||||
|
min = vim.diagnostic.severity.HINT,
|
||||||
|
max = vim.diagnostic.severity.ERROR,
|
||||||
|
},
|
||||||
|
icons = {
|
||||||
|
hint = "",
|
||||||
|
info = "",
|
||||||
|
warning = "",
|
||||||
|
error = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
dotfiles = false,
|
||||||
|
git_clean = false,
|
||||||
|
no_buffer = false,
|
||||||
|
custom = {},
|
||||||
|
exclude = {},
|
||||||
|
},
|
||||||
|
filesystem_watchers = {
|
||||||
|
enable = true,
|
||||||
|
debounce_delay = 50,
|
||||||
|
ignore_dirs = {},
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
enable = false,
|
||||||
|
ignore = true,
|
||||||
|
show_on_dirs = true,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
timeout = 400,
|
||||||
|
},
|
||||||
|
modified = {
|
||||||
|
enable = false,
|
||||||
|
show_on_dirs = true,
|
||||||
|
show_on_open_dirs = true,
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
use_system_clipboard = true,
|
||||||
|
change_dir = {
|
||||||
|
enable = true,
|
||||||
|
global = false,
|
||||||
|
restrict_above_cwd = false,
|
||||||
|
},
|
||||||
|
expand_all = {
|
||||||
|
max_folder_discovery = 300,
|
||||||
|
exclude = {},
|
||||||
|
},
|
||||||
|
file_popup = {
|
||||||
|
open_win_config = {
|
||||||
|
col = 1,
|
||||||
|
row = 1,
|
||||||
|
relative = "cursor",
|
||||||
|
border = "shadow",
|
||||||
|
style = "minimal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
open_file = {
|
||||||
|
quit_on_open = false,
|
||||||
|
resize_window = true,
|
||||||
|
window_picker = {
|
||||||
|
enable = true,
|
||||||
|
picker = "default",
|
||||||
|
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
|
||||||
|
exclude = {
|
||||||
|
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
|
||||||
|
buftype = { "nofile", "terminal", "help" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
remove_file = {
|
||||||
|
close_window = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
trash = {
|
||||||
|
cmd = "gio trash",
|
||||||
|
},
|
||||||
|
live_filter = {
|
||||||
|
prefix = "[FILTER]: ",
|
||||||
|
always_show_folders = true,
|
||||||
|
},
|
||||||
|
tab = {
|
||||||
|
sync = {
|
||||||
|
open = false,
|
||||||
|
close = false,
|
||||||
|
ignore = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
notify = {
|
||||||
|
threshold = vim.log.levels.INFO,
|
||||||
|
},
|
||||||
|
ui = {
|
||||||
|
confirm = {
|
||||||
|
remove = true,
|
||||||
|
trash = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
experimental = {
|
||||||
|
git = {
|
||||||
|
async = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
log = {
|
||||||
|
enable = false,
|
||||||
|
truncate = false,
|
||||||
|
types = {
|
||||||
|
all = false,
|
||||||
|
config = false,
|
||||||
|
copy_paste = false,
|
||||||
|
dev = false,
|
||||||
|
diagnostics = false,
|
||||||
|
git = false,
|
||||||
|
profile = false,
|
||||||
|
watcher = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
} -- END_DEFAULT_OPTS
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>pf', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<C-p', builtin.git_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>ps', function()
|
||||||
|
builtin.grep_string({ search = vim.fn.input("Grep > ")});
|
||||||
|
end)
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
-- A list of parser names, or "all" (the four listed parsers should always be installed)
|
||||||
|
ensure_installed = { "help", "javascript", "typescript", "c", "lua", "vim", "rust", "go" },
|
||||||
|
|
||||||
|
-- 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,
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
-- `false` will disable the whole extension
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
require("mimu")
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
require("mimu.packer")
|
||||||
|
require("mimu.remap")
|
||||||
|
require("mimu.set")
|
||||||
|
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
|
||||||
|
|
||||||
|
-- Only required if you have packer configured as `opt`
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
-- Packer can manage itself
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- telescope
|
||||||
|
use {
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.1',
|
||||||
|
-- or , branch = '0.1.x',
|
||||||
|
requires = { {'nvim-lua/plenary.nvim'} }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- theme
|
||||||
|
use({
|
||||||
|
'ramojus/mellifluous.nvim',
|
||||||
|
requires = { 'rktjmp/lush.nvim' },
|
||||||
|
config = function()
|
||||||
|
require'mellifluous'.setup({
|
||||||
|
styles = {
|
||||||
|
comments = '',
|
||||||
|
},
|
||||||
|
}) -- optional, see configuration section.
|
||||||
|
vim.cmd('colorscheme mellifluous')
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- treesitter
|
||||||
|
use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'})
|
||||||
|
|
||||||
|
-- nvim-tree
|
||||||
|
use {
|
||||||
|
'nvim-tree/nvim-tree.lua',
|
||||||
|
requires = {
|
||||||
|
'nvim-tree/nvim-web-devicons', -- optional
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("nvim-tree").setup {}
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- harpoon
|
||||||
|
use("theprimeagen/harpoon")
|
||||||
|
|
||||||
|
-- undotree
|
||||||
|
use("mbbill/undotree")
|
||||||
|
|
||||||
|
-- git / vim-fugitive
|
||||||
|
use("tpope/vim-fugitive")
|
||||||
|
use {
|
||||||
|
'lewis6991/gitsigns.nvim',
|
||||||
|
config = function()
|
||||||
|
require('gitsigns').setup({
|
||||||
|
current_line_blame = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
-- lualine
|
||||||
|
use {'nvim-lualine/lualine.nvim'}
|
||||||
|
|
||||||
|
-- Comment
|
||||||
|
use {'numToStr/Comment.nvim'}
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
use {
|
||||||
|
'VonHeikemen/lsp-zero.nvim',
|
||||||
|
branch = 'v1.x',
|
||||||
|
requires = {
|
||||||
|
-- LSP Support
|
||||||
|
{'neovim/nvim-lspconfig'}, -- Required
|
||||||
|
{'williamboman/mason.nvim'}, -- Optional
|
||||||
|
{'williamboman/mason-lspconfig.nvim'}, -- Optional
|
||||||
|
|
||||||
|
-- Autocompletion
|
||||||
|
{'hrsh7th/nvim-cmp'}, -- Required
|
||||||
|
{'hrsh7th/cmp-nvim-lsp'}, -- Required
|
||||||
|
{'hrsh7th/cmp-buffer'}, -- Optional
|
||||||
|
{'hrsh7th/cmp-path'}, -- Optional
|
||||||
|
{'saadparwaiz1/cmp_luasnip'}, -- Optional
|
||||||
|
{'hrsh7th/cmp-nvim-lua'}, -- Optional
|
||||||
|
|
||||||
|
-- Snippets
|
||||||
|
{'L3MON4D3/LuaSnip'}, -- Required
|
||||||
|
{'rafamadriz/friendly-snippets'}, -- Optional
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end)
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
||||||
|
|
||||||
|
-- allow to move selected lines up and down
|
||||||
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "J", "mzJ`z")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||||
|
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||||
|
|
||||||
|
-- keep search term in the middle
|
||||||
|
vim.keymap.set("n", "n", "nzzzv")
|
||||||
|
vim.keymap.set("n", "N", "Nzzzv")
|
||||||
|
|
||||||
|
-- paste without losing the copied stuff
|
||||||
|
vim.keymap.set("x", "<leader>p", "\"_dp")
|
||||||
|
|
||||||
|
-- copy to system clipboard instead of vim
|
||||||
|
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||||
|
vim.keymap.set("v", "<leader>y", "\"+y")
|
||||||
|
vim.keymap.set("n", "<leader>Y", "\"+Y")
|
||||||
|
|
||||||
|
-- quick fix navigation
|
||||||
|
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||||
|
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||||
|
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
||||||
|
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
||||||
|
|
||||||
|
-- replace in file
|
||||||
|
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||||
|
|
||||||
|
-- toggle nvim-tree
|
||||||
|
vim.keymap.set("n", "<C-f>", "<cmd>NvimTreeToggle<CR>")
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
vim.cmd [[autocmd BufWritePre <buffer> lua vim.lsp.buf.format()]]
|
||||||
|
|
||||||
|
vim.opt.nu = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
vim.opt.tabstop = 2
|
||||||
|
vim.opt.softtabstop = 2
|
||||||
|
vim.opt.shiftwidth = 2
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
|
||||||
|
-- highlight search
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
vim.opt.scrolloff = 10
|
||||||
|
-- vim.opt.signcolumn = "yes"
|
||||||
|
vim.opt.isfname:append("@-@")
|
||||||
|
|
||||||
|
vim.opt.updatetime = 50
|
||||||
|
|
||||||
|
vim.opt.colorcolumn = "120"
|
||||||
|
|
||||||
|
vim.g.mapleader = " "
|
||||||
@@ -0,0 +1,239 @@
|
|||||||
|
-- Automatically generated packer.nvim plugin loader code
|
||||||
|
|
||||||
|
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||||
|
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_command('packadd packer.nvim')
|
||||||
|
|
||||||
|
local no_errors, error_msg = pcall(function()
|
||||||
|
|
||||||
|
_G._packer = _G._packer or {}
|
||||||
|
_G._packer.inside_compile = true
|
||||||
|
|
||||||
|
local time
|
||||||
|
local profile_info
|
||||||
|
local should_profile = false
|
||||||
|
if should_profile then
|
||||||
|
local hrtime = vim.loop.hrtime
|
||||||
|
profile_info = {}
|
||||||
|
time = function(chunk, start)
|
||||||
|
if start then
|
||||||
|
profile_info[chunk] = hrtime()
|
||||||
|
else
|
||||||
|
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
time = function(chunk, start) end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save_profiles(threshold)
|
||||||
|
local sorted_times = {}
|
||||||
|
for chunk_name, time_taken in pairs(profile_info) do
|
||||||
|
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||||
|
end
|
||||||
|
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||||
|
local results = {}
|
||||||
|
for i, elem in ipairs(sorted_times) do
|
||||||
|
if not threshold or threshold and elem[2] > threshold then
|
||||||
|
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if threshold then
|
||||||
|
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||||
|
end
|
||||||
|
|
||||||
|
_G._packer.profile_output = results
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], true)
|
||||||
|
local package_path_str = "/home/mimu/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/mimu/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/mimu/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/mimu/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/home/mimu/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||||
|
if not string.find(package.path, package_path_str, 1, true) then
|
||||||
|
package.path = package.path .. ';' .. package_path_str
|
||||||
|
end
|
||||||
|
|
||||||
|
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||||
|
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], false)
|
||||||
|
time([[try_loadstring definition]], true)
|
||||||
|
local function try_loadstring(s, component, name)
|
||||||
|
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||||
|
if not success then
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[try_loadstring definition]], false)
|
||||||
|
time([[Defining packer_plugins]], true)
|
||||||
|
_G.packer_plugins = {
|
||||||
|
["Comment.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/Comment.nvim",
|
||||||
|
url = "https://github.com/numToStr/Comment.nvim"
|
||||||
|
},
|
||||||
|
LuaSnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||||
|
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||||
|
},
|
||||||
|
["cmp-buffer"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lsp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lua"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lua"
|
||||||
|
},
|
||||||
|
["cmp-path"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-path"
|
||||||
|
},
|
||||||
|
cmp_luasnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||||
|
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||||
|
},
|
||||||
|
["friendly-snippets"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||||
|
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||||
|
},
|
||||||
|
["gitsigns.nvim"] = {
|
||||||
|
config = { "\27LJ\2\nQ\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\23current_line_blame\2\nsetup\rgitsigns\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
|
||||||
|
url = "https://github.com/lewis6991/gitsigns.nvim"
|
||||||
|
},
|
||||||
|
harpoon = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/harpoon",
|
||||||
|
url = "https://github.com/theprimeagen/harpoon"
|
||||||
|
},
|
||||||
|
["lsp-zero.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
|
||||||
|
url = "https://github.com/VonHeikemen/lsp-zero.nvim"
|
||||||
|
},
|
||||||
|
["lualine.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||||
|
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||||
|
},
|
||||||
|
["lush.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/lush.nvim",
|
||||||
|
url = "https://github.com/rktjmp/lush.nvim"
|
||||||
|
},
|
||||||
|
["mason-lspconfig.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||||
|
},
|
||||||
|
["mason.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason.nvim"
|
||||||
|
},
|
||||||
|
["mellifluous.nvim"] = {
|
||||||
|
config = { "\27LJ\2\nŒ\1\0\0\4\0\t\0\r6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\0016\0\6\0009\0\a\0'\2\b\0B\0\2\1K\0\1\0\28colorscheme mellifluous\bcmd\bvim\vstyles\1\0\0\1\0\1\rcomments\5\nsetup\16mellifluous\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/mellifluous.nvim",
|
||||||
|
url = "https://github.com/ramojus/mellifluous.nvim"
|
||||||
|
},
|
||||||
|
["nvim-cmp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-tree.lua"] = {
|
||||||
|
config = { "\27LJ\2\n;\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14nvim-tree\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||||
|
url = "https://github.com/nvim-tree/nvim-tree.lua"
|
||||||
|
},
|
||||||
|
["nvim-treesitter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||||
|
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
["nvim-web-devicons"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||||
|
url = "https://github.com/nvim-tree/nvim-web-devicons"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
},
|
||||||
|
undotree = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/undotree",
|
||||||
|
url = "https://github.com/mbbill/undotree"
|
||||||
|
},
|
||||||
|
["vim-fugitive"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/mimu/.local/share/nvim/site/pack/packer/start/vim-fugitive",
|
||||||
|
url = "https://github.com/tpope/vim-fugitive"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], false)
|
||||||
|
-- Config for: nvim-tree.lua
|
||||||
|
time([[Config for nvim-tree.lua]], true)
|
||||||
|
try_loadstring("\27LJ\2\n;\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14nvim-tree\frequire\0", "config", "nvim-tree.lua")
|
||||||
|
time([[Config for nvim-tree.lua]], false)
|
||||||
|
-- Config for: mellifluous.nvim
|
||||||
|
time([[Config for mellifluous.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\nŒ\1\0\0\4\0\t\0\r6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\0016\0\6\0009\0\a\0'\2\b\0B\0\2\1K\0\1\0\28colorscheme mellifluous\bcmd\bvim\vstyles\1\0\0\1\0\1\rcomments\5\nsetup\16mellifluous\frequire\0", "config", "mellifluous.nvim")
|
||||||
|
time([[Config for mellifluous.nvim]], false)
|
||||||
|
-- Config for: gitsigns.nvim
|
||||||
|
time([[Config for gitsigns.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\nQ\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\23current_line_blame\2\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim")
|
||||||
|
time([[Config for gitsigns.nvim]], false)
|
||||||
|
|
||||||
|
_G._packer.inside_compile = false
|
||||||
|
if _G._packer.needs_bufread == true then
|
||||||
|
vim.cmd("doautocmd BufRead")
|
||||||
|
end
|
||||||
|
_G._packer.needs_bufread = false
|
||||||
|
|
||||||
|
if should_profile then save_profiles() end
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not no_errors then
|
||||||
|
error_msg = error_msg:gsub('"', '\\"')
|
||||||
|
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||||
|
end
|
||||||
@@ -4,3 +4,7 @@ cp ~/.zshrc zsh/.zshrc
|
|||||||
|
|
||||||
cp ~/.config/i3/config i3/config
|
cp ~/.config/i3/config i3/config
|
||||||
cp ~/.config/i3/i3blocks.conf i3/i3blocks.conf
|
cp ~/.config/i3/i3blocks.conf i3/i3blocks.conf
|
||||||
|
|
||||||
|
cp -r ~/.config/nvim/ nvim/
|
||||||
|
|
||||||
|
cp ~/.tmux.conf .tmux.conf
|
||||||
|
|||||||
+22
-6
@@ -1,3 +1,10 @@
|
|||||||
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
|
# Initialization code that may require console input (password prompts, [y/n]
|
||||||
|
# confirmations, etc.) must go above this block; everything else may go below.
|
||||||
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
# If you come from bash you might have to change your $PATH.
|
# If you come from bash you might have to change your $PATH.
|
||||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
@@ -8,7 +15,7 @@ export ZSH="/home/mimu/.oh-my-zsh"
|
|||||||
# load a random theme each time oh-my-zsh is loaded, in which case,
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
ZSH_THEME="agnoster"
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
|
|
||||||
# Set list of themes to pick from when loading at random
|
# Set list of themes to pick from when loading at random
|
||||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
@@ -82,11 +89,11 @@ source $ZSH/oh-my-zsh.sh
|
|||||||
# export LANG=en_US.UTF-8
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
# Preferred editor for local and remote sessions
|
# Preferred editor for local and remote sessions
|
||||||
# if [[ -n $SSH_CONNECTION ]]; then
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
# export EDITOR='vim'
|
export EDITOR='vim'
|
||||||
# else
|
else
|
||||||
# export EDITOR='mvim'
|
export EDITOR='nvim'
|
||||||
# fi
|
fi
|
||||||
|
|
||||||
# Compilation flags
|
# Compilation flags
|
||||||
# export ARCHFLAGS="-arch x86_64"
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
@@ -108,3 +115,12 @@ setxkbmap -layout us -variant intl
|
|||||||
export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
|
|
||||||
|
# go
|
||||||
|
export PATH=$PATH:/usr/local/go/bin
|
||||||
|
|
||||||
|
alias hx='helix'
|
||||||
|
|||||||
Reference in New Issue
Block a user