emacs és vim fej fej mellett

90
Emacs és Vim Emacs és Vim fej-fej mellett fej-fej mellett Horák György, Török Gábor Horák György, Török Gábor Magyarországi Ubuntu Konferencia Magyarországi Ubuntu Konferencia 2008.09.13. 2008.09.13.

Upload: slink

Post on 11-Apr-2015

470 views

Category:

Documents


4 download

DESCRIPTION

Slides on presenting Emacs and Vim . Talk was given in the Hungarian Ubuntu Conference 2008.

TRANSCRIPT

Page 1: Emacs és Vim fej fej mellett

Emacs és VimEmacs és Vimfej-fej mellettfej-fej mellett

Horák György, Török GáborHorák György, Török Gábor

Magyarországi Ubuntu KonferenciaMagyarországi Ubuntu Konferencia

2008.09.13.2008.09.13.

Page 2: Emacs és Vim fej fej mellett

Miről nem lesz szó?Miről nem lesz szó?

Page 3: Emacs és Vim fej fej mellett
Page 4: Emacs és Vim fej fej mellett

Miről lesz szó?Miről lesz szó?

Page 5: Emacs és Vim fej fej mellett
Page 6: Emacs és Vim fej fej mellett

Hogyan indítható el?Hogyan indítható el?

Page 7: Emacs és Vim fej fej mellett

emacs

emacs -nw

emacsclient

Page 8: Emacs és Vim fej fej mellett

vi

vim

gvim

Page 9: Emacs és Vim fej fej mellett

Hol fut?Hol fut?

Page 10: Emacs és Vim fej fej mellett

mindenhol telepíthető

emacs csomag

Windows, Linux, OS X stb.

Page 11: Emacs és Vim fej fej mellett

mindenhol telepíthető

*nix alapból vi

Windows, Linux, OS X stb.

Page 12: Emacs és Vim fej fej mellett

Milyen nyelvenMilyen nyelvenérhető el?érhető el?

Page 13: Emacs és Vim fej fej mellett

csak angol

nincs támogatás többnyelvűséghez

beépített dokumentáció angol

Page 14: Emacs és Vim fej fej mellett

elsődlegesen angol

gvim kezelőfelülete lokalizált

beépített dokumentáció angol

Page 15: Emacs és Vim fej fej mellett

Indulási sebességIndulási sebesség

Page 16: Emacs és Vim fej fej mellett

gyári kiszerelés 1-2 mp alatt indul

bekapcsolt funkcióktól függ

emacs -Q

kliens-szerver mód javasolt

byte-compile

Page 17: Emacs és Vim fej fej mellett

„Vim can load and fully syntax-

colour a file before Emacs even

displays its window.”

azonnal indul

pluginekkel lassítható

Page 18: Emacs és Vim fej fej mellett

Konfiguráció, Konfiguráció, testreszabástestreszabás

Page 19: Emacs és Vim fej fej mellett

„An extensible, customizable, self-

documenting real-time text editor.”

.emacs

menüből

Emacs Customization

Page 20: Emacs és Vim fej fej mellett

.vimrc

menüből (csak session idejére)

Page 21: Emacs és Vim fej fej mellett

Felhasználói felület Felhasználói felület felépítésefelépítése

Page 22: Emacs és Vim fej fej mellett
Page 23: Emacs és Vim fej fej mellett
Page 24: Emacs és Vim fej fej mellett

BillentyűkombinációkBillentyűkombinációk

Page 25: Emacs és Vim fej fej mellett

GNU stílusú (bash, most)

Escape/Meta/Alt-Control-Shift

major mode, minor mode

M-x

segítség: C-h c, C-h k

Page 26: Emacs és Vim fej fej mellett

Unix stílusú (bash -v, less, more)

vim mode-ok:normal

insert (i, a, o, c, s, r)

command (:)

visual (v)

[select (gh), ex (Q)]

Page 27: Emacs és Vim fej fej mellett

Mozgás a pufferbenMozgás a pufferben

Page 28: Emacs és Vim fej fej mellett

GNU stílusú (C-a, C-e, C-n, C-v)

C-<karakter>, M-<karakter>

M-g M-g

C-l

Page 29: Emacs és Vim fej fej mellett

insert mode-ban nem mozgunk

hjkl

d, c

:<szám>, gg, G

zz

Page 30: Emacs és Vim fej fej mellett

Puffer pozició mentésePuffer pozició mentése

Page 31: Emacs és Vim fej fej mellett

register

bookmark

C-u C-space

Page 32: Emacs és Vim fej fej mellett

marks

m<karakter>, '<karakter>,

`<karakter>

'., `.

jumps

viminfo

Page 33: Emacs és Vim fej fej mellett

Inkrementális ésInkrementális ésregex-alapú keresésregex-alapú keresés

Page 34: Emacs és Vim fej fej mellett

C-s, C-r

„grep”-szerű regex tudás

M-x grep

kisbetűs keresőszó case insensitive

inkrementális keresés néha lassú

M-/ (csere akár regexen)

Page 35: Emacs és Vim fej fej mellett

/ ?, n N

regex

set incsearch

set ignorecase

s///

Page 36: Emacs és Vim fej fej mellett

MenekülésMenekülés

Page 37: Emacs és Vim fej fej mellett

C-g

ESC ESC ESC

jelzi a lenyomott billentyűket

Page 38: Emacs és Vim fej fej mellett

set showcmd

ESC, de inkább ^[

Page 39: Emacs és Vim fej fej mellett

Egyidejű szerkesztés Egyidejű szerkesztés több fél közötttöbb fél között

Page 40: Emacs és Vim fej fej mellett

M-x make-frame-on-display

tty-mode, kliens-szerver

Page 41: Emacs és Vim fej fej mellett

nem igazán támogatott

vim –remote*

Page 42: Emacs és Vim fej fej mellett

VerziókezelésVerziókezelés

Page 43: Emacs és Vim fej fej mellett

elterjedt VCS-ek támogatása

közös felület valamennyi VCS-hez

aktív VCS választható

Page 44: Emacs és Vim fej fej mellett

vcscommand plugin

(CSV, SVN, SVK, git)http://www.vim.org/scripts/script.php?script_id=90

clearcase pluginhttp://www.vim.org/scripts/script.php?script_id=15

Page 45: Emacs és Vim fej fej mellett

Undo-redoUndo-redo

Page 46: Emacs és Vim fej fej mellett

undo: C-_

redo: C-_

az undók is undozhatók

végtelen előzménylista

redo-mode

Page 47: Emacs és Vim fej fej mellett

u, Ctrl-r

:earlier <idő>, :later <idő>

g-, g+

:undolist

Page 48: Emacs és Vim fej fej mellett

Parancsok ismétlése, Parancsok ismétlése, makrókmakrók

Page 49: Emacs és Vim fej fej mellett

C-u <szám> <parancs>

F3, F4, M-<szám> F4

makrók tárolhatók, módosíthatók

Emacs Lisp

Page 50: Emacs és Vim fej fej mellett

<parancs><szám><mozgás>

q<karakter>, [műveletek], q

@<karakter>

Page 51: Emacs és Vim fej fej mellett

Dolgozás kijelölt Dolgozás kijelölt területenterületen

Page 52: Emacs és Vim fej fej mellett

kijelöléssel dolgozhatunk**többnyire

narrowing: szűkített munkaterület

Page 53: Emacs és Vim fej fej mellett

kijelöléssel dolgozhatunk

narrowing plugin

Page 54: Emacs és Vim fej fej mellett

Shell eléréseShell elérése

Page 55: Emacs és Vim fej fej mellett

parancs futtatása: M-/

parancs futtatása kijelölésen: M-|

M-x term: shell indítása pufferben

M-x eshell: Emacs Lisp Shell

Page 56: Emacs és Vim fej fej mellett

:!<parancs>, :.!<parancs>

:[tartomány]!<parancs> (filter)

:shell

vimshell plugin

Page 57: Emacs és Vim fej fej mellett

Más felhasználó Más felhasználó birtokolta file-ok birtokolta file-ok

szerkesztéseszerkesztése

Page 58: Emacs és Vim fej fej mellett

tramp (sudo, su)

C-x C-f /sudo:/<file>

Page 59: Emacs és Vim fej fej mellett

sudo vim :)

:e scp://root@localhost/<file>

Page 60: Emacs és Vim fej fej mellett

Távoli file-ok eléréseTávoli file-ok elérése

Page 61: Emacs és Vim fej fej mellett

tramp (rcp, scp, ftp stb.)

C-x C-f /ssh:user@host:/<file>

távoli könyvtár és file böngészés

Page 62: Emacs és Vim fej fej mellett

rcp, scp, ftp stb.

:e scp://user@host/<file>

könyvtárakat is lehet böngészni

Page 63: Emacs és Vim fej fej mellett

Bővíthetőség, Bővíthetőség, skriptelhetőségskriptelhetőség

Page 64: Emacs és Vim fej fej mellett

„An extensible, customizable, self-

documenting real-time text editor.”

Emacs Lisp (.el)

nincs hivatalos tároló

emacswiki.org-on összegyűjtve

Page 65: Emacs és Vim fej fej mellett

VimScript

TCL, Python, Perl, Ruby, MzScheme

getscript, :GLVS

www.vim.org-on összegyűjtve,

rangsorolhatóan

.vba

Page 66: Emacs és Vim fej fej mellett

Fejlesztést támogató Fejlesztést támogató eszközökeszközök

Page 67: Emacs és Vim fej fej mellett

szintaxis kiemelés, auto-indent

CEDET

debugger

ctags/etags

flymake

rope, emacs-rails, jde, slime

skeleton, yasnippet

Page 68: Emacs és Vim fej fej mellett

szintaxis kiemelés

auto-indent

vimdiff

Omni complete (Ctrl-X Ctrl-O)

:make, quickfix

taglist plugin

snippetsEmu plugin

Page 69: Emacs és Vim fej fej mellett

ÁtjárásÁtjárás

Page 70: Emacs és Vim fej fej mellett

viper-mode

vile

NetBeans, Eclipse

conkeror

Firemacs

Page 71: Emacs és Vim fej fej mellett

vimacs

cream

MS VisualStudio, Eclipse

Page 72: Emacs és Vim fej fej mellett

LegnagyobbLegnagyobbmegnyitható filemegnyitható file

Page 73: Emacs és Vim fej fej mellett

bármekkora*bizonyos mode-ok lassíthatják

Page 74: Emacs és Vim fej fej mellett

bármekkora

Page 75: Emacs és Vim fej fej mellett

MemóriafoglalásMemóriafoglalás

Page 76: Emacs és Vim fej fej mellett

gyári kiszerelés: 15M

enyém: 43M

szerver-kliens

Page 77: Emacs és Vim fej fej mellett

kb. 9M

Page 78: Emacs és Vim fej fej mellett

Beépített segítségekBeépített segítségek

Page 79: Emacs és Vim fej fej mellett

beépített tutorial: C-h t

M-x help

Elisp referencia

Page 80: Emacs és Vim fej fej mellett

vimtutor

:help <bármi>

Page 81: Emacs és Vim fej fej mellett

KilépésKilépés

Page 82: Emacs és Vim fej fej mellett

C-x C-c

C-5 0

Page 83: Emacs és Vim fej fej mellett

:q

ZQ

Page 84: Emacs és Vim fej fej mellett

Mire használom?Mire használom?

Page 85: Emacs és Vim fej fej mellett

fejlesztés (JS, Python, PHP, Elisp)

mindennapi élet (:

Page 86: Emacs és Vim fej fej mellett

konfigurációs file-ok

fejlesztés (Python, régebben C++)

mindig, amikor szöveget kell

szerkeszteni :)

Page 87: Emacs és Vim fej fej mellett

Köszönjük a figyelmetKöszönjük a figyelmet

✗ Horák Gyö[email protected]

✗ Török Gá[email protected]

Page 88: Emacs és Vim fej fej mellett

Felhasznált irodalomFelhasznált irodalom

Page 89: Emacs és Vim fej fej mellett

John Dierdorf: Vi and Emacshttp://www.io.com/~dierdorf/emacsvi.html

http://www.gnu.org/

Page 90: Emacs és Vim fej fej mellett

http://www.vim.org/