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