diff options
Diffstat (limited to 'content/notes/2023-11-07-personal-sane-vim-defaults.md')
| -rw-r--r-- | content/notes/2023-11-07-personal-sane-vim-defaults.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/content/notes/2023-11-07-personal-sane-vim-defaults.md b/content/notes/2023-11-07-personal-sane-vim-defaults.md new file mode 100644 index 0000000..a9157ad --- /dev/null +++ b/content/notes/2023-11-07-personal-sane-vim-defaults.md | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | --- | ||
| 2 | title: "Personal sane Vim defaults" | ||
| 3 | url: /apersonal-sane-vim-defaults.html | ||
| 4 | date: 2023-11-07T01:04:28+02:00 | ||
| 5 | type: note | ||
| 6 | draft: false | ||
| 7 | --- | ||
| 8 | |||
| 9 | I have found many "sane" default configs on the net and this is my favorite | ||
| 10 | personal list. This is how my `.vimrc` file looks like. | ||
| 11 | |||
| 12 | ```vimrc | ||
| 13 | " General sane defaults. | ||
| 14 | syntax enable | ||
| 15 | colorscheme sorbet | ||
| 16 | nnoremap q: <nop> | ||
| 17 | set nocompatible | ||
| 18 | set relativenumber | ||
| 19 | set nohlsearch | ||
| 20 | set smartcase | ||
| 21 | set ignorecase | ||
| 22 | set incsearch | ||
| 23 | set autoindent | ||
| 24 | set nowrap | ||
| 25 | set nobackup | ||
| 26 | set noswapfile | ||
| 27 | set autoread | ||
| 28 | set wildmenu | ||
| 29 | set encoding=utf8 | ||
| 30 | set backspace=2 | ||
| 31 | set scrolloff=4 | ||
| 32 | set spelllang=en_us | ||
| 33 | |||
| 34 | " Status Line enhancements. | ||
| 35 | set laststatus=2 | ||
| 36 | set statusline=%f%m%=%y\ %{strlen(&fenc)?&fenc:'none'}\ %l:%c\ %L\ %P | ||
| 37 | hi StatusLine cterm=NONE ctermbg=black ctermfg=brown | ||
| 38 | hi StatusLineNC cterm=NONE ctermbg=black ctermfg=darkgray | ||
| 39 | |||
| 40 | " Commenting blocks of code. | ||
| 41 | augroup commenting_blocks_of_code | ||
| 42 | autocmd! | ||
| 43 | autocmd FileType c,cpp,go,scala let b:comment_leader = '// ' | ||
| 44 | autocmd FileType sh,ruby,python let b:comment_leader = '# ' | ||
| 45 | autocmd FileType conf,fstab let b:comment_leader = '# ' | ||
| 46 | autocmd FileType lua let b:comment_leader = '-- ' | ||
| 47 | autocmd FileType vim let b:comment_leader = '" ' | ||
| 48 | augroup END | ||
| 49 | noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR> | ||
| 50 | noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR> | ||
| 51 | |||
| 52 | " Language specific indentation. | ||
| 53 | filetype plugin indent on | ||
| 54 | autocmd Filetype make,go,c,cpp setlocal noexpandtab tabstop=4 shiftwidth=4 | ||
| 55 | autocmd Filetype html,js,css setlocal expandtab tabstop=2 shiftwidth=2 | ||
| 56 | ``` | ||
| 57 | |||
| 58 | I keep it pretty vanilla so this is about everything I have in the file. | ||
| 59 | |||
