mirror of
https://github.com/tomru/DotfilesOld.git
synced 2026-03-03 22:47:29 +01:00
306 lines
5.8 KiB
VimL
306 lines
5.8 KiB
VimL
" vim: set fenc=utf-8 ft=vim fdm=marker fmr={{{,}}}:
|
|
" author: Thomas Ruoff
|
|
|
|
" Basics {{{
|
|
if has('vim_starting')
|
|
set encoding=utf-8
|
|
scriptencoding utf-8
|
|
|
|
set clipboard& clipboard^=unnamed,unnamedplus
|
|
endif
|
|
|
|
set hidden
|
|
|
|
set ttyfast
|
|
set lazyredraw
|
|
set updatetime=300
|
|
set synmaxcol=2000
|
|
|
|
set modeline
|
|
|
|
set nobackup
|
|
set noswapfile
|
|
|
|
set mouse=a
|
|
set mousehide
|
|
|
|
set wildmode=list:longest,full
|
|
set wildignore+=*.swp,*.bak,*.jpg,*.gif,*.png,*.git,
|
|
set wildignore+=**/node_modules/**
|
|
|
|
set splitright
|
|
set splitbelow
|
|
|
|
set shortmess+=c
|
|
|
|
|
|
" set ignorecase
|
|
set infercase
|
|
set smartcase
|
|
set ignorecase
|
|
set hlsearch
|
|
|
|
set gdefault
|
|
|
|
set number
|
|
|
|
" Always show the signcolumn, otherwise it would shift the text each time
|
|
" diagnostics appear/become resolved.
|
|
if has("patch-8.1.1564")
|
|
" Recently vim can merge signcolumn and number column into one
|
|
set signcolumn=number
|
|
else
|
|
set signcolumn=yes
|
|
endif
|
|
|
|
set report=0
|
|
|
|
set showcmd
|
|
set showmatch
|
|
|
|
set spellcapcheck=
|
|
set complete+=kspell
|
|
|
|
if has('vim_starting')
|
|
let g:mapleader="\<Space>"
|
|
let g:maplocalleader=";"
|
|
|
|
nnoremap <Space> <Nop>
|
|
xnoremap <Space> <Nop>
|
|
nnoremap , <Nop>
|
|
xnoremap , <Nop>
|
|
nnoremap ; <Nop>
|
|
xnoremap ; <Nop>
|
|
endif
|
|
|
|
" netrw
|
|
let g:netrw_fastbrowse = 0
|
|
let g:netrw_banner = 0
|
|
" sort is affecting only: directories on the top, files below
|
|
let g:netrw_sort_sequence = '[\/]$,*'
|
|
|
|
" }}}
|
|
|
|
" Plugins {{{
|
|
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
|
|
|
|
|
|
Plug 'tpope/vim-sensible'
|
|
Plug 'tpope/vim-unimpaired'
|
|
Plug 'tpope/vim-surround'
|
|
Plug 'tpope/vim-abolish'
|
|
Plug 'tpope/vim-vinegar'
|
|
Plug 'tpope/vim-projectionist'
|
|
Plug 'tpope/vim-fugitive'
|
|
|
|
Plug 'andymass/vim-matchup'
|
|
|
|
Plug 'machakann/vim-highlightedyank'
|
|
|
|
Plug 'editorconfig/editorconfig-vim'
|
|
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
|
|
|
|
Plug 'mbbill/undotree'
|
|
|
|
" TODO snippets https://www.lunarvim.org/plugins/02-default-plugins.html#snippets
|
|
Plug 'SirVer/ultisnips'
|
|
|
|
" Plug 'pangloss/vim-javascript'
|
|
" Plug 'MaxMEllon/vim-jsx-pretty'
|
|
|
|
" Plug 'sheerun/vim-polyglot'
|
|
" let g:polyglot_disabled = ['javascript', 'jsx', 'latex']
|
|
|
|
" Plug 'lervag/vimtex', { 'for': 'tex' }
|
|
" let g:vimtex_view_method = 'zathura'
|
|
|
|
Plug 'wellle/targets.vim'
|
|
|
|
Plug 'janko-m/vim-test'
|
|
let test#strategy = "neovim"
|
|
|
|
" Plug 'ludovicchabant/vim-gutentags'
|
|
" let g:gutentags_cache_dir="~/.tags"
|
|
" let g:gutentags_file_list_command = {
|
|
" \ 'markers': {
|
|
" \ '.git': 'git ls-files',
|
|
" \ '.hg': 'hg files',
|
|
" \ },
|
|
" \ }
|
|
|
|
Plug 'ap/vim-css-color'
|
|
|
|
Plug 'godlygeek/tabular'
|
|
Plug 'plasticboy/vim-markdown'
|
|
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
|
|
|
|
" Lua Plugins
|
|
Plug 'RRethy/nvim-base16'
|
|
|
|
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
|
|
|
Plug 'neovim/nvim-lspconfig'
|
|
Plug 'jose-elias-alvarez/null-ls.nvim'
|
|
Plug 'kabouzeid/nvim-lspinstall'
|
|
"Plug 'tamago324/nlsp-settings.nvim'
|
|
Plug 'folke/trouble.nvim'
|
|
|
|
Plug 'kyazdani42/nvim-web-devicons' " for file icons
|
|
Plug 'kyazdani42/nvim-tree.lua'
|
|
|
|
Plug 'ahmedkhalf/project.nvim'
|
|
|
|
Plug 'nvim-lua/plenary.nvim'
|
|
Plug 'nvim-telescope/telescope.nvim'
|
|
nnoremap <leader>f :Telescope find_files<cr>
|
|
|
|
Plug 'lewis6991/gitsigns.nvim'
|
|
Plug 'windwp/nvim-autopairs'
|
|
|
|
Plug 'folke/which-key.nvim'
|
|
|
|
" TODO compnletion https://github.com/hrsh7th/nvim-cmp
|
|
|
|
Plug 'hoob3rt/lualine.nvim'
|
|
|
|
|
|
|
|
" debug
|
|
" Plug 'tweekmonster/startuptime.vim'
|
|
|
|
call plug#end()
|
|
|
|
lua << EOF
|
|
require('nvim-treesitter.configs').setup{
|
|
hightlight = { enabled = true },
|
|
incremental_selection = { enable = false },
|
|
ensure_installed = {'javascript'}
|
|
}
|
|
|
|
require("null-ls").config({ })
|
|
require("lspconfig")["null-ls"].setup({ })
|
|
require('lspinstall').setup{}
|
|
local servers = require('lspinstall').installed_servers()
|
|
for _, server in pairs(servers) do
|
|
require'lspconfig'[server].setup{}
|
|
end
|
|
|
|
require("trouble").setup{}
|
|
|
|
require'nvim-web-devicons'.setup{}
|
|
require('nvim-tree').setup{}
|
|
|
|
require('project_nvim').setup{}
|
|
|
|
require('telescope').setup{}
|
|
-- require('telescope').load_extension('projects')
|
|
|
|
require('gitsigns').setup{}
|
|
|
|
require('nvim-autopairs').setup{}
|
|
|
|
local wk = require('which-key')
|
|
wk.setup()
|
|
wk.register({
|
|
c = {"<cmd>bd<cr>", "close"},
|
|
s = "save",
|
|
h = "gitsigns",
|
|
f ={
|
|
name = "file",
|
|
f = { "<cmd>Telescope find_files<cr>", "Find File" },
|
|
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
|
|
c = { "<cmd>e $MYVIMRC<cr>", "Open config" },
|
|
},
|
|
g = {
|
|
name = "git",
|
|
g = {"<cmd>Git<cr>", "fugitive"}
|
|
},
|
|
t = {
|
|
name = "test",
|
|
n = {"<cmd>TestNearest<cr>", "Test Nearest"},
|
|
f = {"<cmd>TestFile<cr>", "Test File"},
|
|
l = {"<cmd>TestLast<cr>", "Test Last"},
|
|
}
|
|
}, { prefix = "<leader>"})
|
|
|
|
require('lualine').setup{ theme = 'gruvbox'}
|
|
EOF
|
|
|
|
" }}}
|
|
|
|
" Local .vimrc {{{
|
|
set exrc
|
|
set secure
|
|
" }}}
|
|
|
|
" Text Formatting {{{
|
|
set list
|
|
|
|
if v:version > 800
|
|
set breakindent
|
|
endif
|
|
|
|
set showbreak=↳
|
|
set textwidth=0
|
|
set colorcolumn=+1
|
|
set nojoinspaces
|
|
|
|
set tabstop=4
|
|
set softtabstop=4
|
|
set shiftwidth=4
|
|
set expandtab
|
|
|
|
" }}}
|
|
|
|
" Folding {{{
|
|
set foldmethod=indent
|
|
set foldlevelstart=1
|
|
set nofoldenable
|
|
" }}}
|
|
|
|
" Diff settings {{{
|
|
set fillchars+=diff:⣿
|
|
set diffopt=vertical
|
|
set diffopt+=filler
|
|
set diffopt+=iwhite
|
|
" }}}
|
|
|
|
" {{{ Undo
|
|
set undodir=$VIM_DATA_PATH/undos
|
|
set undofile
|
|
set undolevels=1000
|
|
set undoreload=10000
|
|
" }}}
|
|
|
|
" Visual Setting {{{
|
|
"
|
|
set cursorline
|
|
set background=dark
|
|
colorscheme base16-gruvbox-dark-medium
|
|
set number
|
|
|
|
" }}}
|
|
|
|
" Key mappings {{{
|
|
|
|
"" fast escaping
|
|
inoremap jk <ESC>
|
|
"" toggle fold
|
|
nnoremap <cr> za
|
|
|
|
"" abbreviations
|
|
cnoreabbrev W! w!
|
|
cnoreabbrev Q! q!
|
|
cnoreabbrev Qall! qall!
|
|
cnoreabbrev Wq wq
|
|
cnoreabbrev Wa wa
|
|
cnoreabbrev wQ wq
|
|
cnoreabbrev WQ wq
|
|
cnoreabbrev W w
|
|
cnoreabbrev Q q
|
|
cnoreabbrev Qall qall
|
|
cnoreabbrev csfr csrf
|
|
|
|
" }}}
|
|
|