1.3.07

Textový editor gVim

Když si pohrávám s PC potřebuju pracovat s textovými soubory všeho druhu (*.ini, *.html, *.xml, *.txt, *.tex, *.conf, ...) a na to podřebuju pořádný editor.

Ve woknech je velice oblíbený PSPad, v linuxu zase dvojice Emacs a Vim. Používám oba OS a tak jsem hledal multiplatformní program. Narazil jsem na jEdit, který je napsán v javě a je tudíž spustitelný všude, kde je JVM.

Pro jEdit existuje spousta doplňků a to z něj dělá opravdu univezální editor všeho možného, ale nevyhovuje mi náročnost javy, i když už to není takový broblém jako kdysi.

Zkusil jsem Emacs, o něm se říká, že je to výborný operační systém jenom mu schází pořádný textový editor ;-). Tak jsem to zase rychle odinstaloval.

No a ted edituju ve Vim, ten 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.

K ovládání se určitě vyplatí přečíst si tutor, který je po instalaci v adresáři Vimu (teda na woknech). Český tam není, ale slovensky jsem zatím nezapoměl. Pak doporučuju poktračovat příručkou od pana Satrapy na adrese http://www.kai.vslib.cz/~satrapa/docs/vim/, 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 tipů k nastavení a tak stačí jenom hledat.

Tady je můj _vimrc ( v linuxu je to .vimrc) soubor:

set nocompatible

set spell spelllang=cs
"kontrola pravopisu

imap ~
"mapuje Alt+SPACE na vlnovku ~, hodí se pro LaTeX

colorscheme dawn
"zapne barevne schema dawn
"pouzivam script Colors Sampler Pack
"http://www.vim.org/scripts/script.php?script_id=625

set nu!
"zapne cislovani radku

set showmatch
"zvyrazneni souvisejicich zavorek

set tabstop=2
"sirka tabularotu na 2

set ignorecase
"vypne rozlisovani velikosti pismen pri vyhledavani

syntax on
"barevna syntaxe

filetype indent on
"zapnuti ftpluging, rozpoznavani typu souboru

set textwidth=90
"max. delka radku 75 znaku (pro automat. zalamovani textu)

set showbreak==>
"ukazatel pokracovani radku (znacka ktera se vklada na
"zacatek zdanliveho zalomeni, aby bylo zretelne, ze
"se jedna jen o zdanlive zalomeni, zde je to => a je
"zobrazena zvlastni barvou, aby se nepletla se skutecnym textem).

set laststatus=2
"vzdy zapnout stavovy radek

set statusline=\ %=%n:\ %t\ %R\ %y\ %l,%c\ %P
"ve stavovem radku zobrazovat
"%= zarovnat vpravo, %n cislo bufferu, %t jmeno souboru, %R read only,
"%y filetype, %l cislo radku, % cislo sloupce,%P procenta

set nobackup
"nevytvaret zalohy

set clipboard=unnamed
"pri y zkopirovat do sys.clipboaru, stejne tak pri p

set fileencodings=ucs-bom,utf-8,latin2
"nastaveni kodovani, zkusit uhodnout kódovaní

win 140 45
"nastavi pocet sloupcu a radku u gVIm

set cmdheight=2
"prikazovy radek o velikosti dva radky

set ruler
"ukazuje se umisteni kurzoru v prik. radku

set showcmd
"ukazuje se zadavani prikazu v prik. radku

set showmode
"ukazuje se aktualni rezim editoru v prik. radku

set guioptions-=T
"nezobrazuje Toolbar

set wildchar=
"nastavuje tabulatorjako klavesu pro automaticke doplnovani tabulator,

set wildmenu
"pri vice moznosti doplneni vyskoci jednoduche menu

set wildmode=longest:full,full
" vyplnit co nejvetsi cast

set backspace=indent,eol,start
"Nastaveni chovani klaves Backspace, Delete a atd, ze maji umet mazat vse:

set nojoinspaces
"nevkladat automaticky mezery po - ? ! pri spojeni radku

autocmd BufNewFile *.tex r $VIM/.vim/empty.tex
autocmd BufNewFile *.xml r $VIM/.vim/empty.xml
autocmd BufRead *.xml source $VIM/.vim/db2.vim

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
silent execute '!D:\util\Vim\vim64\diff ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
endfunction

Žádné komentáře: