Added vim-fugitive and harpoon to nvim config

This commit is contained in:
z3rOR0ne 2022-12-18 22:48:30 -08:00
parent 1aa13410f3
commit 25c98539b9
22 changed files with 449 additions and 384 deletions

View file

@ -1,64 +1,75 @@
-- 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]]
vim.cmd([[packadd packer.nvim]])
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
use {'nvim-treesitter/playground'}
use ({
'shaunsingh/nord.nvim',
config = function()
vim.cmd('colorscheme nord')
end
})
use {'preservim/nerdcommenter'}
use {'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }}
use {'kyazdani42/nvim-web-devicons'}
use {'kyazdani42/nvim-tree.lua'}
use {'psliwka/vim-smoothie'}
use {'mg979/vim-visual-multi'}
use {'Yggdroot/indentLine'}
use {'airblade/vim-gitgutter'}
use {'f-person/git-blame.nvim'}
use {'mattn/emmet-vim'}
use {'norcalli/nvim-colorizer.lua'}
use {'luochen1990/rainbow'}
use {'windwp/nvim-autopairs'}
use {'simeji/winresizer'}
use {'sbdchd/neoformat'}
use {'rhysd/vim-clang-format'}
use {'sangdol/mintabline.vim'}
use {'ethanholz/nvim-lastplace'}
use({
"iamcco/markdown-preview.nvim",
run = function() vim.fn["mkdp#util#install"]() end,
})
-- use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
use {'junegunn/fzf.vim'}
use 'rinx/nvim-ripgrep'
return require("packer").startup(function(use)
-- Packer can manage itself
use("wbthomason/packer.nvim")
use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" })
use({ "nvim-treesitter/playground" })
use({
"shaunsingh/nord.nvim",
config = function()
vim.cmd("colorscheme nord")
end,
})
use({ "preservim/nerdcommenter" })
use({ "nvim-lualine/lualine.nvim", requires = { "kyazdani42/nvim-web-devicons", opt = true } })
use({ "kyazdani42/nvim-web-devicons" })
use({ "kyazdani42/nvim-tree.lua" })
use({ "psliwka/vim-smoothie" })
use({ "mg979/vim-visual-multi" })
use({ "Yggdroot/indentLine" })
use({ "airblade/vim-gitgutter" })
use({ "f-person/git-blame.nvim" })
use({ "mattn/emmet-vim" })
use({ "norcalli/nvim-colorizer.lua" })
use({ "luochen1990/rainbow" })
use({ "windwp/nvim-autopairs" })
use({ "simeji/winresizer" })
use({ "sbdchd/neoformat" })
use({ "rhysd/vim-clang-format" })
use({ "sangdol/mintabline.vim" })
use({ "ThePrimeagen/harpoon" })
use({
"nvim-telescope/telescope.nvim",
tag = "0.1.0",
-- or , branch = '0.1.x',
requires = { { "nvim-lua/plenary.nvim" } },
})
use({ "mbbill/undotree" })
use({ "tpope/vim-fugitive" })
use({ "ethanholz/nvim-lastplace" })
use({
"iamcco/markdown-preview.nvim",
run = function()
vim.fn["mkdp#util#install"]()
end,
})
-- use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
use({ "junegunn/fzf.vim" })
use("rinx/nvim-ripgrep")
use {
'VonHeikemen/lsp-zero.nvim',
requires = {
-- LSP Support
{'neovim/nvim-lspconfig'},
{'williamboman/mason.nvim'},
{'williamboman/mason-lspconfig.nvim'},
use({
"VonHeikemen/lsp-zero.nvim",
requires = {
-- LSP Support
{ "neovim/nvim-lspconfig" },
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
-- Autocompletion
{'hrsh7th/nvim-cmp'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/cmp-path'},
{'saadparwaiz1/cmp_luasnip'},
{'hrsh7th/cmp-nvim-lsp'},
{'hrsh7th/cmp-nvim-lua'},
-- Autocompletion
{ "hrsh7th/nvim-cmp" },
{ "hrsh7th/cmp-buffer" },
{ "hrsh7th/cmp-path" },
{ "saadparwaiz1/cmp_luasnip" },
{ "hrsh7th/cmp-nvim-lsp" },
{ "hrsh7th/cmp-nvim-lua" },
-- Snippets
{'L3MON4D3/LuaSnip'},
{'rafamadriz/friendly-snippets'},
}
}
-- Snippets
{ "L3MON4D3/LuaSnip" },
{ "rafamadriz/friendly-snippets" },
},
})
end)

View file

@ -4,10 +4,10 @@ vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
vim.keymap.set("n", "J", "mzJ`z")
-- remap for vim-smoothie
vim.cmd [[nnoremap <C-D> <cmd>call smoothie#do("\<C-D>zz")<CR>]]
vim.cmd [[nnoremap <C-U> <cmd>call smoothie#do("\<C-U>zz")<CR>]]
vim.cmd [[nnoremap gg <cmd>call smoothie#do("gg")<CR>]]
vim.cmd [[nnoremap <S-g> <cmd>call smoothie#do("\<S-g>zz")<CR>]]
vim.cmd([[nnoremap <C-D> <cmd>call smoothie#do("\<C-D>zz")<CR>]])
vim.cmd([[nnoremap <C-U> <cmd>call smoothie#do("\<C-U>zz")<CR>]])
vim.cmd([[nnoremap gg <cmd>call smoothie#do("gg")<CR>]])
vim.cmd([[nnoremap <S-g> <cmd>call smoothie#do("\<S-g>zz")<CR>]])
-- recenter on next/previous search
vim.keymap.set("n", "n", "nzzzv")
@ -31,64 +31,64 @@ vim.keymap.set("n", "<F11>", ":set spell!<cr>", { silent = true })
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
-- Vimium Like Keybindings
vim.keymap.set('n', 't', '<c-w>:tabnew<CR>', {})
vim.keymap.set("n", "t", "<c-w>:tabnew<CR>", {})
vim.keymap.set('n', '<S-tab>', '<c-w>:tabprevious<CR>', {})
vim.keymap.set('n', '<S-j>', '<c-w>:tabprevious<CR>', {})
vim.keymap.set('n', '<A-left>', '<c-w>:tabprevious<CR>', {})
vim.keymap.set("n", "<S-tab>", "<c-w>:tabprevious<CR>", {})
vim.keymap.set("n", "<S-j>", "<c-w>:tabprevious<CR>", {})
vim.keymap.set("n", "<A-left>", "<c-w>:tabprevious<CR>", {})
vim.keymap.set('n', '<A-tab>', '<c-w>:tabnext<CR>', {})
vim.keymap.set('n', '<A-k>', '<c-w>:tabnext<CR>', {})
vim.keymap.set('n', '<A-right>', '<c-w>:tabnext<CR>', {})
vim.keymap.set("n", "<A-tab>", "<c-w>:tabnext<CR>", {})
vim.keymap.set("n", "<A-k>", "<c-w>:tabnext<CR>", {})
vim.keymap.set("n", "<A-right>", "<c-w>:tabnext<CR>", {})
-- Use ctrl- [hl] to select the active split!
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
vim.keymap.set("n", "<C-h>", "<c-w>:wincmd h<CR>", {})
vim.keymap.set("n", "<C-l>", "<c-w>:wincmd l<CR>", {})
-- remap Nvim_Tree toggle to CTRL+B
vim.keymap.set('n', '<C-b>', '<c-w>:NvimTreeToggle<CR>', {})
vim.keymap.set("n", "<C-b>", "<c-w>:NvimTreeToggle<CR>", {})
-- Use ctrl - [hl] to select the active split
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
vim.keymap.set("n", "<C-h>", "<c-w>:wincmd h<CR>", {})
vim.keymap.set("n", "<C-l>", "<c-w>:wincmd l<CR>", {})
-- nv creates new vertical split
vim.keymap.set('n', 'nv', ':vnew', { silent = true })
vim.keymap.set("n", "nv", ":vnew", { silent = true })
-- shift + p invokes PackerSync
vim.keymap.set('n', '<S-p>', '<c-w>:PackerSync<CR>', {})
vim.keymap.set("n", "<S-p>", "<c-w>:PackerSync<CR>", {})
-- control + p enable transparency
vim.keymap.set('n', '<C-t>', '<c-w>:lua ColorMyPencils()<CR>', {})
-- control + t enable transparency
vim.keymap.set("n", "<C-t>", "<c-w>:lua ColorMyPencils()<CR>", {})
-- open :Mason using msn
vim.keymap.set('n', 'msn', ':Mason', { silent = true })
vim.keymap.set("n", "msn", ":Mason", { silent = true })
-- toggle relative line number with shift + x
vim.keymap.set('n', '<S-x>', ':set relativenumber! number<cr>', {})
vim.keymap.set("n", "<S-x>", ":set relativenumber! number<cr>", {})
-- toggle multi-corsor with control + j/k
vim.cmd[[nmap <C-j> <C-Down>]]
vim.cmd[[nmap <C-k> <C-Up>]]
vim.cmd([[nmap <C-j> <C-Down>]])
vim.cmd([[nmap <C-k> <C-Up>]])
-- enable gitblame with ctrl + g
vim.keymap.set('n', '<C-g>', '<c-w>:GitBlameToggle<CR>', { silent = true })
vim.keymap.set("n", "<C-g>", "<c-w>:GitBlameToggle<CR>", { silent = true })
-- shift + m brings up markdown previewer
vim.keymap.set('n', '<S-m>', '<c-w>:MarkdownPreview<CR>', {})
vim.keymap.set("n", "<S-m>", "<c-w>:MarkdownPreview<CR>", {})
-- invoke neoformat with nf
vim.keymap.set('n', 'nf', ':Neoformat<cr>', { silent = true })
vim.keymap.set("n", "nf", ":Neoformat<cr>", { silent = true })
-- format C and C++ Code with cp
vim.keymap.set('n', 'cp', ':ClangFormat<cr>', { silent = true })
vim.keymap.set("n", "cp", ":ClangFormat<cr>", { silent = true })
-- open fzf with ctrl + p
vim.cmd[[nnoremap fzf :silent :FZFExplore]]
vim.keymap.set('n', '<C-p>', '<c-w>:FZFExplore<CR>', {})
vim.cmd([[nnoremap fzf :silent :FZFExplore]])
vim.keymap.set("n", "<C-p>", "<c-w>:FZFExplore<CR>", {})
-- open ripgrep
vim.cmd[[nnoremap rg :silent :Rg]]
vim.cmd([[nnoremap rg :silent :Rg]])
--toggle autocompletion
vim.cmd[[nnoremap cmp :silent lua SetAutoCmp(Mode)]]
vim.cmd([[nnoremap cmp :silent lua SetAutoCmp(Mode)]])

View file

@ -1,4 +1,5 @@
-- vim.opt.guicursor = ""
-- fat cursor no matter what
vim.opt.guicursor = ""
--
vim.opt.nu = true
vim.opt.relativenumber = true
@ -21,11 +22,11 @@ vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.isfname:append("@-@")
--vim.opt.isfname:append("@-@")
vim.opt.updatetime = 50
vim.opt.mouse = 'a'
vim.opt.mouse = "a"
vim.opt.autoindent = true
vim.opt.smarttab = true
vim.opt.ignorecase = true
@ -39,37 +40,37 @@ vim.opt.splitbelow = true
vim.opt.splitright = true
-- Removes trailing spaces
vim.cmd[[function TrimWhiteSpace()
vim.cmd([[function TrimWhiteSpace()
%s/\s*$//
''
endfunction]]
endfunction]])
--Removes trailing spaces on save
vim.cmd[[autocmd FileWritePre * call TrimWhiteSpace()]]
vim.cmd[[autocmd FileAppendPre * call TrimWhiteSpace()]]
vim.cmd[[autocmd FilterWritePre * call TrimWhiteSpace()]]
vim.cmd[[autocmd BufWritePre * call TrimWhiteSpace()]]
vim.cmd([[autocmd FileWritePre * call TrimWhiteSpace()]])
vim.cmd([[autocmd FileAppendPre * call TrimWhiteSpace()]])
vim.cmd([[autocmd FilterWritePre * call TrimWhiteSpace()]])
vim.cmd([[autocmd BufWritePre * call TrimWhiteSpace()]])
-- Marks end of line, space, and trailing space characters
vim.opt.listchars:append({ eol = '', trail = '·', space = '·' })
vim.opt.listchars:append({ eol = "", trail = "·", space = "·" })
vim.opt.list = true
-- git-blame disabled by default
vim.g.gitblame_enabled = 0
-- vertically center document when entering Insert mode
vim.cmd[[autocmd InsertEnter * norm zz]]
vim.cmd([[autocmd InsertEnter * norm zz]])
-- enable clipboard
vim.cmd[[set clipboard+=unnamedplus]]
vim.cmd([[set clipboard+=unnamedplus]])
-- enable hard/soft wrap
vim.cmd[[set wrap linebreak textwidth=80]]
vim.cmd([[set wrap linebreak textwidth=80]])
-- max tab characters
vim.cmd[[let g:mintabline_tab_max_chars = 10 ]]
vim.cmd([[let g:mintabline_tab_max_chars = 10 ]])
-- Search pattern across repository files using fzf
vim.cmd[[
vim.cmd([[
function! FzfExplore(...)
let inpath = substitute(a:1, "'", '', 'g')
if inpath == "" || matchend(inpath, '/') == strlen(inpath)
@ -80,11 +81,9 @@ else
let file = getcwd() . '/' . inpath
execute "e" file
endif
endfunction]]
endfunction]])
vim.cmd[[command! -nargs=* FZFExplore call FzfExplore(shellescape(<q-args>))]]
vim.cmd([[command! -nargs=* FZFExplore call FzfExplore(shellescape(<q-args>))]])
-- fzf is on bottom of screen
vim.cmd[[let g:fzf_layout = { 'down': '~30%' }]]
vim.cmd([[let g:fzf_layout = { 'down': '~30%' }]])