Stranica: 1/3.

[EMACS] Sve o njemu...

PostPostano: 26 pro 2012, 22:10
Postao/la jasox
Vec od odavno se kanim pokrenuti slicnu temu. Nadam sa da nisam jedini Emacs korisnik na ovom forumu.
Odmah da kazem ne bi zelio nikakve rasprave na temu Emacs vs Vi/Vim, ko sto Eric S. Raymond rece "Emacs is best considered a framework rather than a tool". Inace ja korisiti najvise emacs, ponekad nano al rijetko vi, razlog je jednostavno kombinacija tipki koja mi se urazala u mozgu. Npr. cak i bash koristi slicnu 'filozofiju' kombinacija tipki (C-n, C-p, C-b, C-f...).

Re: [EMACS] Sve o njemu...

PostPostano: 26 pro 2012, 22:14
Postao/la jasox
Svima vama koji mislite da je emacs spor i zelite brzo otvaranje fileova bi preporucio pokretanje emacs kao daemon-a

Kod: Označi sve
$ emacs -daemon
$ emacsclient -nw nekifilekojizeliseditovat


-nw znaci otvori novi emacs frame u terminalu u kojem radimo trenutno.

Zaboravih napisat najosnovnije, remapirajte Caps Lock u Ctrl, ako korisite DE onda jedostavno preko GUI-a to uradite, ja koristim sljedecu metodu dodam ovaj code u .xsessionrc 'setxkbmap -layout LAYOUTKOJIKORISTITE-option ctrl:nocaps'

Ovdje imate opsirnije objasnjeno
http://emacswiki.org/emacs/MovingTheCtrlKey#toc4

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 05:23
Postao/la jasox
Par videa za insipraciju ;)


Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 12:50
Postao/la jasox
Editovanje file-ova kao root ako imate pokrenut emacs daemon (ja obicno dodam ove aliase u .bash_aliases na debian-u)

Kod: Označi sve
alias E="SUDO_EDITOR=\"emacsclient -nw -a emacs\" sudoedit"
alias Ec="SUDO_EDITOR=\"emacsclient -c -a emacs\" sudoedit"


kao obicni korisnik

Kod: Označi sve
alias e="emacsclient -nw"
alias ec="emacsclient -c"


-c, --create-frame - create a new frame instead of trying to use the current Emacs frame

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 14:18
Postao/la jasox
U Emacs-u postoji razlika izmedju window-a i frame-a zbog toga sto je napravljen u vrijeme text terminala, prije pojave GUI-a. Jos u pocetcima Emacs je imao mogucnost podjele prozora(windows-a) da biste mogli vidjet vise file-ova na display-u. Dolaskom GUI-a Emacs ne prhvaca naziv za prozore `window' nego koristi naziv `frame', da ne unisti kompatibilnosta sa postojecim emacs lisp kodom. Tako kada govorimo o Emacs-u `frame' znaci ono sto bi smo nazivali prozor u ostalim programima. Slika govori hiljadu rijeci - http://www.jesshamrick.com/wp-content/u ... nology.png

Najvaznije Emacs kombinacije tipki

pomakni kursor jedan karakter unaprijed - C-f (C je Contrl/Ctrl)
unazad - C-b
sljedeca linija- C-n
prethodna linija - C-p
kraj linije - C-e
pocetak linije - C-a
trazi - C-s
trazi unazad - C-r
izbrisini liniju od polozaja kursora - C-k

( C-x je prefix key )
otvori novi dokument C-x C-f
C-x C-k - unisti file/buffer

C-space - mark text
M-w - kopiraj markiran tekst
C-y - zalijepi tekst (Kome se ne svidje kopirati tekst na ovaj nacin postoji cua-mode koji mozete aktivirati sa 'M-x cua-mode')

Za nove korisnike bi najbolje bilo proci emacs totorijal koji mozete aktivirati sa C-h C-t.
Ako zelite da vidite sta odredjena kombinacija tipki znaci kliknite C-h k (npr. C-h f kliknite vasu kombinaciju tipki eg. C-l)
Za provjeru sta odredjena elisp funkcija znaci kliknite C-h f (primjer C-h f, ukucajte npr. next-line [enter])

GNU Emacs Reference Card:
http://www.damtp.cam.ac.uk/user/sje30/e ... efcard.pdf

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 14:48
Postao/la jasox
Kad sam tek poceo koristiti Emacs bio sam kao krme u teheranu, najvaznije je nauciti osnove navigacije kroz tekst, otvaranje/zatvarave file-ova, manipulacija buffer-a, split-anje window-a. Misilm da sam puno brze savladao vi/vim u odnosu na Emacs

slika

Jedan interesantan interview sa Bill Joy-em (kreatorom vi-a)

http://web.cecs.pdx.edu/~kirkenda/joy84.html

REVIEW: What would you do differently?
JOY: I wish we hadn't used all the keys on the keyboard. I think one of the interesting things is that vi is really a mode-based editor. I think as mode-based editors go, it pretty good. One of the good things about EMACS, though, is its programmability and the modelessness. Those are two ideas which never occurred to me. I also wasn't very good at optimizing code when I wrote vi. I think the redisplay module of the editor is almost intractable. It does a really good job for what it does, but when you're writing programs as you're learning... That's why I stopped working on it.

REVIEW: So there will be a history mechanism in the new editor?
JOY: I would be surprised if there wasn't. Warren basically invented all those things. He's very keen on that. I tried to use EMACS and I liked it. The problem was I spent all my time programming it because it was improving so fast that my programs kept breaking. I got tired of maintaining my macros so I guess I'm looking forward to an editor I can learn and then forget about.

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 15:50
Postao/la jasox
* Da da cak i web server - http://vimeo.com/53074444

* Ko se zeli sekat i programirat muzik-u u emacs-u imate overtone (napisan u clojure-u) - http://vimeo.com/22798433

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 16:41
Postao/la shrike
Ja nisam nikada shvatio što je m u tim kraticama.

Re: [EMACS] Sve o njemu...

PostPostano: 30 pro 2012, 16:49
Postao/la jasox
shrike je napisao/la:Ja nisam nikada shvatio što je m u tim kraticama.


To je Alt, prije se zvala Meta na Lisp masinama, koliko ja znam.

http://xahlee.info/kbd/i/lm/Space-Cadet_keyboard_2.jpg

M-x je kratica za Alt + x
C-x , Ctrl + x
S-x , Super + x
H-x , hyper + x ako tu tipku imas na tastaturi

Re: [EMACS] Sve o njemu...

PostPostano: 02 sij 2013, 09:59
Postao/la jasox
Emacs cak posjeduje package manager.

Evo mog conf file za packages.
Dodajve kod ispod u ~/.emacs ili ~/.emacs.d/init.el

Kod: Označi sve
(defun require-package (package &optional min-version)
  "Ask elpa to install given PACKAGE."
  (unless (package-installed-p package min-version)
    (package-install package)))

(require 'package)

(setq package-archives '(("ELPA" . "http://tromey.com/elpa/")
          ("gnu" . "http://elpa.gnu.org/packages/")
          ("marmalade" . "http://marmalade-repo.org/packages/")))

(package-initialize)
(unless package-archive-contents
  (package-refresh-contents))


Nakon toga, M-x package-list-packages [enter], i trebala bi vem se prikazat lista paketa koje mozete instalirati.
Mozete koristiti mis ako imate GUI za jednostavnu insatalaciju ili mozete pomocu cursora doci na zeljeni paket kliknut 'i' da oznacite za instalaciju zeljenog paketa i na kraju kliknut 'x' za izvrsenje instalacije (execute).