start neovim config from new
This commit is contained in:
parent
5a800c1f25
commit
17a11aad7e
15 changed files with 0 additions and 441 deletions
|
|
@ -1,7 +0,0 @@
|
||||||
local status, autopairs = pcall(require, "nvim-autopairs")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
autopairs.setup({
|
|
||||||
disable_filetype = { "TelescopePrompt", "vim" }
|
|
||||||
})
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
local status, autotag = pcall(require, "nvim-ts-autotag")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
autotag.setup()
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
local status, mark = pcall(require, "harpoon.mark")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
local ui
|
|
||||||
status, ui = pcall(require, "harpoon.ui")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>a", mark.add_file)
|
|
||||||
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>q", function() ui.nav_file(1) end)
|
|
||||||
vim.keymap.set("n", "<leader>w", function() ui.nav_file(2) end)
|
|
||||||
vim.keymap.set("n", "<leader>e", function() ui.nav_file(3) end)
|
|
||||||
vim.keymap.set("n", "<leader>r", function() ui.nav_file(4) end)
|
|
||||||
vim.keymap.set("n", "<leader>,", ui.nav_prev)
|
|
||||||
vim.keymap.set("n", "<leader>.", ui.nav_next)
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
local status, lspzero = pcall(require, "lsp-zero")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
lspzero.preset("recommended")
|
|
||||||
|
|
||||||
-- first argument is the client
|
|
||||||
lspzero.on_attach(function(_, bufnr)
|
|
||||||
lspzero.default_keymaps({ buffer = bufnr })
|
|
||||||
|
|
||||||
-- custom keymaps
|
|
||||||
vim.keymap.set("n", "<leader>f", "<cmd>lua vim.lsp.buf.format()<CR>") -- format buffer
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Enable format on save
|
|
||||||
lspzero.format_on_save({
|
|
||||||
format_opts = {
|
|
||||||
async = true,
|
|
||||||
timeout_ms = 10000,
|
|
||||||
},
|
|
||||||
servers = {
|
|
||||||
['lua_ls'] = { 'lua' },
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
local lspconfig
|
|
||||||
status, lspconfig = pcall(require, "lspconfig")
|
|
||||||
|
|
||||||
if status then
|
|
||||||
lspconfig.lua_ls.setup(lspzero.nvim_lua_ls())
|
|
||||||
end
|
|
||||||
|
|
||||||
lspzero.setup()
|
|
||||||
|
|
||||||
local cmp
|
|
||||||
status, cmp = pcall(require, 'cmp')
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
mapping = {
|
|
||||||
-- Press "Enter" to confirm completion/suggestion
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
local status, lualine = pcall(require, 'lualine')
|
|
||||||
|
|
||||||
if (not status) then return end
|
|
||||||
|
|
||||||
lualine.setup {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
section_separators = {
|
|
||||||
left = '',
|
|
||||||
right = ''
|
|
||||||
},
|
|
||||||
component_separators = {
|
|
||||||
left = '',
|
|
||||||
right = ''
|
|
||||||
},
|
|
||||||
disabled_filetypes = {}
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = { 'mode' },
|
|
||||||
lualine_b = { 'branch' },
|
|
||||||
lualine_c = { {
|
|
||||||
'filename',
|
|
||||||
file_status = true, -- display file status
|
|
||||||
path = 0 -- no file path
|
|
||||||
} },
|
|
||||||
lualine_x = {
|
|
||||||
{
|
|
||||||
'diagnostics',
|
|
||||||
sources = { 'nvim_diagnostic' },
|
|
||||||
symbols = { error = ' ', warn = ' ', info = ' ', hint = '' }
|
|
||||||
},
|
|
||||||
'enconding',
|
|
||||||
'filetype'
|
|
||||||
},
|
|
||||||
lualine_y = { 'progress' },
|
|
||||||
lualine_z = { 'location' }
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = { {
|
|
||||||
'filename',
|
|
||||||
file_status = true,
|
|
||||||
path = 1
|
|
||||||
} },
|
|
||||||
lualine_x = { 'location' },
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {}
|
|
||||||
},
|
|
||||||
tabline = {},
|
|
||||||
extensions = { 'fugitive' }
|
|
||||||
}
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
local status, telescope = pcall(require, "telescope")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
local builtin = require("telescope.builtin")
|
|
||||||
|
|
||||||
local fb_actions = require "telescope".extensions.file_browser.actions
|
|
||||||
|
|
||||||
local function telescope_buffer_dir()
|
|
||||||
return vim.fn.expand("%:p:h")
|
|
||||||
end
|
|
||||||
|
|
||||||
telescope.setup({
|
|
||||||
defaults = {
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
['q'] = actions.close
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
extensions = {
|
|
||||||
file_browser = {
|
|
||||||
theme = "dropdown",
|
|
||||||
hijack_netrw = true,
|
|
||||||
hidden = true,
|
|
||||||
mappings = {
|
|
||||||
['i'] = {
|
|
||||||
['<C-w>'] = function() vim.cmd("normal vbd") end
|
|
||||||
},
|
|
||||||
['n'] = {
|
|
||||||
['N'] = fb_actions.create,
|
|
||||||
['h'] = fb_actions.goto_parent_dir,
|
|
||||||
['/'] = function() vim.cmd("startinsert") end,
|
|
||||||
['D'] = fb_actions.remove
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
telescope.load_extension("file_browser")
|
|
||||||
|
|
||||||
|
|
||||||
-- Set up keymaps specific to telescope
|
|
||||||
vim.keymap.set("n", ";f", function()
|
|
||||||
builtin.find_files({ no_ignore = false, hidden = true })
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", ";g", builtin.git_files)
|
|
||||||
vim.keymap.set("n", "sf",
|
|
||||||
function()
|
|
||||||
telescope.extensions.file_browser.file_browser({
|
|
||||||
path = "%:p:h",
|
|
||||||
cwd = telescope_buffer_dir(),
|
|
||||||
respect_gitignore = true,
|
|
||||||
hidden = true,
|
|
||||||
grouped = true,
|
|
||||||
previewer = false,
|
|
||||||
initial_mode = "normal",
|
|
||||||
layout_config = { height = 40 }
|
|
||||||
})
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", ";h", builtin.help_tags)
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
local status, treesitter = pcall(require, "nvim-treesitter.configs")
|
|
||||||
|
|
||||||
if not status then return end
|
|
||||||
|
|
||||||
treesitter.setup {
|
|
||||||
-- A list of parser names, or "all"
|
|
||||||
ensure_installed = { "vimdoc", "javascript", "typescript", "c", "lua", "rust" },
|
|
||||||
|
|
||||||
-- 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 = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
|
||||||
|
|
||||||
local has_persistent_undo = vim.api.nvim_call_function("has", { "persistent_undo" })
|
|
||||||
|
|
||||||
if has_persistent_undo then
|
|
||||||
local target_path = vim.api.nvim_call_function("expand", { "~/.undodir" })
|
|
||||||
|
|
||||||
local is_directory = vim.api.nvim_call_function("isdirectory", { target_path })
|
|
||||||
|
|
||||||
if not is_directory then
|
|
||||||
vim.api.nvim_call_function("mkdir", { target_path, "p", 0700 })
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.opt.undodir = target_path
|
|
||||||
vim.opt.undofile = true
|
|
||||||
end
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
require("juancwu")
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
vim.g.clipboard = {
|
|
||||||
name = "win32yank",
|
|
||||||
copy = {
|
|
||||||
['+'] = "win32yank.exe -i --crlf",
|
|
||||||
['*'] = "win32yank.exe -i --crlf",
|
|
||||||
},
|
|
||||||
paste = {
|
|
||||||
['+'] = "win32yank.exe -o --lf",
|
|
||||||
['*'] = "win32yank.exe -o --lf",
|
|
||||||
},
|
|
||||||
cache_enabled = 0,
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
require("juancwu.keymaps")
|
|
||||||
require("juancwu.options")
|
|
||||||
require("juancwu.theme")
|
|
||||||
require("juancwu.clipboard")
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
-- easy escape
|
|
||||||
vim.keymap.set("i", "<C-[>", "<Esc>", { noremap = true, silent = true })
|
|
||||||
vim.keymap.set("v", "<C-[>", "<Esc>", { noremap = true, silent = true })
|
|
||||||
vim.keymap.set("n", "<C-[>", "<Esc>", { noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- open the explorer
|
|
||||||
vim.keymap.set("n", "<leader>e", "<cmd>Ex<CR>")
|
|
||||||
|
|
||||||
-- move highlighted lines
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
|
||||||
|
|
||||||
-- make cursor stay in same position when appending line below
|
|
||||||
vim.keymap.set("n", "J", "mzJ`z")
|
|
||||||
|
|
||||||
-- make cursor stay in the middle while moving down/up the page
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
|
||||||
|
|
||||||
-- make cursor stay in the middle while looking through search results
|
|
||||||
vim.keymap.set("n", "n", "nzzzv")
|
|
||||||
vim.keymap.set("n", "N", "Nzzzv")
|
|
||||||
|
|
||||||
-- do not copy with x, for god sake, WHY copy something that is being deleted??
|
|
||||||
vim.keymap.set("n", "x", "\"_x")
|
|
||||||
|
|
||||||
-- smile :)
|
|
||||||
vim.keymap.set("n", "Q", "<nop>")
|
|
||||||
vim.keymap.set("n", "q", "<nop>", { noremap = true })
|
|
||||||
vim.keymap.set("n", "<leader>q", "q", { noremap = true })
|
|
||||||
|
|
||||||
-- select and replace
|
|
||||||
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
|
||||||
|
|
||||||
-- no copy, delete line, for god sake...
|
|
||||||
vim.keymap.set("n", "dd", "\"_dd")
|
|
||||||
vim.keymap.set("n", "<leader>dd", "dd") -- cut line, under my control
|
|
||||||
|
|
||||||
-- copy/paste to/from system clipboard
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>y", "\"+y")
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>p", "\"+p")
|
|
||||||
|
|
||||||
-- increment/decrement a count, helpful for changing indeces
|
|
||||||
vim.keymap.set("n", "+", "<C-a>")
|
|
||||||
vim.keymap.set("n", "-", "<C-x>")
|
|
||||||
|
|
||||||
-- do not copy when deleting word
|
|
||||||
vim.keymap.set("n", "dw", "\"_dw")
|
|
||||||
vim.keymap.set("n", "de", "\"_de")
|
|
||||||
vim.keymap.set("n", "<leader>dw", "dw")
|
|
||||||
vim.keymap.set("n", "<leader>de", "de")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "db", "vb\"_d") -- delete in backwards
|
|
||||||
vim.keymap.set("n", "<leader>db", "vbd")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-a>", "gg<S-v>G") -- select all
|
|
||||||
|
|
||||||
-- split pane
|
|
||||||
vim.keymap.set("n", "ss", ":split<Return><C-w>w", { silent = true }) -- horizontal
|
|
||||||
vim.keymap.set("n", "sv", ":vsplit<Return><C-w>w", { silent = true }) -- vertical
|
|
||||||
|
|
||||||
-- pane movement
|
|
||||||
vim.keymap.set("n", "..", "<C-w>w") -- toggle
|
|
||||||
vim.keymap.set("n", "sh", "<C-w>h")
|
|
||||||
vim.keymap.set("n", "sk", "<C-w>k")
|
|
||||||
vim.keymap.set("n", "sl", "<C-w>l")
|
|
||||||
vim.keymap.set("n", "sj", "<C-w>j")
|
|
||||||
|
|
||||||
-- resize pane
|
|
||||||
vim.keymap.set("n", "<C-w><left>", "<C-w><")
|
|
||||||
vim.keymap.set("n", "<C-w><right>", "<C-w>>")
|
|
||||||
vim.keymap.set("n", "<C-w><up>", "<C-w>+")
|
|
||||||
vim.keymap.set("n", "<C-w><down>", "<C-w>-")
|
|
||||||
|
|
||||||
-- my arrow keys babyyyy
|
|
||||||
vim.keymap.set("i", "<C-h>", "<Left>", { noremap = true })
|
|
||||||
vim.keymap.set("i", "<C-j>", "<Down>", { noremap = true })
|
|
||||||
vim.keymap.set("i", "<C-k>", "<Up>", { noremap = true })
|
|
||||||
vim.keymap.set("i", "<C-l>", "<Right>", { noremap = true })
|
|
||||||
|
|
||||||
-- terminal keymaps
|
|
||||||
vim.keymap.set("t", "<C-t>", "<C-\\><C-n>", { noremap = true })
|
|
||||||
vim.keymap.set("t", "<C-x>", "<cmd>bd!<CR>", { noremap = true })
|
|
||||||
vim.keymap.set("n", "<C-t>", "<cmd>term<CR>i", { noremap = true })
|
|
||||||
|
|
||||||
-- lazygit on floaterm
|
|
||||||
vim.keymap.set("n", "<leader>g", "<cmd>FloatermNew lazygit<CR>", { noremap = true })
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
vim.scriptencoding = "utf-8"
|
|
||||||
vim.opt.encoding = "utf-8"
|
|
||||||
vim.opt.fileencoding = "utf-8"
|
|
||||||
|
|
||||||
vim.wo.number = true -- show line number
|
|
||||||
vim.opt.relativenumber = true -- juicy relativity
|
|
||||||
|
|
||||||
vim.opt.autoindent = true
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.softtabstop = 4
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.smarttab = true
|
|
||||||
vim.opt.breakindent = true
|
|
||||||
|
|
||||||
vim.opt.wrap = false -- bad, stay away from me!
|
|
||||||
|
|
||||||
vim.opt.hlsearch = false
|
|
||||||
vim.opt.incsearch = true -- highlight search pattern as you type
|
|
||||||
|
|
||||||
vim.opt.scrolloff = 8 -- give me some personal space
|
|
||||||
|
|
||||||
vim.opt.updatetime = 50
|
|
||||||
|
|
||||||
vim.opt.ignorecase = true -- case-insensitive search
|
|
||||||
|
|
||||||
vim.opt.backspace = { "start", "eol", "indent" }
|
|
||||||
|
|
||||||
-- don't want to look into these...
|
|
||||||
vim.opt.wildignore:append { "*/node_modules/*", "*/__pycache__/*" }
|
|
||||||
|
|
||||||
-- add '*' in block comments
|
|
||||||
vim.opt.formatoptions:append { 'r' }
|
|
||||||
|
|
||||||
-- theme
|
|
||||||
vim.opt.winblend = 0
|
|
||||||
vim.opt.wildoptions = "pum" -- show popup for autocomplete
|
|
||||||
vim.opt.pumblend = 5
|
|
||||||
vim.opt.background = "dark"
|
|
||||||
vim.opt.termguicolors = true -- good shit, just take it
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
-- 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'
|
|
||||||
|
|
||||||
-- Themes
|
|
||||||
use({ 'rose-pine/neovim', as = 'rose-pine' })
|
|
||||||
|
|
||||||
-- Sweet LSP
|
|
||||||
use {
|
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
|
||||||
branch = 'v2.x',
|
|
||||||
requires = {
|
|
||||||
-- LSP Support
|
|
||||||
{ 'neovim/nvim-lspconfig' }, -- Required
|
|
||||||
{ -- Optional
|
|
||||||
'williamboman/mason.nvim',
|
|
||||||
run = function()
|
|
||||||
pcall(vim.cmd, 'MasonUpdate')
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{ 'williamboman/mason-lspconfig.nvim' }, -- Optional
|
|
||||||
|
|
||||||
-- Autocompletion
|
|
||||||
{ 'hrsh7th/nvim-cmp' }, -- Required
|
|
||||||
{ 'hrsh7th/cmp-nvim-lsp' }, -- Required
|
|
||||||
{ 'L3MON4D3/LuaSnip' }, -- Required
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Telescope for the fine file navigation
|
|
||||||
use {
|
|
||||||
'nvim-telescope/telescope.nvim', tag = '0.1.2',
|
|
||||||
requires = { { 'nvim-lua/plenary.nvim' } }
|
|
||||||
}
|
|
||||||
|
|
||||||
use {
|
|
||||||
"nvim-telescope/telescope-file-browser.nvim",
|
|
||||||
requires = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
|
|
||||||
}
|
|
||||||
|
|
||||||
use('nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' })
|
|
||||||
|
|
||||||
use {
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
requires = { 'nvim-tree/nvim-web-devicons', opt = true }
|
|
||||||
}
|
|
||||||
|
|
||||||
-- autopairs, complete brackets
|
|
||||||
use {
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
config = function() require("nvim-autopairs").setup {} end
|
|
||||||
}
|
|
||||||
|
|
||||||
-- auto closing tags
|
|
||||||
use "windwp/nvim-ts-autotag"
|
|
||||||
|
|
||||||
-- quick navigation between files, harpoon
|
|
||||||
use 'ThePrimeagen/harpoon'
|
|
||||||
|
|
||||||
-- shows a history to undo
|
|
||||||
use 'mbbill/undotree'
|
|
||||||
|
|
||||||
-- float window for terminal commands
|
|
||||||
use 'voldikss/vim-floaterm'
|
|
||||||
end)
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
vim.cmd('colorscheme rose-pine')
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue