Last active
October 16, 2022 17:57
-
-
Save Walcriz/311a0d19cf14d945c6c8ca5909b9d36d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Configuration file for Vi Improved, save as ~/.vimrc to use. | |
" A heavly modified version of Miko Bartnicki's .vimrc by Walcriz. | |
" use Vim mode instead of pure Vi, it must be the first instruction | |
set nocompatible | |
" display settings | |
set encoding=utf-8 " encoding used for displaying file | |
set ruler " show the cursor position all the time | |
set showmatch " highlight matching braces | |
set showmode " show insert/replace/visual mode | |
" Line numbers | |
set number | |
" write settings | |
set confirm " confirm :q in case of unsaved changes | |
set fileencoding=utf-8 " encoding used when saving file | |
set nobackup " do not keep the backup~ file | |
" edit settings | |
set backspace=indent,eol,start " backspacing over everything in insert mode | |
set expandtab " fill tabs with spaces | |
set nojoinspaces " no extra space after '.' when joining lines | |
set shiftwidth=8 " set indentation depth to 8 columns | |
set softtabstop=8 " backspacing over 8 spaces like over tabs | |
set tabstop=8 " set tabulator length to 8 columns | |
set textwidth=80 " wrap lines automatically at 80th column | |
" search settings | |
set hlsearch " highlight search results | |
set ignorecase " do case insensitive search... | |
set incsearch " do incremental search | |
set smartcase " ...unless capital letters are used | |
" file type specific settings | |
filetype on " enable file type detection | |
filetype plugin on " load the plugins for specific file types | |
filetype indent on " automatically indent code | |
" syntax highlighting " set color scheme, must be installed first | |
set background=dark " dark background for console | |
syntax enable " enable syntax highlighting | |
" characters for displaying non-printable characters | |
set listchars=eol:$,tab:>-,trail:.,nbsp:_,extends:+,precedes:+ | |
" tuning for gVim only | |
if has('gui_running') | |
set background=light " light background for GUI | |
set columns=84 lines=48 " GUI window geometry | |
set guifont=Monospace\ 12 " font for GUI window | |
set number " show line numbers | |
endif | |
" automatic commands | |
if has('autocmd') | |
" file type specific automatic commands | |
" tuning textwidth for Java code | |
autocmd FileType java setlocal textwidth=132 | |
if has('gui_running') | |
autocmd FileType java setlocal columns=136 | |
endif | |
" don't replace Tabs with spaces when editing makefiles | |
autocmd Filetype makefile setlocal noexpandtab | |
" disable automatic code indentation when editing TeX and XML files | |
autocmd FileType tex,xml setlocal indentexpr= | |
" clean-up commands that run automatically on write; use with caution | |
" delete empty or whitespaces-only lines at the end of file | |
autocmd BufWritePre * :%s/\(\s*\n\)\+\%$//ge | |
" replace groups of empty or whitespaces-only lines with one empty line | |
autocmd BufWritePre * :%s/\(\s*\n\)\{3,}/\r\r/ge | |
" delete any trailing whitespaces | |
autocmd BufWritePre * :%s/\s\+$//ge | |
endif | |
" general key mappings | |
" fix pasting | |
set paste | |
" General settings | |
set smartindent | |
set tabstop=4 | |
set shiftwidth=4 | |
set formatoptions=tcrqn | |
" center view on the search result | |
noremap n nzz | |
noremap N Nzz | |
" press F4 to fix indentation in whole file; overwrites marker 'q' position | |
noremap <F4> mqggVG=`qzz | |
inoremap <F4> <Esc>mqggVG=`qzza | |
" press F5 to sort selection or paragraph | |
vnoremap <F5> :sort i<CR> | |
nnoremap <F5> Vip:sort i<CR> | |
" press F8 to turn the search results highlight off | |
noremap <F8> :nohl<CR> | |
inoremap <F8> <Esc>:nohl<CR>a | |
" press F12 to toggle showing the non-printable charactes | |
noremap <F12> :set list!<CR> | |
inoremap <F12> <Esc>:set list!<CR>a | |
" Lightline Vim | |
set noshowmode | |
set laststatus=2 | |
if !has('gui_running') | |
set t_Co=256 | |
endif | |
let g:lightline = { | |
\ 'colorscheme': 'one', | |
\ } | |
" Plugins | |
call plug#begin() | |
Plug 'itchyny/lightline.vim' | |
call plug#end() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment