Tipy pro editor Vim a GVim
Když si pohrávám s PC potřebuju pracovat s textovými soubory všeho druhu (*.cc, *.py, *.html, *.txt, *.tex, *.conf, ...) a na to podřebuju pořádný textový editor. V tomto blogu chci zvěčnit svoje nastavení perfektního editoru, který bych doporučil převážně programátorům - GVim. Tento editor se nastavuje pomocí jediného konfiguračního souboru .gvimrc (.vimrc). V článku najdete ár tipů, jak si v něm programování opravdu zpříjemnit. Blog bude v budoucnu postupně obměňován a aktualizován podle toho, jestli přijdu na něco zajímavýho...
Pokud chcete nové soubory otevírat v dalším panelu Vimu místo nové insatnce, použijte pro spuštění následující příkaz
gvim --remote-tab-silent soubor.cc
Užitečných věcí je, když editor ukazuje seznam funkcí, tříd, metod a podobně, které se nachází v editovaném souboru. Umožňuje to rychlejší orientaci v souboru. Pro Vim existuje plugin taglist, který ke své činnosti potřebuje program ctags. Tento program je běžnou součástí linuxových distribucí, do Windows se musí doinstalovat. Poté s níže uvedenou konfigurací stačí stisknout klávesu F11 a seznam funkcí se otevře v bočním okně. Vypnout jej lze stejnou klávesou. Vypadá to takto:
Konfigurace GVimu
"Sets statusbar format
set statusline=%F%m%r%h%w\ [FORMAT\ %{&ff}]\ [ASCII\ \%03.3b/\%02.2B]\ [POS\ %l/%L,%v](%p%%)
set laststatus=2
"Color scheme
colors koehler
syntax on
"Hightlight brackets
set showmatch
set listchars=tab:..,trail:$,eol:$
"minimum number of lines behind and after cursor
set scrolloff=5
" Save history when exiting vim
set viminfo='50,\"500
set history=500
" global searching s/one/two/g by default
set gdefault
" Show line numbers
set number
"set numberwidth=4
" Set wrapping line wrapping after word
set lbr!
" Set wrapping sign on new line
set showbreak=+
" Display part of line instead of @
set display=lastline
" Automatic C-style indentation, tab size 8 and shift width / indentation 4.
" == to indent current line, = to indent selection
set cindent
set autoindent
set smarttab
set tabstop=4
set shiftwidth=4
" Sets ending of lines [dos|unix]
"set fileformat=unix
" convert tabulators to spaces
set expandtab
" Allows deleting of previously entered characters in insert mode using
" backspace
set backspace=indent,eol,start
" Don't inherit any vi craziness
set nocompatible
" Number of linens of tabulators
set showtabline=2
nmap <C-t> :tabnew<cr>
imap <C-t> <ESC>:tabnew<cr>
" Hides toolbar (SHIFT+F1 SHOWS IT)
set guioptions-=T
"set guioptions+=m
let g:toggleTool = 0
map <silent> <S-F1> :if g:toggleTool == 1<CR>:set guioptions-=T<CR>:set guioptions-=m<CR>:let g:toggleTool = 0<CR>:else<CR>:set guioptions+=T<CR>:set guioptions+=m<CR>:let g:toggleTool = 1<CR>:endif<CR>
" Set font
set gfn=DejaVu\ Sans\ Mono\ 9
" Change directory of current file
:lcd %:p:h
:autocmd BufEnter * lcd %:p:h
" Highlighting of lines longer than 80 chars
hi LineTooLong cterm=bold ctermbg=red guibg=red
match LineTooLong /\%>80v.\+/
autocmd BufWinEnter,Syntax * exe "match LineTooLong /\\%>80v.\\+/"
" Label of tab is filename without path
set guitablabel=%t
" Bookmarks as menu item
" plugin bookmarks.vim, CTRL+RIGHT BUTTON
" Automatic completition
" plugin autocomplpop.vim
" Visual markers
" plugin visualmark.vim
highlight SignColor ctermfg=white ctermbg=blue guifg=white guibg=RoyalBlue3
" Highlight all searched item, useful for quickly locating things with *
set hlsearch
" Incremental search, like VS CTRL+I
set incsearch
" Change highlight bg color
hi search ctermbg=5
" No match case
set ignorecase
" Smart ignore case
:set smartcase
" Scrolling with mouse wheel
map <MouseDown> <C-Y><C-Y><C-Y>
map <MouseUp> <C-E><C-E><C-E>
map <MiddleMouse> <Nop>
set mouse=a
" Setting up project plugin
let g:proj_run1='tabnew %f'
let g:proj_flags='gc'
let g:proj_window_width=35
" Setting up taglist plugin
" F11 - taglist window
map <F11> :TlistToggle<cr>
vmap <F11> <esc>:TlistToggle<cr>
imap <F11> <esc>:TlistToggle<cr>
map <C-F11> :TlistAddFilesRecursive ~/projekty/clanky<cr>
" Seve formatting when pasting
set paste
Potřebné pluginy jsou k dispozici ke stažení tady pluginy pro gvim a vim.
V editoru Vim programuju už několik let. Sice trvalo chvíli než jsem si zvykl na "svérázné" ovládání, nedám na něj dopustit. Jeho výhodami je, že se dá provozovat na mnoha platformách a patří k základu na většině linuxových distribucích, což se hodí když po pokusech skončím v příkazové řadce (konzoli) linuxu a mám to dávat dokupy. Pokud se vám podaří jej přizpůsobit, stačí konfigurák rozkopírovat na počítače, které používáte a máte všude stejné ovládání přizpůsobené přesně podle sebe.
K ovládání se určitě vyplatí přečíst si tutoriál, který je po instalaci v adresáři Vimu. Pak doporučuju poktračovat příručkou od pana Satrapy, příručka je aktualizovana pro sedmou verzi Vimu, ve které je podpora kontroly češtiny a mnoho dalších věcí. Na netu jsou k nalezení spousty dalších tipů k nastavení a tak stačí jenom hledat.
Vyšlo 08.09.2008, v blogu: 0 1 2 3 4 5 6 7 8
Děkuji, že jste se rozhodl(a) přečíst tento článek. Budu rád i za komentář. Pokud Vás tento článek zaujal a rádi byste jej doporučili ostatním, podpořte mně prosím tím, že věnujete minutku svého času a uděláte mi reklamu na linkuj.cz, vybrali.sme.sk či jagg.cz. Přeji příjemné čtení
Poslední články
- Recept na bábovku
- seriál Červený trpaslík - Red dwarf
- Zamyšlení nad vývojem SW
- Brněnský hantec
- Gothic 3
- Jak fotit blesky
- Metallica - nové album Death Magnetic
- Tipy pro editor Vim a GVim
- Obarveni vystupu GCC
- Tip na film - Bathory
- Mapa Evropy zdarma
- Má Seznam.cz lepší hledání než Google?
- Regulární výrazy v C++, Javascriptu a PHP
- Fotky přírody
- Letní nápoje