This commit is contained in:
2024-02-08 20:48:50 +01:00
commit 525475fc20
5 changed files with 179 additions and 0 deletions

26
README.md Normal file
View 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
View 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
View 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
View File

@@ -0,0 +1,4 @@
# remap prefix
unbind C-b
set-option -g prefix `
bind-key ` send-prefix

48
vimrc.vim Normal file
View 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