sync with live configs
This commit is contained in:
parent
7e2d9ee69d
commit
2b7abf3700
9 changed files with 368 additions and 339 deletions
234
dot_config/nvim/init.lua
Normal file
234
dot_config/nvim/init.lua
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
-- init.lua - Neovim configuration converted from init.vim
|
||||
|
||||
-- Plugin setup using vim-plug
|
||||
local Plug = vim.fn['plug#']
|
||||
|
||||
vim.call('plug#begin', '~/.vim/plugged')
|
||||
|
||||
-- UI related
|
||||
Plug('chriskempson/base16-vim')
|
||||
Plug('vim-airline/vim-airline')
|
||||
Plug('vim-airline/vim-airline-themes')
|
||||
|
||||
-- Better Visual Guide
|
||||
Plug('Yggdroot/indentLine')
|
||||
|
||||
-- Syntax check
|
||||
Plug('w0rp/ale')
|
||||
|
||||
-- Autocomplete
|
||||
Plug('ncm2/ncm2')
|
||||
Plug('roxma/nvim-yarp')
|
||||
Plug('ncm2/ncm2-bufword')
|
||||
Plug('ncm2/ncm2-path')
|
||||
Plug('ncm2/ncm2-jedi')
|
||||
|
||||
-- Formatter
|
||||
Plug('Chiel92/vim-autoformat')
|
||||
|
||||
-- Themes
|
||||
Plug('pineapplegiant/spaceduck', { branch = 'main' })
|
||||
Plug('folke/tokyonight.nvim')
|
||||
Plug('EdenEast/nightfox.nvim')
|
||||
Plug('bluz71/vim-moonfly-colors')
|
||||
Plug('NLKNguyen/papercolor-theme')
|
||||
|
||||
-- Python Plugins
|
||||
Plug('Valloric/YouCompleteMe')
|
||||
Plug('vim-syntastic/syntastic')
|
||||
Plug('nvie/vim-flake8')
|
||||
Plug('python-mode/python-mode')
|
||||
Plug('airblade/vim-gitgutter')
|
||||
|
||||
-- General development plugins
|
||||
Plug('scrooloose/nerdtree')
|
||||
Plug('flazz/vim-colorschemes')
|
||||
Plug('davidhalter/jedi-vim')
|
||||
Plug('ervandew/supertab')
|
||||
Plug('ryanoasis/vim-webdevicons')
|
||||
Plug('direnv/direnv.vim')
|
||||
Plug('sheerun/vim-polyglot')
|
||||
Plug('tpope/vim-fugitive')
|
||||
Plug('junegunn/fzf.vim')
|
||||
Plug('navarasu/onedark.nvim')
|
||||
Plug('stevearc/conform.nvim')
|
||||
|
||||
-- Bind zonefile
|
||||
Plug('seveas/bind.vim')
|
||||
|
||||
-- Extended RST functionality
|
||||
Plug('drmikehenry/vim-extline')
|
||||
Plug('brookhong/DBGPavim')
|
||||
Plug('dhruvasagar/vim-table-mode')
|
||||
Plug('godlygeek/tabular')
|
||||
Plug('plasticboy/vim-markdown')
|
||||
|
||||
-- Additional languages
|
||||
Plug('nathanielc/vim-tickscript')
|
||||
Plug('fatih/vim-go')
|
||||
Plug('dbeniamine/cheat.sh-vim')
|
||||
Plug('jacqueswww/vim-vyper')
|
||||
Plug('tomlion/vim-solidity')
|
||||
|
||||
-- AI assistance
|
||||
Plug('Exafunction/windsurf.vim', { branch = 'main' })
|
||||
Plug('glacambre/firenvim', { ['do'] = function() vim.fn['firenvim#install'](0) end })
|
||||
|
||||
vim.call('plug#end')
|
||||
|
||||
-- Basic settings
|
||||
vim.opt.compatible = false
|
||||
vim.opt.splitright = true
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.encoding = 'utf-8'
|
||||
vim.opt.wrap = true
|
||||
vim.opt.linebreak = true
|
||||
vim.opt.list = false
|
||||
vim.opt.mouse = 'a'
|
||||
vim.opt.laststatus = 2
|
||||
vim.opt.cursorline = true
|
||||
|
||||
-- Tab settings
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.smarttab = true
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.expandtab = true
|
||||
|
||||
-- Terminal colors
|
||||
if vim.fn.exists('+termguicolors') == 1 then
|
||||
vim.opt.termguicolors = true
|
||||
vim.cmd([[let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"]])
|
||||
vim.cmd([[let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"]])
|
||||
end
|
||||
|
||||
-- Colorscheme
|
||||
vim.cmd('colorscheme tokyonight-night')
|
||||
|
||||
-- Airline theme
|
||||
vim.g.airline_theme = 'spaceduck'
|
||||
vim.g.airline_powerline_fonts = 1
|
||||
vim.g.Powerline_symbols = 'fancy'
|
||||
|
||||
-- Font settings
|
||||
vim.opt.guifont = 'Sauce Code Powerline Plus Nerd File Types 9'
|
||||
|
||||
-- Filetype settings
|
||||
vim.cmd('filetype plugin indent on')
|
||||
|
||||
-- Python syntax highlighting
|
||||
vim.g.python_highlight_all = 1
|
||||
vim.cmd('syntax on')
|
||||
|
||||
-- Python attempt fix
|
||||
if not vim.fn.has('patch-8.1.201') then
|
||||
pcall(function() vim.cmd('silent! python3 1') end)
|
||||
end
|
||||
|
||||
-- Command mappings
|
||||
vim.cmd([[cmap w!! w !sudo tee > /dev/null %]])
|
||||
|
||||
-- Key mappings
|
||||
vim.keymap.set('n', '<F2>', ':NERDTreeToggle<CR>', { noremap = true })
|
||||
vim.keymap.set('n', '<space>', 'za', { noremap = true })
|
||||
vim.keymap.set('i', '<C-L>', function()
|
||||
return vim.fn['copilot#Accept']("\r")
|
||||
end, { silent = true, script = true, expr = true })
|
||||
|
||||
-- Python-mode settings
|
||||
vim.g.pymode_rope = 0
|
||||
vim.g.pymode_doc = 1
|
||||
vim.g.pymode_doc_key = 'K'
|
||||
vim.g.pymode_lint = 1
|
||||
vim.g.pymode_lint_checker = 'flake8,pep8'
|
||||
vim.g.pymode_lint_write = 1
|
||||
vim.g.pymode_virtualenv = 1
|
||||
vim.g.pymode_breakpoint = 1
|
||||
vim.g.pymode_breakpoint_key = '<leader>b'
|
||||
vim.g.pymode_syntax = 1
|
||||
vim.g.pymode_syntax_all = 1
|
||||
vim.g.pymode_syntax_indent_errors = vim.g.pymode_syntax_all
|
||||
vim.g.pymode_syntax_space_errors = vim.g.pymode_syntax_all
|
||||
vim.g.pymode_folding = 0
|
||||
vim.g.pymode_python = 'python3'
|
||||
|
||||
-- RIV settings
|
||||
vim.g.riv_fold_level = 0
|
||||
vim.g.riv_fold_auto_update = 0
|
||||
|
||||
-- DBGPavim settings
|
||||
vim.g.dbgPavimPort = 9000
|
||||
vim.g.dbgPavimBreakAtEntry = 0
|
||||
vim.g.dbgPavimOnce = 1
|
||||
|
||||
-- Table mode settings
|
||||
vim.g.table_mode_corner_corner = '+'
|
||||
vim.g.table_mode_header_fillchar = '='
|
||||
|
||||
-- Webdevicons settings
|
||||
vim.g.webdevicons_enable = 1
|
||||
vim.g.webdevicons_enable_nerdtree = 1
|
||||
|
||||
-- FZF layout
|
||||
vim.g.fzf_layout = { window = { width = 0.8, height = 0.5, highlight = 'Comment' } }
|
||||
|
||||
-- IndentLine settings
|
||||
vim.g.indentLine_fileTypeExclude = { 'markdown' }
|
||||
|
||||
-- Copilot settings
|
||||
vim.g.copilot_no_tab_map = true
|
||||
|
||||
-- Autocommands
|
||||
local augroup = vim.api.nvim_create_augroup('vimrc_autocmds', { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
group = augroup,
|
||||
pattern = 'python',
|
||||
callback = function()
|
||||
vim.cmd('highlight Excess ctermbg=DarkGrey guibg=Black')
|
||||
vim.fn.matchadd('Excess', [[\%80v.*]])
|
||||
vim.opt_local.wrap = false
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
group = augroup,
|
||||
pattern = 'markdown',
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'yaml',
|
||||
callback = function()
|
||||
vim.opt_local.tabstop = 2
|
||||
vim.opt_local.softtabstop = 2
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.expandtab = true
|
||||
end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'gitcommit',
|
||||
callback = function()
|
||||
vim.fn.setpos('.', {0, 1, 1, 0})
|
||||
end
|
||||
})
|
||||
|
||||
require('conform').setup({
|
||||
formatters_by_ft = {
|
||||
python = { 'black' },
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
pattern = "*.py",
|
||||
callback = function(args)
|
||||
require("conform").format({ bufnr = args.buf })
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
let g:plugged_home = '~/.vim/plugged'
|
||||
|
||||
call plug#begin(g:plugged_home)
|
||||
" UI related
|
||||
Plug 'chriskempson/base16-vim'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
" Better Visual Guide
|
||||
Plug 'Yggdroot/indentLine'
|
||||
" syntax check
|
||||
Plug 'w0rp/ale'
|
||||
" Autocomplete
|
||||
Plug 'ncm2/ncm2'
|
||||
Plug 'roxma/nvim-yarp'
|
||||
Plug 'ncm2/ncm2-bufword'
|
||||
Plug 'ncm2/ncm2-path'
|
||||
Plug 'ncm2/ncm2-jedi'
|
||||
" Formater
|
||||
Plug 'Chiel92/vim-autoformat'
|
||||
" Theme
|
||||
Plug 'pineapplegiant/spaceduck', { 'branch': 'main' }
|
||||
Plug 'folke/tokyonight.nvim'
|
||||
Plug 'EdenEast/nightfox.nvim'
|
||||
Plug 'bluz71/vim-moonfly-colors'
|
||||
Plug 'NLKNguyen/papercolor-theme'
|
||||
" Python Plugins
|
||||
Plug 'Valloric/YouCompleteMe'
|
||||
Plug 'vim-syntastic/syntastic'
|
||||
Plug 'nvie/vim-flake8'
|
||||
Plug 'python-mode/python-mode'
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
"
|
||||
"general development plugins
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'flazz/vim-colorschemes'
|
||||
Plug 'davidhalter/jedi-vim'
|
||||
Plug 'ervandew/supertab'
|
||||
Plug 'ryanoasis/vim-webdevicons'
|
||||
Plug 'direnv/direnv.vim'
|
||||
Plug 'sheerun/vim-polyglot'
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'psf/black', { 'branch': 'main' }
|
||||
Plug 'junegunn/fzf.vim'
|
||||
Plug 'navarasu/onedark.nvim'
|
||||
" This was fun and all, but getting data out sucked, so if they ever get an
|
||||
" update, maybe try again
|
||||
"Plugin 'ActivityWatch/aw-watcher-vim'
|
||||
"
|
||||
" Bind zonefile stuff
|
||||
Plug 'seveas/bind.vim'
|
||||
"
|
||||
" extline extends rst stuff
|
||||
Plug 'drmikehenry/vim-extline'
|
||||
Plug 'brookhong/DBGPavim'
|
||||
Plug 'dhruvasagar/vim-table-mode'
|
||||
Plug 'godlygeek/tabular'
|
||||
Plug 'plasticboy/vim-markdown'
|
||||
" Additional languages
|
||||
Plug 'nathanielc/vim-tickscript'
|
||||
Plug 'fatih/vim-go'
|
||||
Plug 'dbeniamine/cheat.sh-vim'
|
||||
Plug 'jacqueswww/vim-vyper'
|
||||
Plug 'tomlion/vim-solidity'
|
||||
" I'm a cheap bastard and am not paying for copilot...so let's shut it up
|
||||
" Plug 'github/copilot.vim'
|
||||
" hey..cheap option arrived for copilot alternative ;)
|
||||
Plug 'Exafunction/codeium.vim'
|
||||
call plug#end()
|
||||
|
||||
filetype plugin indent on
|
||||
" Set colors for spaceduck
|
||||
if exists('+termguicolors')
|
||||
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||
set termguicolors
|
||||
endif
|
||||
let g:airline_theme = 'spaceduck'
|
||||
if exists('+termguicolors')
|
||||
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||
set termguicolors
|
||||
endif
|
||||
|
||||
" colorscheme spaceduck
|
||||
colorscheme tokyonight-night
|
||||
|
||||
" set the number style to hybrid
|
||||
set number relativenumber
|
||||
|
||||
|
||||
" READ FROM .vimrc
|
||||
|
||||
set nocompatible " required
|
||||
set splitright
|
||||
filetype off " required
|
||||
" Handy hack to force a write using sudo when you forget to 'sudo vi'
|
||||
cmap w!! w !sudo tee > /dev/null %
|
||||
|
||||
set pastetoggle=<F10>
|
||||
|
||||
set incsearch
|
||||
set encoding=utf-8
|
||||
set wrap
|
||||
set linebreak
|
||||
set nolist
|
||||
|
||||
" Attempt to fix python/python3 issue
|
||||
" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1'
|
||||
"if exists('py2') && has('python')
|
||||
"elseif has('python3')
|
||||
if !has('patch-8.1.201')
|
||||
silent! python3 1
|
||||
endif
|
||||
|
||||
"let g:deoplete#enable_at_startup = 1
|
||||
"Plugin 'Shougo/deoplete.nvim'
|
||||
|
||||
" Add all your plugins here (note older versions of Vundle used Bundle instead
|
||||
" of Plugin)
|
||||
|
||||
" All of your Plugins must be added before the following line
|
||||
filetype plugin indent on " required
|
||||
"Powerline setup
|
||||
"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9
|
||||
" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9
|
||||
set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9
|
||||
" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9
|
||||
let g:Powerline_symbols = 'fancy'
|
||||
let g:airline_powerline_fonts = 1
|
||||
set laststatus=2
|
||||
|
||||
"NerdTree map to <f2>
|
||||
map <F2> :NERDTreeToggle<CR>
|
||||
|
||||
"colorscheme jellybeans
|
||||
|
||||
"Make python-friendly tabs
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set smarttab
|
||||
set softtabstop=4
|
||||
set autoindent
|
||||
set expandtab
|
||||
"let &colorcolumn="80,".join(range(81,999),",")
|
||||
|
||||
augroup vimrc_autocmds
|
||||
autocmd!
|
||||
"highlight characters past col 80
|
||||
autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black
|
||||
autocmd FileType python match Excess /\%80v.*/
|
||||
autocmd FileType python set nowrap
|
||||
" autocmd FileType rst set textwidth=80
|
||||
autocmd FileType markdown set textwidth=80
|
||||
augroup END
|
||||
|
||||
set mouse=a
|
||||
|
||||
" python-mode settings
|
||||
" Python-mode
|
||||
" Activate rope
|
||||
" Keys:
|
||||
" K Show python docs
|
||||
" <Ctrl-Space> Rope autocomplete
|
||||
" <Ctrl-c>g Rope goto definition
|
||||
" <Ctrl-c>d Rope show documentation
|
||||
" <Ctrl-c>f Rope find occurrences
|
||||
" <Leader>b Set, unset breakpoint (g:pymode_breakpoint enabled)
|
||||
" [[ Jump on previous class or function (normal, visual, operator
|
||||
" modes)
|
||||
" ]] Jump on next class or function (normal, visual, operator
|
||||
" modes)
|
||||
" [M Jump on previous class or method (normal, visual, operator
|
||||
" modes)
|
||||
" ]M Jump on next class or method (normal, visual, operator
|
||||
" modes)
|
||||
let g:pymode_rope = 0
|
||||
|
||||
" Documentation
|
||||
let g:pymode_doc = 1
|
||||
let g:pymode_doc_key = 'K'
|
||||
|
||||
"Linting
|
||||
let g:pymode_lint = 1
|
||||
"let g:pymode_lint_checker = "pyflakes,pep8"
|
||||
let g:pymode_lint_checker = "flake8,pep8"
|
||||
" Auto check on save
|
||||
let g:pymode_lint_write = 1
|
||||
|
||||
" Support virtualenv
|
||||
let g:pymode_virtualenv = 1
|
||||
|
||||
" Enable breakpoints plugin
|
||||
let g:pymode_breakpoint = 1
|
||||
let g:pymode_breakpoint_key = '<leader>b'
|
||||
|
||||
" syntax highlighting
|
||||
let g:pymode_syntax = 1
|
||||
let g:pymode_syntax_all = 1
|
||||
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
|
||||
let g:pymode_syntax_space_errors = g:pymode_syntax_all
|
||||
|
||||
" Don't autofold code
|
||||
let g:pymode_folding = 0
|
||||
let g:riv_fold_level = 0
|
||||
let g:riv_fold_auto_update = 0
|
||||
nnoremap <space> za
|
||||
|
||||
let g:dbgPavimPort = 9000
|
||||
let g:dbgPavimBreakAtEntry = 0
|
||||
let g:dbgPavimOnce = 1
|
||||
|
||||
let python_highlight_all=1
|
||||
syntax on
|
||||
|
||||
let g:pymode_python = 'python3'
|
||||
|
||||
" For table mode RST friendliness
|
||||
let g:table_mode_corner_corner='+'
|
||||
let g:table_mode_header_fillchar='='
|
||||
let g:webdevicons_enable = 1
|
||||
let g:webdevicons_enable_nerdtree = 1
|
||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
|
||||
autocmd BufWritePre *.py execute ':Black'
|
||||
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.5, 'highlight': 'Comment' } }
|
||||
let g:indentLine_fileTypeExclude = ['markdown']
|
||||
set cursorline
|
||||
|
||||
|
||||
|
||||
imap <silent><script><expr> <C-L> copilot#Accept("\<CR>")
|
||||
let g:copilot_no_tab_map = v:true
|
||||
|
||||
autocmd FileType gitcommit call setpos('.', [0, 1, 1, 0])
|
||||
Loading…
Add table
Add a link
Reference in a new issue