first
This commit is contained in:
26
README.md
Normal file
26
README.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Purpose
|
||||||
|
|
||||||
|
Get up and going in Linux with some nice bash aliases, neovim configuration + plugins, and tmux.
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
|
||||||
|
- tmux
|
||||||
|
- npm or nvm
|
||||||
|
- neovim 0.8+
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
Symlink the config files to `~/.config/nvim` and `~`, respectively.
|
||||||
|
|
||||||
|
> ln -s $HOME/repos/dotfiles/init.lua $HOME/.config/nvim/init.lua
|
||||||
|
> ln -s $HOME/repos/dotfiles/vimrc.vim $HOME/.config/nvim/vimrc.vim
|
||||||
|
> ln -s $HOME/repos/dotfiles/bash_aliases $HOME/.bash_aliases
|
||||||
|
> ln -s $HOME/repos/dotfiles/tmux.conf $HOME/.tmux.conf
|
||||||
|
|
||||||
|
After Coc is installed, install coc-pyright and pyright:
|
||||||
|
|
||||||
|
# terminal:
|
||||||
|
> npm install -g pyright
|
||||||
|
> sudo apt install ripgrep
|
||||||
|
# inside nvim:
|
||||||
|
:CocInstall coc-pyright
|
||||||
24
bash_aliases
Normal file
24
bash_aliases
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
alias nvim=~/nvim-linux64/bin/nvim
|
||||||
|
alias vi=nvim
|
||||||
|
alias ss='source ~/.bashrc'
|
||||||
|
alias bb='vi ~/.bashrc'
|
||||||
|
alias ba='vi ~/.bash_aliases'
|
||||||
|
alias bs='vi ~/.git_secret'
|
||||||
|
alias r='cd ~/repos && pwd'
|
||||||
|
alias vl='vi ~/.config/nvim/init.lua'
|
||||||
|
alias vv='vi ~/.config/nvim/vimrc.vim'
|
||||||
|
alias gb='git branch'
|
||||||
|
alias gl='git log'
|
||||||
|
alias pp='vi ~/.profile'
|
||||||
|
alias pg='git pull origin $(git branch --show-current)'
|
||||||
|
alias gp='git push origin $(git branch --show-current)'
|
||||||
|
alias gs='git status'
|
||||||
|
alias gd='git diff'
|
||||||
|
alias ga='git add --all'
|
||||||
|
alias l='ls -l'
|
||||||
|
alias i='ipython'
|
||||||
|
alias python=python3
|
||||||
|
|
||||||
|
function gc() {
|
||||||
|
git commit -m "$1"
|
||||||
|
}
|
||||||
77
init.lua
Normal file
77
init.lua
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
vim.opt.colorcolumn = "120"
|
||||||
|
vim.opt.updatetime = 50 -- improve perf, less frequent swp writes
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
vim.opt.signcolumn = "yes"
|
||||||
|
vim.opt.isfname:append("@-@")
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
"github/copilot.vim",
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
"tpope/vim-commentary",
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
opts = {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.5',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim',
|
||||||
|
'BurntSushi/ripgrep'}
|
||||||
|
},
|
||||||
|
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'},
|
||||||
|
{'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'},
|
||||||
|
{'neovim/nvim-lspconfig'},
|
||||||
|
{'hrsh7th/cmp-nvim-lsp'},
|
||||||
|
{'hrsh7th/nvim-cmp'},
|
||||||
|
{'L3MON4D3/LuaSnip'},
|
||||||
|
{"neoclide/coc.nvim", branch = 'release'},
|
||||||
|
{
|
||||||
|
"kylechui/nvim-surround",
|
||||||
|
version = "*",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("nvim-surround").setup({
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
})
|
||||||
|
require('telescope').setup {
|
||||||
|
extensions = {
|
||||||
|
fzf = {
|
||||||
|
fuzzy = true, -- false will only do exact matching
|
||||||
|
override_generic_sorter = true, -- override the generic sorter
|
||||||
|
override_file_sorter = true, -- override the file sorter
|
||||||
|
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||||
|
-- the default case_mode is "smart_case"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local vimrc = vim.fn.stdpath("config") .. "/vimrc.vim"
|
||||||
|
vim.cmd.source(vimrc)
|
||||||
|
local lsp_zero = require('lsp-zero')
|
||||||
|
|
||||||
|
lsp_zero.on_attach(function(client, bufnr)
|
||||||
|
lsp_zero.default_keymaps({buffer = bufnr})
|
||||||
|
end)
|
||||||
|
require('lspconfig').pyright.setup({
|
||||||
|
virtual_text=false,
|
||||||
|
})
|
||||||
4
tmux.conf
Normal file
4
tmux.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# remap prefix
|
||||||
|
unbind C-b
|
||||||
|
set-option -g prefix `
|
||||||
|
bind-key ` send-prefix
|
||||||
48
vimrc.vim
Normal file
48
vimrc.vim
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
set autoindent expandtab tabstop=4 shiftwidth=4
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
" When editing a file, always jump to the last known cursor position.
|
||||||
|
autocmd BufReadPost *
|
||||||
|
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
|
\ | exe "normal! g`\""
|
||||||
|
\ | endif
|
||||||
|
|
||||||
|
nnoremap <silent> <C-s> :w<cr>
|
||||||
|
nnoremap <silent> <C-n> :noh<cr>
|
||||||
|
nnoremap <C-l> :bn<cr>
|
||||||
|
nnoremap <C-h> :bp<cr>
|
||||||
|
inoremap <silent> <C-S> <esc>:w<cr>i
|
||||||
|
let mapleader=" "
|
||||||
|
nnoremap <leader>w :w<cr>:bw<cr>
|
||||||
|
nnoremap <silent> <leader>W :bw<cr>
|
||||||
|
nnoremap <leader>v :e ~/.config/nvim/init.lua<cr>
|
||||||
|
nnoremap <leader>r :e ~/.config/nvim/vimrc.vim<cr>
|
||||||
|
nnoremap <leader>t :e ~/.tmux.conf<cr>
|
||||||
|
nnoremap <silent> <leader>x :Sex<cr>
|
||||||
|
nnoremap <leader>s :source ~/.config/nvim/init.lua<cr>
|
||||||
|
nnoremap <leader>q :xa<cr>
|
||||||
|
nnoremap <leader>f <cmd>Telescope find_files<cr>
|
||||||
|
nnoremap <leader>g <cmd>Telescope live_grep<cr>
|
||||||
|
nnoremap <leader>b <cmd>Telescope buffers<cr>
|
||||||
|
nnoremap <leader>h <cmd>Telescope help_tags<cr>
|
||||||
|
nmap <silent> <leader>j <Plug>(coc-diagnostic-prev)
|
||||||
|
nmap <silent> <leader>d <Plug>(coc-diagnostic-next)
|
||||||
|
inoremap <expr><Tab> CheckBackspace() ? "\<Tab>" : "\<C-n>"
|
||||||
|
|
||||||
|
vnoremap <C-k> :m '<-2<CR>gv=gv
|
||||||
|
vnoremap <C-j> :m '>+1<CR>gv=gv
|
||||||
|
nnoremap <C-k> :m -2<CR>
|
||||||
|
nnoremap <C-j> :m +1<CR>
|
||||||
|
|
||||||
|
function! CheckBackspace() abort
|
||||||
|
let col = col('.') - 1
|
||||||
|
return !col || getline('.')[col - 1] =~# '\s'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
colorscheme tokyonight-night
|
||||||
|
|
||||||
|
let g:LanguageClient_useVirtualText = 0 " disable inline errors
|
||||||
|
|
||||||
|
set undodir=~/.config/nvim/undodir
|
||||||
|
set undofile
|
||||||
|
set number relativenumber
|
||||||
Reference in New Issue
Block a user