commit 8dc6802e29c89cff5b48e3701f905e04654f0716 Author: Lars Tveito Date: Thu Aug 1 03:11:08 2013 +0200 Initial commit diff --git a/emacs-init.el b/emacs-init.el new file mode 100644 index 0000000..a9e45c0 --- /dev/null +++ b/emacs-init.el @@ -0,0 +1,119 @@ +;; no splash screen +(setq inhibit-splash-screen t) + +;; show matching parenthesis +(show-paren-mode t) + +;; answer with y/n +(fset 'yes-or-no-p 'y-or-n-p) + +;; stop blinking cursor +(blink-cursor-mode 0) + +;; overwrite marked text +(delete-selection-mode t) + +;; show column number in mode-line +(column-number-mode t) + +;; needed to use things downloaded with the package manager +(package-initialize) + +;; add mirrors for list-packages +(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") + ("marmalade" . "http://marmalade-repo.org/packages/") + ("melpa" . "http://melpa.milkbox.net/packages/"))) + +;; choose a color-theme +(load-theme 'wombat t) + +;; get the default config for auto-complete (downloaded with +;; package-manager) +(require 'auto-complete-config) + +;; load the default config of auto-complete +(ac-config-default) + +;; enable ido-mode, this changes the way files are selected in the +;; minibuffer +(ido-mode t) + +;; no menubar +(menu-bar-mode 0) + +;; no toolbar either +(tool-bar-mode 0) + +;; scrollbar? no +(scroll-bar-mode 0) + +;; global-linum-mode shows line numbers in all buffers, exchange 0 +;; with 1 to enable this feature +(global-linum-mode 0) + +;; kills the active buffer, not asking what buffer to kill. +(global-set-key (kbd "C-x k") 'kill-this-buffer) + +;; adds all autosave-files (i.e #test.txt#, test.txt~) in one +;; directory, avoid clutter in filesystem. +(defvar emacs-autosave-directory "~/.emacs.d/autosaves/") +(setq backup-directory-alist + `((".*" . ,emacs-autosave-directory)) + auto-save-file-name-transforms + `((".*" ,emacs-autosave-directory t))) + +;; defining a function that sets more accessible keyboard-bindings to +;; hiding/showing code-blocs +(defun hideshow-on () + (local-set-key (kbd "C-c ") 'hs-show-block) + (local-set-key (kbd "C-c C-") 'hs-show-block) + (local-set-key (kbd "C-c ") 'hs-hide-block) + (local-set-key (kbd "C-c C-") 'hs-hide-block) + (local-set-key (kbd "C-c ") 'hs-hide-all) + (local-set-key (kbd "C-c C-") 'hs-hide-all) + (local-set-key (kbd "C-c ") 'hs-show-all) + (local-set-key (kbd "C-c C-") 'hs-show-all) + (hs-minor-mode t)) + +;; now we have to tell emacs where to load these functions. Showing +;; and hiding codeblocks could be useful for all c-like programming +;; (java is c-like) languages, so we add it to the c-mode-common-hook. +(add-hook 'c-mode-common-hook 'hideshow-on) + +;; adding shortcuts to java-mode, writing the shortcut folowed by a +;; non-word character will cause an expansion. +(defun java-shortcuts () + (define-abbrev-table 'java-mode-abbrev-table + '(("psv" "public static void main(String[] args) {" nil 0) + ("sop" "System.out.printf" nil 0) + ("sopl" "System.out.println" nil 0))) + (abbrev-mode t)) + +;; the shortcuts are only useful in java-mode so we'll load them to +;; java-mode-hook. +(add-hook 'java-mode-hook 'java-shortcuts) + +;; defining a function that guesses a compile command and bindes the +;; compile-function to C-c C-c +(defun java-setup () + (set (make-variable-buffer-local 'compile-command) + (concat "javac " (buffer-name))) + (local-set-key (kbd "C-c C-c") 'compile)) + +;; this is a java-spesific function, so we only load it when entering +;; java-mode +(add-hook 'java-mode-hook 'java-setup) + +;; defining a function that sets the right indentation to the marked +;; text, or the entire buffer if no text is selected. +(defun tidy () + "Ident, untabify and unwhitespacify current buffer, or region if active." + (interactive) + (let ((beg (if (region-active-p) (region-beginning) (point-min))) + (end (if (region-active-p) (region-end) (point-max)))) + (whitespace-cleanup) + (indent-region beg end nil) + (untabify beg end))) + +;; bindes the tidy-function to C-TAB +(global-set-key (kbd "") 'tidy) diff --git a/emacs-init.el.html b/emacs-init.el.html new file mode 100644 index 0000000..14174e5 --- /dev/null +++ b/emacs-init.el.html @@ -0,0 +1,250 @@ + + + + + emacs-init.el + + + + + + + +
;; no splash screen
+(setq inhibit-splash-screen t)
+
+;; show matching parenthesis
+(show-paren-mode t)
+
+;; answer with y/n
+(fset 'yes-or-no-p 'y-or-n-p)
+
+;; stop blinking cursor
+(blink-cursor-mode 0)
+
+;; overwrite marked text
+(delete-selection-mode t)
+
+;; show column number in mode-line
+(column-number-mode t)
+
+;; needed to use things downloaded with the package manager
+(package-initialize)
+
+;; add mirrors for list-packages
+(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
+			 ("marmalade" . "http://marmalade-repo.org/packages/")
+			 ("melpa" . "http://melpa.milkbox.net/packages/")))
+
+;; choose a color-theme 
+(load-theme 'wombat t)
+
+;; get the default config for auto-complete (downloaded with
+;; package-manager)
+(require 'auto-complete-config)
+
+;; load the default config of auto-complete
+(ac-config-default)
+
+;; enable ido-mode, this changes the way files are selected in the
+;; minibuffer
+(ido-mode t)
+
+;; no menubar
+(menu-bar-mode 0)
+
+;; no toolbar either
+(tool-bar-mode 0)
+
+;; scrollbar? no
+(scroll-bar-mode 0)
+
+;; global-linum-mode shows line numbers in all buffers, exchange 0
+;; with 1 to enable this feature
+(global-linum-mode 0)
+
+;; kills the active buffer, not asking what buffer to kill.
+(global-set-key (kbd "C-x k") 'kill-this-buffer)
+
+;; adds all autosave-files (i.e #test.txt#, test.txt~) in one
+;; directory, avoid clutter in filesystem.
+(defvar emacs-autosave-directory "~/.emacs.d/autosaves/")
+(setq backup-directory-alist
+      `((".*" . ,emacs-autosave-directory))
+      auto-save-file-name-transforms
+      `((".*" ,emacs-autosave-directory t)))
+
+;; defining a function that sets more accessible keyboard-bindings to
+;; hiding/showing code-blocs
+(defun hideshow-on ()
+  (local-set-key (kbd "C-c <right>") 'hs-show-block)
+  (local-set-key (kbd "C-c C-<right>") 'hs-show-block)
+  (local-set-key (kbd "C-c <left>")  'hs-hide-block)
+  (local-set-key (kbd "C-c C-<left>")  'hs-hide-block)
+  (local-set-key (kbd "C-c <up>")    'hs-hide-all)
+  (local-set-key (kbd "C-c C-<up>")    'hs-hide-all)
+  (local-set-key (kbd "C-c <down>")  'hs-show-all)
+  (local-set-key (kbd "C-c C-<down>")  'hs-show-all)
+  (hs-minor-mode t))
+
+;; now we have to tell emacs where to load these functions. Showing
+;; and hiding codeblocks could be useful for all c-like programming
+;; (java is c-like) languages, so we add it to the c-mode-common-hook.
+(add-hook 'c-mode-common-hook 'hideshow-on)
+
+;; adding shortcuts to java-mode, writing the shortcut folowed by a
+;; non-word character will cause an expansion.
+(defun java-shortcuts ()
+  (define-abbrev-table 'java-mode-abbrev-table
+    '(("psv" "public static void main(String[] args) {" nil 0)
+      ("sop" "System.out.printf" nil 0)
+      ("sopl" "System.out.println" nil 0)))
+  (abbrev-mode t))
+
+;; the shortcuts are only useful in java-mode so we'll load them to
+;; java-mode-hook.
+(add-hook 'java-mode-hook 'java-shortcuts)
+
+;; defining a function that guesses a compile command and bindes the
+;; compile-function to C-c C-c
+(defun java-setup ()
+  (set (make-variable-buffer-local 'compile-command)
+       (concat "javac " (buffer-name)))
+  (local-set-key (kbd "C-c C-c") 'compile))
+
+;; this is a java-spesific function, so we only load it when entering
+;; java-mode
+(add-hook 'java-mode-hook 'java-setup)
+
+;; defining a function that sets the right indentation to the marked
+;; text, or the entire buffer if no text is selected.
+(defun tidy ()
+  "Ident, untabify and unwhitespacify current buffer, or region if active."
+  (interactive)
+  (let ((beg (if (region-active-p) (region-beginning) (point-min)))
+	(end (if (region-active-p) (region-end)       (point-max))))
+    (whitespace-cleanup)
+    (indent-region beg end nil)
+    (untabify beg end)))
+
+;; bindes the tidy-function to C-TAB
+(global-set-key (kbd "<C-tab>") 'tidy)
+
+ + + diff --git a/emacskurs-init-comments.el b/emacskurs-init-comments.el new file mode 100644 index 0000000..0ae8c37 --- /dev/null +++ b/emacskurs-init-comments.el @@ -0,0 +1,88 @@ +;; no splash screen + + +;; show matching parenthesis + + +;; answer with y/n + + +;; stop blinking cursor + + +;; overwrite marked text + + +;; show column number in mode-line + + +;; needed to use things downloaded with the package manager + + +;; add mirrors for list-packages + + +;; choose a color-theme (downloaded with package-manager) + + +;; get the default config for auto-complete (downloaded with +;; package-manager) + + +;; load the default config of auto-complete + + +;; enable ido-mode, this changes the way files are selected in the +;; minibuffer + + +;; no menubar + + +;; no toolbar either + + +;; scrollbar? no + + +;; global-linum-mode shows line numbers in all buffers, exchange 0 +;; with 1 to enable this feature + + +;; kills the active buffer, not asking what buffer to kill. + + +;; adds all autosave-files (i.e #test.txt#, test.txt~) in one +;; directory, avoid clutter in filesystem. + + +;; defining a function that sets more accessible keyboard-bindings to +;; hiding/showing code-blocs + + +;; now we have to tell emacs where to load these functions. Showing +;; and hiding codeblocks could be useful for all c-like programming +;; (java is c-like) languages, so we add it to the c-mode-common-hook. + + +;; adding shortcuts to java-mode, writing the shortcut folowed by a +;; non-word character will cause an expansion. + + +;; the shortcuts are only useful in java-mode so we'll load them to +;; java-mode-hook. + + +;; defining a function that guesses a compile command and bindes the +;; compile-function to C-c C-c + + +;; this is a java-spesific function, so we only load it when entering +;; java-mode + + +;; defining a function that sets the right indentation to the marked +;; text, or the entire buffer if no text is selected. + + +;; bindes the tidy-function to C-TAB diff --git a/emacskurs.html b/emacskurs.html new file mode 100644 index 0000000..ffa7f63 --- /dev/null +++ b/emacskurs.html @@ -0,0 +1,763 @@ + + + + +emacskurs + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ +
+
+

emacskurs

+

Lars Tveito

+

2013-08-01

+
+

emacskurs

+ + + + +
+

1 Emacskurs

+
+ + +
+ +
+

1.1 Intro

+
+ + +
+ +
+

1.1.1 Hva er Emacs?

+
+ + +
    +
  • Teksteditor +
  • +
  • Utvidbar (Elisp) +
  • +
  • Over 30 år gammel +
  • +
  • Over 2500 innebygde kommandoer +
  • +
  • Fri programvare +
  • +
+ + +
+ +
+ +
+

1.1.2 Buffere, vinduer og rammer

+
+ + +
    +
  • Tekst vises i buffere +
  • +
  • Du kan ha så mange åpene buffere du vil +
  • +
  • En fil åpnes i et nytt buffer +
  • +
  • Minibufferet (nederste linje), brukes til å skrive inn filnavn, + buffernavn, etc… + +
  • +
  • Emacs åpnes i en ramme +
  • +
  • En kan ha flere vinduer i samme ramme +
  • +
+ + +
+ +
+ +
+

1.1.3 Modes

+
+ + +
    +
  • Major modes +
      +
    • hvert buffer har kun én aktiv major mode +
    • +
    • en major mode gir deg funksjonalitet for en bestemt type + tekstredigering +
    • +
    • de fleste programmeringsspråk har sin egen major mode + +
    • +
    + +
  • +
  • Minor modes +
      +
    • du kan ha så mange aktive minor modes du ønsker +
    • +
    • en minor mode tilbyr tilleggsfunksjonalitet +
    • +
    + +
  • +
+ + +

+ Modes tilføyer ofte egne tastekombinasjoner! +

+
+ +
+ +
+

1.1.4 Tips

+
+ + +

+ Emacs er annerledes å bruke enn mange andre programmer, så det + krever tilvenning. +

+
    +
  • i begynnelsen +
      +
    • les og gjør «learn-by-doing tutorial» (C-h t) +
    • +
    • tving deg selv til å bruke de kommandoene du lærer til de + sitter i fingrene +
    • +
    • unngå «pek og klikk» + +
    • +
    + +
  • +
  • etter hvert (for spesielt interesserte) +
      +
    • skriv din egen configfil +
    • +
    • lær litt elisp, og skriv dine egne funksjoner + +
    • +
    + +
  • +
  • annet +
      +
    • gjør CAPS-LOCK om til en ekstra Control (Ctrl) +
    • +
    + +
  • +
+ + +
+
+ +
+ +
+

1.2 Taster

+
+ + +
+ +
+

1.2.1 Terminologi for taster

+
+ + +
    +
  • C-<any> + Control + +
  • +
  • M-<any> + Meta er Alt på de fleste maskiner (alternativt ESC) +
  • +
+ + +

+ <any> betyr et vilkårlig tegn (eller tastekombinasjon) +

+
+ +
+ +
+

1.2.2 Prefikstaster

+
+ + +
    +
  • C-x <any> + prefiks for globale kommandoer + +
  • +
  • C-c <any> + prefiks for lokale kommandoer + (har ikke alltid samme funksjon!) + +
  • +
  • C-h <any> + prefiks for hjelp +
  • +
+ + +

+ Alle tastekombinasjon som ikke er en prefiks er bundet til en + kommando! +

+
+
+ +
+ +
+

1.3 Komme seg ut

+
+ + +
    +
  • C-x C-c + avslutt emacs + +
  • +
  • C-g + avbryt + (bruk hvis du ikke skjønner hva emacs holder på med!) + +
  • +
  • ESC ESC ESC + (bruk hvis C-g ikke hjalp) + +
  • +
  • C-<prefix> C-g + er udefinert + (Dvs. C-g kan brukes til å avbryte prefiks) +
  • +
+ + +
+ +
+ +
+

1.4 Tekstredigering

+
+ + +
+ +
+

1.4.1 Flytte markør

+
+ + +
    +
  • C-f, C-b + flytt markøren ett tegn frem/tilbake + +
  • +
  • M-f, M-b + flytt markøren ett ord frem/tilbake + +
  • +
  • C-a, C-e + flytt markøren til begynnelsen/slutten av linja + +
  • +
  • C-p, C-n + flytt markøren til forrige/neste linje +
  • +
+ + +
+ +
+ +
+

1.4.2 Bla rundt

+
+ + +
    +
  • C-v, M-v + scroll ned/opp en side + +
  • +
  • M-<, M-> + gå til begynnelsen/slutten av bufferet + +
  • +
  • C-l + vis slik at markøren er i senter/toppen/bunnen +
  • +
+ + +
+ +
+ +
+

1.4.3 Kill og yank

+
+ + +
    +
  • C-w + kill, tilsvarer cut + +
  • +
  • C-y + yank, tilsvarer paste + +
  • +
  • M-w + lagre til kill-ring, tilsvarer copy + +
  • +
  • C-k + kill, drepe resten av en linje + +
  • +
  • M-y, må etterfølges av C-y + yank-pop, går lenger tilbake på kill-ring +
  • +
+ + +
+ +
+ +
+

1.4.4 Feiloppretting

+
+ + +
    +
  • C-d, M-d + fjern neste bokstav/ord + +
  • +
  • C-_ + undo! + +
  • +
  • C-t, M-t + bytt om to bokstaver/ord + +
  • +
  • C-x C-t + bytt om to linjer + +
  • +
  • M-q + plasserer om tekst i en paragraf slik at linjene ikke overstiger + 70 tegn (den ødelegger ikke syntaks i programmeringsmodes) + +
  • +
  • M-u, M-l, M-c + gjør neste ord til UPPERCASE/lowercase/Capital-Case +
  • +
+ + +
+ +
+ +
+

1.4.5 Markering av tekst

+
+ + +
    +
  • C-SPC + marker tekst + +
  • +
  • C-x h + marker all tekst +
  • +
+ + +

+ Bruk i kombinasjon med M-w, C-w og TAB +

+
+
+ +
+ +
+

1.5 Filer, vinduer og buffere

+
+ + +
+ +
+

1.5.1 Filer

+
+ + +
    +
  • C-x C-f + åpne fil + (hvis den ikke finnes fra før opprettes den) + +
  • +
  • C-x C-s + lagre buffer + +
  • +
  • C-x C-w + skrive til fil (tilsvarende «lagre som…») +
  • +
+ + +
+ +
+ +
+

1.5.2 Vinduer

+
+ + +
    +
  • C-x 2, C-x 3 + splitt et vindu vertikalt/horisontalt + +
  • +
  • C-x 1 + gjør det aktive vinduet til det eneste vinduet + +
  • +
  • C-x 0 + lukk det aktive vinduet + +
  • +
  • C-x o + bytt fokus til et annet vindu +
  • +
+ + +
+ +
+ +
+

1.5.3 Buffere

+
+ + +
    +
  • C-x b RET + bytt buffer + (siste besøkte buffer er default) + +
  • +
  • C-x k RET + drep (kill) buffer + (det aktive bufferet er default) + +
  • +
  • C-x left, C-x right + en annen måte å bytter buffer +
  • +
+ + +
+
+ +
+ +
+

1.6 Kommandoer

+
+ + +
    +
  • M-x function RET + lar deg kalle en hvilken som helst kommando med navn + +
  • +
  • M-x replace-string RET erstatt RET med RET + tilsvarer «search and replace» + +
  • +
  • M-x query-replace RET erstatt RET med RET … y/n + samme som replace-string, men du kan velge hva som skal + erstattes +
  • +
+ + +

+ Bruk TAB for autocomplete! +

+
+ +
+ +
+

1.7 Søking

+
+ + +
    +
  • C-s + søk fremover i bufferet + +
  • +
  • C-r + søk bakover i bufferet +
  • +
+ + +

+ Dette er en effektiv måte å flytte markøren! +

+
+ +
+ +
+

1.8 Hjelp til selvhjelp

+
+ + +
    +
  • C-h k + bruk hvis du lurer på hva en tastekombinasjon gjør + +
  • +
  • C-h f + bruk hvis du kjenner navnet på en funksjon, men ikke vet hva hva + den gjør + +
  • +
  • C-h m + gir deg informasjon om moden du er i + (bl.a tastekombinasjoner som er spesielle for moden) + +
  • +
  • C-h a + apropos, lar deg søke i hjelpen + +
  • +
  • C-h C-h, C-h ? + gir deg hjelp om hjelpen +
  • +
+ + +
+ +
+ +
+

1.9 Programmering

+
+ + +
    +
  • TAB indenterer riktig + (dersom indenteringen er gal er det et tegn på at det er noe galt + i koden!) + +
  • +
  • M-; + kommenterer ut et markert område + +
  • +
  • M-x compile RET compile-command RET + lar deg kompilere i Emacs + (gir trykkbare linker til der feil oppstod) + +
  • +
  • M-g g <nr> RET + flytter markøren til linjenummer <nr> +
  • +
+ + +
+
+
+
+ + + diff --git a/emacskurs.org b/emacskurs.org new file mode 100644 index 0000000..9978157 --- /dev/null +++ b/emacskurs.org @@ -0,0 +1,268 @@ +* Emacskurs +** Intro +*** Hva er Emacs? + + - Teksteditor + - Utvidbar (Elisp) + - Over 30 år gammel + - Over 2500 innebygde kommandoer + - Fri programvare + +*** Buffere, vinduer og rammer + + - Tekst vises i buffere + - Du kan ha så mange åpene buffere du vil + - En fil åpnes i et nytt buffer + - Minibufferet (nederste linje), brukes til å skrive inn filnavn, + buffernavn, etc... + + - Emacs åpnes i en ramme + - En kan ha flere vinduer i samme ramme + +*** Modes + + - Major modes + - hvert buffer har kun én aktiv major mode + - en major mode gir deg funksjonalitet for en bestemt type + tekstredigering + - de fleste programmeringsspråk har sin egen major mode + + - Minor modes + - du kan ha så mange aktive minor modes du ønsker + - en minor mode tilbyr tilleggsfunksjonalitet + + Modes tilføyer ofte egne tastekombinasjoner! + +*** Tips + + Emacs er annerledes å bruke enn mange andre programmer, så det + krever tilvenning. + + - i begynnelsen + - les og gjør «learn-by-doing tutorial» (C-h t) + - tving deg selv til å bruke de kommandoene du lærer til de + sitter i fingrene + - unngå «pek og klikk» + + - etter hvert (for spesielt interesserte) + - skriv din egen configfil + - lær litt elisp, og skriv dine egne funksjoner + + - annet + - gjør CAPS-LOCK om til en ekstra Control (Ctrl) + +** Taster +*** Terminologi for taster + + - C- + Control + + - M- + Meta er Alt på de fleste maskiner (alternativt ESC) + + betyr et vilkårlig tegn (eller tastekombinasjon) + +*** Prefikstaster + + - C-x + prefiks for globale kommandoer + + - C-c + prefiks for lokale kommandoer + (har ikke alltid samme funksjon!) + + - C-h + prefiks for hjelp + + Alle tastekombinasjon som ikke er en prefiks er bundet til en + kommando! + +** Komme seg ut + + - C-x C-c + avslutt emacs + + - C-g + avbryt + (bruk hvis du ikke skjønner hva emacs holder på med!) + + - ESC ESC ESC + (bruk hvis C-g ikke hjalp) + + - C- C-g + er udefinert + (Dvs. C-g kan brukes til å avbryte prefiks) + +** Tekstredigering +*** Flytte markør + + - C-f, C-b + flytt markøren ett tegn frem/tilbake + + - M-f, M-b + flytt markøren ett ord frem/tilbake + + - C-a, C-e + flytt markøren til begynnelsen/slutten av linja + + - C-p, C-n + flytt markøren til forrige/neste linje + +*** Bla rundt + + - C-v, M-v + scroll ned/opp en side + + - M-<, M-> + gå til begynnelsen/slutten av bufferet + + - C-l + vis slik at markøren er i senter/toppen/bunnen + +*** Kill og yank + + - C-w + kill, tilsvarer cut + + - C-y + yank, tilsvarer paste + + - M-w + lagre til kill-ring, tilsvarer copy + + - C-k + kill, drepe resten av en linje + + - M-y, må etterfølges av C-y + yank-pop, går lenger tilbake på kill-ring + +*** Feiloppretting + + - C-d, M-d + fjern neste bokstav/ord + + - C-_ + undo! + + - C-t, M-t + bytt om to bokstaver/ord + + - C-x C-t + bytt om to linjer + + - M-q + plasserer om tekst i en paragraf slik at linjene ikke overstiger + 70 tegn (den ødelegger ikke syntaks i programmeringsmodes) + + - M-u, M-l, M-c + gjør neste ord til UPPERCASE/lowercase/Capital-Case + +*** Markering av tekst + + - C-SPC + marker tekst + + - C-x h + marker all tekst + + Bruk i kombinasjon med M-w, C-w og TAB + +** Filer, vinduer og buffere +*** Filer + + - C-x C-f + åpne fil + (hvis den ikke finnes fra før opprettes den) + + - C-x C-s + lagre buffer + + - C-x C-w + skrive til fil (tilsvarende «lagre som...») + +*** Vinduer + + - C-x 2, C-x 3 + splitt et vindu vertikalt/horisontalt + + - C-x 1 + gjør det aktive vinduet til det eneste vinduet + + - C-x 0 + lukk det aktive vinduet + + - C-x o + bytt fokus til et annet vindu + +*** Buffere + + - C-x b RET + bytt buffer + (siste besøkte buffer er default) + + - C-x k RET + drep (kill) buffer + (det aktive bufferet er default) + + - C-x left, C-x right + en annen måte å bytter buffer + +** Kommandoer + + - M-x function RET + lar deg kalle en hvilken som helst kommando med navn + + - M-x replace-string RET erstatt RET med RET + tilsvarer «search and replace» + + - M-x query-replace RET erstatt RET med RET ... y/n + samme som replace-string, men du kan velge hva som skal + erstattes + + Bruk TAB for autocomplete! + +** Søking + + - C-s + søk fremover i bufferet + + - C-r + søk bakover i bufferet + + Dette er en effektiv måte å flytte markøren! + +** Hjelp til selvhjelp + + - C-h k + bruk hvis du lurer på hva en tastekombinasjon gjør + + - C-h f + bruk hvis du kjenner navnet på en funksjon, men ikke vet hva hva + den gjør + + - C-h m + gir deg informasjon om moden du er i + (bl.a tastekombinasjoner som er spesielle for moden) + + - C-h a + apropos, lar deg søke i hjelpen + + - C-h C-h, C-h ? + gir deg hjelp om hjelpen + +** Programmering + + - TAB indenterer riktig + (dersom indenteringen er gal er det et tegn på at det er noe galt + i koden!) + + - M-; + kommenterer ut et markert område + + - M-x compile RET compile-command RET + lar deg kompilere i Emacs + (gir trykkbare linker til der feil oppstod) + + - M-g g RET + flytter markøren til linjenummer + diff --git a/handout.html b/handout.html new file mode 100644 index 0000000..bf4d2e7 --- /dev/null +++ b/handout.html @@ -0,0 +1,243 @@ + + + + + handout + + + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TastekombinasjonBeskrivelse
Prefikser
C-xGlobale kommandoer
C-cLokale kommandoer
C-hHjelp
Komme seg ut
C-x C-csave-buffers-kill-terminal
C-gkeyboard-quit
ESC ESC ESCkeyboard-escape-quit
Flytte markør
C-fforward-char
C-bbackward-char
M-fforward-word
M-bbackward-word
C-amove-beginning-of-line
C-emove-end-of-line
Bla Rundt
C-vscroll-up-command
M-vscroll-down-command
M-<beginning-of-buffer
M->end-of-buffer
C-lrecenter-top-bottom
Kill og yank
C-wkill-region
M-wkill-ring-save
C-kkill-line
C-yyank
M-yyank-pop
Feiloppretting
C-ddelete-char
M-dkill-word
C-_undo
C-ttranspose-chars
M-ttranspose-words
C-x C-ttranspose-lines
M-qfill-paragraph
M-uupcase-word
M-ldowncase-word
M-ccapitalize-word
Markering av tekst
C-SPCset-mark-command
C-x hmark-whole-buffer
Lagre og sånt
C-x C-ffind-file
C-x C-ssave-buffer
C-x C-wwrite-file
Vinduer
C-x 2split-window-below
C-x 3split-window-right
C-x 1delete-other-windows
C-x 0delete-window
C-x oother-window
Buffere
C-x bswitch-to-buffer
C-x kkill-buffer
C-x <left>previous-buffer
C-x <right>next-buffer
Kommandoer
M-xexecute-extended-command
Søking
C-sisearch-forward
C-risearch-backward
Hjelp til selvhjelp
C-h kInfo-goto-emacs-key-command-node
C-h fInfo-goto-emacs-command-node
C-h mdescribe-mode
C-h aapropos-command
C-h C-h, C-h ?help-for-help
Programmering
TABindent-for-tab-command
M-;comment-dwim
M-g ggoto-line
+ + +
+ +
+

Date: 2013-03-17 22:01:20 CET

+

Author: Lars Tveito

+

Org version 7.8.11 with Emacs version 24

+ + +
+ + diff --git a/handout.org b/handout.org new file mode 100644 index 0000000..a58dd20 --- /dev/null +++ b/handout.org @@ -0,0 +1,103 @@ +|---------------------+----------------------------------| +| Tastekombinasjon | Beskrivelse | +|---------------------+----------------------------------| +| Prefikser | | +|---------------------+----------------------------------| +| C-x | Globale kommandoer | +| C-c | Lokale kommandoer | +| C-h | Hjelp | +|---------------------+----------------------------------| +| Komme seg ut | | +|---------------------+----------------------------------| +| C-x C-c | save-buffers-kill-terminal | +| C-g | keyboard-quit | +| ESC ESC ESC | keyboard-escape-quit | +|---------------------+----------------------------------| +| Flytte markør | | +|---------------------+----------------------------------| +| C-f | forward-char | +| C-b | backward-char | +| M-f | forward-word | +| M-b | backward-word | +| C-a | move-beginning-of-line | +| C-e | move-end-of-line | +|---------------------+----------------------------------| +| Bla Rundt | | +|---------------------+----------------------------------| +| C-v | scroll-up-command | +| M-v | scroll-down-command | +| M-< | beginning-of-buffer | +| M-> | end-of-buffer | +| C-l | recenter-top-bottom | +|---------------------+----------------------------------| +| Kill og yank | | +|---------------------+----------------------------------| +| C-w | kill-region | +| M-w | kill-ring-save | +| C-k | kill-line | +| C-y | yank | +| M-y | yank-pop | +|---------------------+----------------------------------| +| Feiloppretting | | +|---------------------+----------------------------------| +| C-d | delete-char | +| M-d | kill-word | +| C-_ | undo | +| C-t | transpose-chars | +| M-t | transpose-words | +| C-x C-t | transpose-lines | +| M-q | fill-paragraph | +| M-u | upcase-word | +| M-l | downcase-word | +| M-c | capitalize-word | +|---------------------+----------------------------------| +| Markering av tekst | | +|---------------------+----------------------------------| +| C-SPC | set-mark-command | +| C-x h | mark-whole-buffer | +|---------------------+----------------------------------| +| Lagre og sånt | | +|---------------------+----------------------------------| +| C-x C-f | find-file | +| C-x C-s | save-buffer | +| C-x C-w | write-file | +|---------------------+----------------------------------| +| Vinduer | | +|---------------------+----------------------------------| +| C-x 2 | split-window-below | +| C-x 3 | split-window-right | +| C-x 1 | delete-other-windows | +| C-x 0 | delete-window | +| C-x o | other-window | +|---------------------+----------------------------------| +| Buffere | | +|---------------------+----------------------------------| +| C-x b | switch-to-buffer | +| C-x k | kill-buffer | +| C-x | previous-buffer | +| C-x | next-buffer | +|---------------------+----------------------------------| +| Kommandoer | | +|---------------------+----------------------------------| +| M-x | execute-extended-command | +|---------------------+----------------------------------| +| Søking | | +|---------------------+----------------------------------| +| C-s | isearch-forward | +| C-r | isearch-backward | +|---------------------+----------------------------------| +| Hjelp til selvhjelp | | +|---------------------+----------------------------------| +| C-h k | Info-goto-emacs-key-command-node | +| C-h f | Info-goto-emacs-command-node | +| C-h m | describe-mode | +| C-h a | apropos-command | +| C-h C-h, C-h ? | help-for-help | +|---------------------+----------------------------------| +| Programmering | | +|---------------------+----------------------------------| +| TAB | indent-for-tab-command | +| M-; | comment-dwim | +| M-g g | goto-line | +|---------------------+----------------------------------| + diff --git a/notater.org b/notater.org new file mode 100644 index 0000000..cb4ed46 --- /dev/null +++ b/notater.org @@ -0,0 +1,28 @@ +* Husk + + Skru av ido-mode + (set-face-attribute 'default nil :height 200) + +** Plan + + - del 1 + - en gjennomgang av hva Emacs er og hvordan man bruker det + + - del 2 + - bruke det som ble gått gjennom i del 1 + - konfigurere Emacs + + +* Del 2 +** Configurer Emacs + + - Nyeste Emacs + - .emacs og .emacs.d/ + - Nyttige configurasjoner + - Hvordan installere utvidelser + +** Tips og triks + - eshell + - ssh + - compile + - makro (project euler - problem 11)