21 changed files with 275 additions and 246 deletions
@ -0,0 +1,18 @@ |
|||||||
|
-- General Configurations (Any language/Tool) |
||||||
|
|
||||||
|
-- Stripping trailing whitespace on save |
||||||
|
vim.api.nvim_create_autocmd("BufWritePre", { |
||||||
|
pattern = { "*" }, |
||||||
|
command = [[:%s/\s\+$//e]] |
||||||
|
}) |
||||||
|
|
||||||
|
-- Standard variables |
||||||
|
vim.opt.expandtab = true -- tabs to spaces |
||||||
|
vim.opt.tabstop = 2 -- spaces entered when tab key is pressed |
||||||
|
vim.opt.shiftwidth = 2 -- spaces entered for indentation |
||||||
|
vim.opt.number = true -- Line numbering |
||||||
|
vim.opt.clipboard = "unnamedplus" -- Share system clipboard |
||||||
|
vim.opt.eol = true -- End of line at bottom of file |
||||||
|
vim.opt.shiftround = true |
||||||
|
vim.opt.list = true |
||||||
|
vim.opt.listchars={tab = »·, trail=·} |
@ -1,15 +0,0 @@ |
|||||||
" General Configurations (Any language/Tool) |
|
||||||
|
|
||||||
" Stripping trailing whitespace on save |
|
||||||
autocmd BufWritePre * :%s/\s\+$//e |
|
||||||
|
|
||||||
" Standard variables |
|
||||||
set expandtab " tabs to spaces |
|
||||||
set tabstop=2 " spaces entered when tab key is pressed |
|
||||||
set shiftwidth=2 " spaces entered for indentation |
|
||||||
set number " Line numbering |
|
||||||
set clipboard+=unnamedplus " Share system clipboard |
|
||||||
set eol " End of line at bottom of file |
|
||||||
set shiftround |
|
||||||
set list |
|
||||||
set list listchars=tab:»·,trail:· |
|
@ -0,0 +1,8 @@ |
|||||||
|
-- Fugitive Configuration |
||||||
|
-- |
||||||
|
-- Fugitive bindings |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>gs', ':Git<CR>', {noremap = true}) |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>gd', ':Git diff<CR>', {noremap = true}) |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>gb', ':Git blame<CR>', {noremap = true}) |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>gc', ':Git commit<CR>', {noremap = true}) |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>gp', ':Git push<CR>', {noremap = true}) |
@ -1,9 +0,0 @@ |
|||||||
" Fugitive Configuration |
|
||||||
|
|
||||||
" Fugitive bindings |
|
||||||
nnoremap <Leader>gs :Git<CR> " This binding is a weird one. |
|
||||||
" :Git<CR> is now the full status page. |
|
||||||
nnoremap <Leader>gd :Git diff<CR> |
|
||||||
nnoremap <Leader>gb :Git blame<CR> |
|
||||||
nnoremap <Leader>gc :Git commit<CR> |
|
||||||
nnoremap <Leader>gp :Git push<CR> |
|
@ -0,0 +1,32 @@ |
|||||||
|
-- General-Purpose keybinds |
||||||
|
local keymap_opts = { silent = true, noremap = true } |
||||||
|
|
||||||
|
function NumberToggle() |
||||||
|
if vim.o.relativenumber then |
||||||
|
vim.opt.relativenumber = false |
||||||
|
vim.opt.number = true |
||||||
|
else |
||||||
|
vim.opt.relativenumber = true |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
-- Space is the leader key when outside of insert mode. |
||||||
|
vim.g.mapleader = " " |
||||||
|
|
||||||
|
vim.api.nvim_set_keymap('', '<Leader>t', ':NERDTreeToggle<CR>', {silent = true}) |
||||||
|
|
||||||
|
-- <SPC>-r controls relative line numbering. |
||||||
|
vim.api.nvim_set_keymap('n', '<Leader>r', '<cmd>lua NumberToggle()<CR>', keymap_opts) |
||||||
|
|
||||||
|
-- Pressing enter in command mode clears the current search highlighting until |
||||||
|
-- the next search. |
||||||
|
vim.api.nvim_set_keymap('n', '<CR>', ':noh<CR><CR>', keymap_opts) |
||||||
|
|
||||||
|
-- This one maps F5 to delete all trailing whitespace |
||||||
|
vim.api.nvim_set_keymap( |
||||||
|
'n', |
||||||
|
'<F5>', |
||||||
|
[[:let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>]], |
||||||
|
keymap_opts) |
||||||
|
|
||||||
|
|
@ -1,28 +0,0 @@ |
|||||||
" General-Purpose keybinds |
|
||||||
|
|
||||||
" Space is the leader key when outside of insert mode. |
|
||||||
let mapleader=" " |
|
||||||
|
|
||||||
map <silent> <Leader>t :NERDTreeToggle<CR> |
|
||||||
nnoremap <silent> <Leader>r :call NumberToggle()<CR> |
|
||||||
|
|
||||||
" Pressing enter in command mode clears the current search highlighting until |
|
||||||
" the next search. |
|
||||||
nnoremap <silent> <CR> :noh<CR><CR> |
|
||||||
|
|
||||||
" This one maps F5 to delete all trailing whitespace |
|
||||||
nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR> |
|
||||||
|
|
||||||
" Togglable relative line numbering |
|
||||||
function! NumberToggle() |
|
||||||
if(&relativenumber == 1) |
|
||||||
set norelativenumber |
|
||||||
set number |
|
||||||
else |
|
||||||
set relativenumber |
|
||||||
endif |
|
||||||
endfunc |
|
||||||
|
|
||||||
" <SPC>r will toggle relative line numbers. |
|
||||||
nnoremap <silent> <Leader>r :call NumberToggle()<CR> |
|
||||||
|
|
@ -0,0 +1,19 @@ |
|||||||
|
-- Python configurations |
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd( |
||||||
|
{ |
||||||
|
"BufNewFile", |
||||||
|
"BufRead", |
||||||
|
}, |
||||||
|
{ |
||||||
|
pattern = "*.py", |
||||||
|
callback = function() |
||||||
|
local buf = vim.api.nvim_get_current_buf() |
||||||
|
vim.api.nvim_buf_set_option(buf, "expandtab") |
||||||
|
vim.api.nvim_buf_set_option(buf, "autoindent") |
||||||
|
vim.api.nvim_buf_set_option(buf, "tabstop", 4) |
||||||
|
vim.api.nvim_buf_set_option(buf, "softtabstop", 4) |
||||||
|
vim.api.nvim_buf_set_option(buf, "shiftwidth", 4) |
||||||
|
end |
||||||
|
} |
||||||
|
) |
@ -1,9 +0,0 @@ |
|||||||
" Python configurations |
|
||||||
|
|
||||||
"" Set Python standard formatting. |
|
||||||
au BufNewFile,BufRead *.py |
|
||||||
\ set expandtab |" replace tabs with spaces |
|
||||||
\ set autoindent |" copy indent when starting a new line |
|
||||||
\ set tabstop=4 |
|
||||||
\ set softtabstop=4 |
|
||||||
\ set shiftwidth=4 |
|
@ -0,0 +1,74 @@ |
|||||||
|
-- Plugin definitions. |
||||||
|
|
||||||
|
local vim = vim |
||||||
|
local Plug = vim.fn['plug#'] |
||||||
|
|
||||||
|
-- I have no idea how to auto-install vim-plug on Windows |
||||||
|
-- so you will have to install it manually. |
||||||
|
vim.cmd [[ |
||||||
|
if !(has('win16') || has('win32') || has('win64')) |
||||||
|
if empty(glob('~/.config/nvim/autoload/plug.vim')) |
||||||
|
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs |
||||||
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
||||||
|
autocmd VimEnter * PlugInstall | source % |
||||||
|
endif |
||||||
|
endif |
||||||
|
]] |
||||||
|
|
||||||
|
vim.call('plug#begin', '~/.config/nvim/plugged') |
||||||
|
|
||||||
|
-- UI |
||||||
|
Plug 'arcticicestudio/nord-vim' |
||||||
|
Plug 'vim-airline/vim-airline' |
||||||
|
Plug 'vim-airline/vim-airline-themes' |
||||||
|
Plug 'ryanoasis/vim-devicons' |
||||||
|
Plug 'preservim/nerdtree' |
||||||
|
-- This plugin has been archived so if there are problems |
||||||
|
-- They may emerge here |
||||||
|
Plug 'Xuyuanp/nerdtree-git-plugin' |
||||||
|
Plug('nvim-treesitter/nvim-treesitter', {['do'] = vim.fn[':TSUpdate']}) |
||||||
|
|
||||||
|
-- General Editing |
||||||
|
Plug 'tpope/vim-surround' |
||||||
|
Plug 'tpope/vim-commentary' |
||||||
|
|
||||||
|
-- Search |
||||||
|
Plug 'kien/ctrlp.vim' |
||||||
|
|
||||||
|
-- Git |
||||||
|
Plug 'tpope/vim-fugitive' |
||||||
|
|
||||||
|
-- LSP |
||||||
|
Plug 'prabirshrestha/vim-lsp' |
||||||
|
Plug 'mattn/vim-lsp-settings' |
||||||
|
|
||||||
|
-- Autocomplete |
||||||
|
Plug 'prabirshrestha/asyncomplete.vim' |
||||||
|
Plug 'prabirshrestha/asyncomplete-lsp.vim' |
||||||
|
|
||||||
|
-- Tmux Helper |
||||||
|
Plug 'preservim/vimux' |
||||||
|
Plug 'christoomey/vim-tmux-navigator' |
||||||
|
|
||||||
|
-- Linting |
||||||
|
Plug 'w0rp/ale' |
||||||
|
|
||||||
|
-- Planning |
||||||
|
Plug 'jceb/vim-orgmode' |
||||||
|
|
||||||
|
-- Commands |
||||||
|
Plug 'skywind3000/asyncrun.vim' |
||||||
|
|
||||||
|
-- Syntax highlighting |
||||||
|
Plug 'sheerun/vim-polyglot' |
||||||
|
|
||||||
|
-- Languages |
||||||
|
|
||||||
|
------------------------- |
||||||
|
-- Python |
||||||
|
------------------------- |
||||||
|
|
||||||
|
-- Pyenv Support |
||||||
|
Plug 'lambdalisue/vim-pyenv' |
||||||
|
|
||||||
|
vim.call('plug#end') |
@ -1,69 +0,0 @@ |
|||||||
" Plugin definitions. |
|
||||||
|
|
||||||
" I have no idea how to auto-install vim-plug on Windows |
|
||||||
" so you will have to install it manually. |
|
||||||
if !(has('win16') || has('win32') || has('win64')) |
|
||||||
if empty(glob('~/.config/nvim/autoload/plug.vim')) |
|
||||||
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs |
|
||||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
|
||||||
autocmd VimEnter * PlugInstall | source % |
|
||||||
endif |
|
||||||
endif |
|
||||||
|
|
||||||
call plug#begin('~/.config/nvim/plugged') |
|
||||||
|
|
||||||
" UI |
|
||||||
Plug 'arcticicestudio/nord-vim' |
|
||||||
Plug 'vim-airline/vim-airline' |
|
||||||
Plug 'vim-airline/vim-airline-themes' |
|
||||||
Plug 'ryanoasis/vim-devicons' |
|
||||||
Plug 'preservim/nerdtree' |
|
||||||
"" This plugin has been archived so if there are problems |
|
||||||
"" They may emerge here |
|
||||||
Plug 'Xuyuanp/nerdtree-git-plugin' |
|
||||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} |
|
||||||
|
|
||||||
" General Editing |
|
||||||
Plug 'tpope/vim-surround' |
|
||||||
Plug 'tpope/vim-commentary' |
|
||||||
|
|
||||||
"" Search |
|
||||||
Plug 'kien/ctrlp.vim' |
|
||||||
|
|
||||||
"" Git |
|
||||||
Plug 'tpope/vim-fugitive' |
|
||||||
|
|
||||||
"" LSP |
|
||||||
Plug 'prabirshrestha/vim-lsp' |
|
||||||
Plug 'mattn/vim-lsp-settings' |
|
||||||
|
|
||||||
"" Autocomplete |
|
||||||
Plug 'prabirshrestha/asyncomplete.vim' |
|
||||||
Plug 'prabirshrestha/asyncomplete-lsp.vim' |
|
||||||
|
|
||||||
"" Tmux Helper |
|
||||||
Plug 'preservim/vimux' |
|
||||||
Plug 'christoomey/vim-tmux-navigator' |
|
||||||
|
|
||||||
"" Linting |
|
||||||
Plug 'w0rp/ale' |
|
||||||
|
|
||||||
"" Planning |
|
||||||
Plug 'jceb/vim-orgmode' |
|
||||||
|
|
||||||
"" Commands |
|
||||||
Plug 'skywind3000/asyncrun.vim' |
|
||||||
|
|
||||||
"" Syntax highlighting |
|
||||||
Plug 'sheerun/vim-polyglot' |
|
||||||
|
|
||||||
"" Languages |
|
||||||
|
|
||||||
""""""""""""""""""""""""" |
|
||||||
" Python |
|
||||||
""""""""""""""""""""""""" |
|
||||||
|
|
||||||
"" Pyenv Support |
|
||||||
Plug 'lambdalisue/vim-pyenv' |
|
||||||
|
|
||||||
call plug#end() |
|
@ -0,0 +1,22 @@ |
|||||||
|
-- Specific search configurations |
||||||
|
|
||||||
|
-- ctrlp hotkeys |
||||||
|
vim.g.ctrlp_map = '<c-p>' |
||||||
|
vim.g.ctrlp_cmd = 'CtrlP' |
||||||
|
|
||||||
|
-- Rebind Ctrl-P to match the window opening keys of nerd tree |
||||||
|
vim.g.ctrl_p_prompt_mappings = { |
||||||
|
['AcceptSelection("h")'] = {'<c-i>','<c-cr>','<c-s>'}, |
||||||
|
['AcceptSelection("v")'] = {'<c-s>','<RightMouse>' }, |
||||||
|
} |
||||||
|
|
||||||
|
-- ctrlp configuration |
||||||
|
vim.opt.wildignore = { |
||||||
|
"*/tmp/*", |
||||||
|
"*.so", |
||||||
|
"*.swp", |
||||||
|
"*.zip", |
||||||
|
"*\\tmp\\*", |
||||||
|
"*.exe", |
||||||
|
"*.out" |
||||||
|
} |
@ -1,15 +0,0 @@ |
|||||||
" Specific search configurations |
|
||||||
|
|
||||||
" ctrlp hotkeys |
|
||||||
let g:ctrlp_map='<c-p>' |
|
||||||
let g:ctrlp_cmd='CtrlP' |
|
||||||
|
|
||||||
" Rebind Ctrl-P to match the window opening keys of nerd tree |
|
||||||
let g:ctrl_p_prompt_mappings = { |
|
||||||
\ 'AcceptSelection("h")': ['<c-i>', '<c-cr>', '<c-s>'], |
|
||||||
\ 'AcceptSelection("v")': ['<c-s>', '<RightMouse>'], |
|
||||||
\ } |
|
||||||
|
|
||||||
" ctrlp configuration |
|
||||||
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux |
|
||||||
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows |
|
@ -0,0 +1,12 @@ |
|||||||
|
-- UI Definitions |
||||||
|
|
||||||
|
vim.cmd [[colorscheme nord]] |
||||||
|
|
||||||
|
-- Helps some themes. |
||||||
|
vim.opt.termguicolors = true |
||||||
|
|
||||||
|
-- Always show hidden files in nerdtree |
||||||
|
vim.g.NERDTreeShowHidden = 1 |
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,18 +0,0 @@ |
|||||||
" UI Definitions |
|
||||||
|
|
||||||
colorscheme nord |
|
||||||
|
|
||||||
" Helps some themes. |
|
||||||
if (has('nvim')) |
|
||||||
let $NVIM_TUI_ENABLE_TRUE_COLOR = 1 |
|
||||||
endif |
|
||||||
|
|
||||||
if (has('termguicolors')) |
|
||||||
set termguicolors |
|
||||||
endif |
|
||||||
|
|
||||||
" Always show hidden files in nerdtree |
|
||||||
let NERDTreeShowHidden=1 |
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,16 @@ |
|||||||
|
-- Initialization |
||||||
|
|
||||||
|
require('/conf/plugins') |
||||||
|
require('/conf/keybinds') |
||||||
|
require('/conf/config') |
||||||
|
require('/conf/ui') |
||||||
|
require('/conf/search') |
||||||
|
require('/conf/git') |
||||||
|
require('ui') |
||||||
|
|
||||||
|
local paths = vim.fn.glob(vim.fn.stdpath 'config' .. 'config/langs/*.lua', true, true, true) |
||||||
|
|
||||||
|
for _, file in ipairs(paths) do |
||||||
|
require(file) |
||||||
|
end |
||||||
|
|
@ -1,17 +0,0 @@ |
|||||||
" Initialization |
|
||||||
|
|
||||||
let g:nvim_config_root = stdpath('config') |
|
||||||
|
|
||||||
exe 'source' g:nvim_config_root . '/conf/plugins.vim' |
|
||||||
exe 'source' g:nvim_config_root . '/conf/keybinds.vim' |
|
||||||
exe 'source' g:nvim_config_root . '/conf/config.vim' |
|
||||||
exe 'source' g:nvim_config_root . '/conf/ui.vim' |
|
||||||
exe 'source' g:nvim_config_root . '/conf/search.vim' |
|
||||||
exe 'source' g:nvim_config_root . '/conf/git.vim' |
|
||||||
|
|
||||||
let lang_configs = glob(g:nvim_config_root . '/conf/langs/*.vim', 1, 1) |
|
||||||
|
|
||||||
for lang_config in lang_configs |
|
||||||
exe 'source' lang_config |
|
||||||
endfor |
|
||||||
|
|
Loading…
Reference in new issue