Created
February 8, 2023 03:29
-
-
Save ppmzhang2/1641d66e17fffa451bbfa6a12cf42e11 to your computer and use it in GitHub Desktop.
Very concise vim configuration
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
" ============================================================================= | |
" | |
" Sections: | |
" -> vim_plug | |
" -> general | |
" -> user_interface | |
" -> colors_and_fonts | |
" -> misc | |
" | |
" ============================================================================= | |
" ============================================================================= | |
" => vim_plug | |
" ============================================================================= | |
call plug#begin() | |
Plug 'morhetz/gruvbox' | |
" - Automatically executes `filetype plugin indent on` and `syntax enable`. | |
call plug#end() | |
" You can revert the settings after the call like so: | |
" filetype indent off " Disable file-type-specific indentation | |
" syntax off " Disable syntax highlighting | |
" ============================================================================= | |
" => general | |
" ============================================================================= | |
" Sets how many lines of history VIM has to remember | |
set history=500 | |
" Enable filetype plugins | |
filetype plugin on | |
filetype indent on | |
" Set to auto read when a file is changed from the outside | |
set autoread | |
au FocusGained,BufEnter * checktime | |
let mapleader = "," | |
" To avoid the extra 'shift' keypress when typing the colon | |
:nmap ; : | |
" Turn backup off, since most stuff is in SVN, git etc. anyway... | |
set nobackup | |
set nowb | |
set noswapfile | |
" Pressing ,ss will toggle and untoggle spell checking | |
map <leader>ss :setlocal spell!<cr> | |
" Return to last edit position when opening files (You want this!) | |
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif | |
" Always center when scrolling (You want this too!) | |
nnoremap k kzz | |
nnoremap j jzz | |
" ============================================================================= | |
" => user_interface | |
" ============================================================================= | |
" show line number | |
set number | |
" Set 7 lines to the cursor - when moving vertically using j/k | |
set so=7 | |
" Avoid garbled characters in Chinese language windows OS | |
let $LANG='en' | |
set langmenu=en | |
" Turn on the Wild menu | |
set wildmenu | |
" Ignore compiled files | |
set wildignore=*.o,*~,*.pyc | |
if has("win16") || has("win32") | |
set wildignore+=.git\*,.hg\*,.svn\* | |
else | |
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store | |
endif | |
"Always show current position | |
set ruler | |
" Height of the command bar | |
set cmdheight=1 | |
" A buffer becomes hidden when it is abandoned | |
set hid | |
" Configure backspace so it acts as it should act | |
set backspace=eol,start,indent | |
set whichwrap+=<,>,h,l | |
" Ignore case when searching | |
set ignorecase | |
" When searching try to be smart about cases | |
set smartcase | |
" Highlight search results | |
set hlsearch | |
" Makes search act like search in modern browsers | |
set incsearch | |
" Don't redraw while executing macros (good performance config) | |
set lazyredraw | |
" For regular expressions turn magic on | |
set magic | |
" Show matching brackets when text indicator is over them | |
set showmatch | |
" How many tenths of a second to blink when matching brackets | |
set mat=2 | |
" No annoying sound on errors | |
set noerrorbells | |
set novisualbell | |
set t_vb= | |
set tm=500 | |
" Properly disable sound on errors on MacVim | |
if has("gui_macvim") | |
autocmd GUIEnter * set vb t_vb= | |
endif | |
" Add a bit extra margin to the left | |
set foldcolumn=1 | |
" Always show the status line | |
set laststatus=2 | |
" ============================================================================= | |
" => colors_and_fonts | |
" ============================================================================= | |
" Enable syntax highlighting | |
syntax enable | |
" Enable 256 colors palette in Gnome Terminal | |
if $COLORTERM == 'gnome-terminal' | |
set t_Co=256 | |
endif | |
colorscheme gruvbox | |
set background=dark | |
" Set extra options when running in GUI mode | |
if has("gui_running") | |
set guioptions-=T | |
set guioptions-=e | |
set guifont=* | |
set t_Co=256 | |
set guitablabel=%M\ %t | |
endif | |
" Set utf8 as standard encoding and en_US as the standard language | |
set encoding=utf8 | |
" Use Unix as the standard file type | |
set ffs=unix,dos,mac | |
" ============================================================================= | |
" => misc | |
" ============================================================================= | |
" Use spaces instead of tabs | |
set expandtab | |
" Be smart when using tabs ;) | |
set smarttab | |
" 1 tab == 4 spaces | |
set shiftwidth=4 | |
set tabstop=4 | |
" Linebreak on 500 characters | |
set lbr | |
set tw=500 | |
set ai "Auto indent | |
set si "Smart indent | |
set wrap "Wrap lines |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment