vimrc_basic
Differences
This shows you the differences between two versions of the page.
| vimrc_basic [2025/07/26 17:09] – - Imported by DokuWiki Advanced Plugin wikiadm | vimrc_basic [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== vimrc basic ====== | ||
| - | |||
| - | <file bash .vimrc> | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Maintainer: | ||
| - | " | ||
| - | " | ||
| - | " Awesome_version: | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " Sections: | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => 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, | ||
| - | |||
| - | " With a map leader it's possible to do extra key combinations | ||
| - | " like < | ||
| - | let mapleader = "," | ||
| - | |||
| - | " Fast saving | ||
| - | nmap < | ||
| - | |||
| - | " :W sudo saves the file | ||
| - | " (useful for handling the permission-denied error) | ||
| - | command! W execute 'w !sudo tee % > / | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => VIM user interface | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " 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=' | ||
| - | set langmenu=en | ||
| - | source $VIMRUNTIME/ | ||
| - | source $VIMRUNTIME/ | ||
| - | |||
| - | " Turn on the Wild menu | ||
| - | set wildmenu | ||
| - | |||
| - | " Ignore compiled files | ||
| - | set wildignore=*.o, | ||
| - | if has(" | ||
| - | set wildignore+=.git\*, | ||
| - | else | ||
| - | set wildignore+=*/ | ||
| - | 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, | ||
| - | set whichwrap+=<,>, | ||
| - | |||
| - | " 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(" | ||
| - | autocmd GUIEnter * set vb t_vb= | ||
| - | endif | ||
| - | |||
| - | " Add a bit extra margin to the left | ||
| - | set foldcolumn=1 | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Colors and Fonts | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Enable syntax highlighting | ||
| - | syntax enable | ||
| - | |||
| - | " Enable 256 colors palette in Gnome Terminal | ||
| - | if $COLORTERM == ' | ||
| - | set t_Co=256 | ||
| - | endif | ||
| - | |||
| - | try | ||
| - | colorscheme desert | ||
| - | catch | ||
| - | endtry | ||
| - | |||
| - | set background=dark | ||
| - | |||
| - | " Set extra options when running in GUI mode | ||
| - | if has(" | ||
| - | set guioptions-=T | ||
| - | set guioptions-=e | ||
| - | 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, | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Files, backups and undo | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Turn backup off, since most stuff is in SVN, git etc. anyway... | ||
| - | set nobackup | ||
| - | set nowb | ||
| - | set noswapfile | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Text, tab and indent related | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " 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 | ||
| - | |||
| - | |||
| - | """""""""""""""""""""""""""""" | ||
| - | " => Visual mode related | ||
| - | """""""""""""""""""""""""""""" | ||
| - | " Visual mode pressing * or # searches for the current selection | ||
| - | " Super useful! From an idea by Michael Naumann | ||
| - | vnoremap < | ||
| - | vnoremap < | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Moving around, tabs, windows and buffers | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Map < | ||
| - | map < | ||
| - | map < | ||
| - | |||
| - | " Disable highlight when < | ||
| - | map < | ||
| - | |||
| - | " Smart way to move between windows | ||
| - | map <C-j> < | ||
| - | map <C-k> < | ||
| - | map <C-h> < | ||
| - | map <C-l> < | ||
| - | |||
| - | " Close the current buffer | ||
| - | map < | ||
| - | |||
| - | " Close all the buffers | ||
| - | map < | ||
| - | |||
| - | map < | ||
| - | map < | ||
| - | |||
| - | " Useful mappings for managing tabs | ||
| - | map < | ||
| - | map < | ||
| - | map < | ||
| - | map < | ||
| - | map < | ||
| - | |||
| - | " Let ' | ||
| - | let g:lasttab = 1 | ||
| - | nmap < | ||
| - | au TabLeave * let g:lasttab = tabpagenr() | ||
| - | |||
| - | |||
| - | " Opens a new tab with the current buffer' | ||
| - | " Super useful when editing files in the same directory | ||
| - | map < | ||
| - | |||
| - | " Switch CWD to the directory of the open buffer | ||
| - | map < | ||
| - | |||
| - | " Specify the behavior when switching between buffers | ||
| - | try | ||
| - | set switchbuf=useopen, | ||
| - | set stal=2 | ||
| - | catch | ||
| - | endtry | ||
| - | |||
| - | " Return to last edit position when opening files (You want this!) | ||
| - | au BufReadPost * if line("' | ||
| - | |||
| - | |||
| - | """""""""""""""""""""""""""""" | ||
| - | " => Status line | ||
| - | """""""""""""""""""""""""""""" | ||
| - | " Always show the status line | ||
| - | set laststatus=2 | ||
| - | |||
| - | " Format the status line | ||
| - | set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Editing mappings | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Remap VIM 0 to first non-blank character | ||
| - | map 0 ^ | ||
| - | |||
| - | " Move a line of text using ALT+[jk] or Command+[jk] on mac | ||
| - | nmap <M-j> mz: | ||
| - | nmap <M-k> mz: | ||
| - | vmap <M-j> : | ||
| - | vmap <M-k> : | ||
| - | |||
| - | if has(" | ||
| - | nmap <D-j> <M-j> | ||
| - | nmap <D-k> <M-k> | ||
| - | vmap <D-j> <M-j> | ||
| - | vmap <D-k> <M-k> | ||
| - | endif | ||
| - | |||
| - | " Delete trailing white space on save, useful for some filetypes ;) | ||
| - | fun! CleanExtraSpaces() | ||
| - | let save_cursor = getpos(" | ||
| - | let old_query = getreg('/' | ||
| - | silent! %s/\s\+$//e | ||
| - | call setpos(' | ||
| - | call setreg('/', | ||
| - | endfun | ||
| - | |||
| - | if has(" | ||
| - | autocmd BufWritePre *.txt, | ||
| - | endif | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Spell checking | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Pressing ,ss will toggle and untoggle spell checking | ||
| - | map < | ||
| - | |||
| - | " Shortcuts using < | ||
| - | map < | ||
| - | map < | ||
| - | map < | ||
| - | map < | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Misc | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Remove the Windows ^M - when the encodings gets messed up | ||
| - | noremap < | ||
| - | |||
| - | " Quickly open a buffer for scribble | ||
| - | map < | ||
| - | |||
| - | " Quickly open a markdown buffer for scribble | ||
| - | map < | ||
| - | |||
| - | " Toggle paste mode on and off | ||
| - | map < | ||
| - | |||
| - | |||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " => Helper functions | ||
| - | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
| - | " Returns true if paste mode is enabled | ||
| - | function! HasPaste() | ||
| - | if &paste | ||
| - | return 'PASTE MODE ' | ||
| - | endif | ||
| - | return '' | ||
| - | endfunction | ||
| - | |||
| - | " Don't close window, when deleting a buffer | ||
| - | command! Bclose call < | ||
| - | function! < | ||
| - | let l: | ||
| - | let l: | ||
| - | |||
| - | if buflisted(l: | ||
| - | buffer # | ||
| - | else | ||
| - | bnext | ||
| - | endif | ||
| - | |||
| - | if bufnr(" | ||
| - | new | ||
| - | endif | ||
| - | |||
| - | if buflisted(l: | ||
| - | execute(" | ||
| - | endif | ||
| - | endfunction | ||
| - | |||
| - | function! CmdLine(str) | ||
| - | call feedkeys(":" | ||
| - | endfunction | ||
| - | |||
| - | function! VisualSelection(direction, | ||
| - | let l:saved_reg = @" | ||
| - | execute " | ||
| - | |||
| - | let l:pattern = escape(@", | ||
| - | let l:pattern = substitute(l: | ||
| - | |||
| - | if a:direction == ' | ||
| - | call CmdLine(" | ||
| - | elseif a:direction == ' | ||
| - | call CmdLine(" | ||
| - | endif | ||
| - | |||
| - | let @/ = l:pattern | ||
| - | let @" = l:saved_reg | ||
| - | endfunction | ||
| - | </ | ||
| - | |||
| - | ===== Referência ===== | ||
| - | [[https:// | ||
vimrc_basic.1753560545.txt.gz · Last modified: by wikiadm
