uMtMu

ja2.png

Table of Contents

1 Elisp

1.1 1.ders

(+ 2 5 34 32 (/ 22 3))

(defun add-nums (a b c)
(+ a b c)
)

(add-nums 10 23)

;; test lib
(require 'ert)
(ert-deftest add-nums-pos () 
  should (equal (add-nums-pos 11 10) 21))
;; M - x ert

1.2 2.ders

(org-src-debug)
(setq a 10 b 32)
(+ a b)
(null nil)

'(1 2 3 4)
(equal nil '())
(setq my_list '(1 2 3 4))
(car my_list)
(cdr my_list)
(nth 0 my_list)
(member 4 my_list)
(defun does_exist (number my-list)
  (
   (member number my-list)))

(require 'ert)
(ert-deftest check-number
    ((should (does_exist 1 '(1 2 3 4)) )
     )

  (ert-deftest check-number
      ((should (not (does_exist 5 '(1 2 3 4)) ))
       )
    )

  (ert-deftest check-number ()
    (should (does_exist 1 '(1 2 3 4)))
    (should (not (does_exist 5 '(1 2 3 4))))
    )

1.3 3.ders

(setq my_list '(1 2 3 4))
;; loop through list and print even number
(dolist (elm my_list)
  (when (= (mod elm 2) 0) 
    (print elm) ;; writes to mini buffer
    (message (number-to-string elm)) ;; durumu tam anlamadım
    ))
(let (some-var) ;; sets scope, some-var will work only in let
  (when (null some-var)
    (message "var is null") 
    ))

(let ((some-var 0)
      (other-var 99))
  (if (null some-var)
      (message "null")
    (message "not null")
    ))

(defun sum-evens (some-list)
  (let ((sum 0))
    (dolist (elm some-list)
      (when (= (mod 2 elm))
	(setq sum (+ sum elm))))
    (message (number-to-string sum))
    ))
(sum-evens '(1 2 3 4))

1.4 4.ders

;; C-h f get help for function
;; C-h k get help for key
(defun cheap-count-words ()
  (interactive)
  (let ((words 0))
    (save-excursion ;; imlecin son yerini hatırla
      (goto-char (point-min)) ;; buffer'ın en başına gel
      (while (forward-word) ;; bir kelime ilerle
	(setq words (+ 1 words)))
      (message (format "Words in buffer: %s" words))
      words)) ;; sadece let çalıştığı zaman fonksiyon hata veriyor. words'ü de yazdırıyoruz ??
  )


(require 'ert)
(ert-deftest count-words-test ()
  (get-buffer-create "*test*") ;; bu isimli buffer yoksa oluştur
  (with-current-buffer "*test*"
    (erase-buffer)
    (insert "Hello Worlds") ;; buffera yaz
    (should (= (cheap-count-words) 2))
    )
  (kill-buffer "*test*")
  )

;; C-x C-e M-x ert

1.5 5.ders

(defvar boolcase-mode-words '("true" "false")
  "Words to capitalize"  
  )

(defun boolcase-mode-check ()
  "Check if we capitalize or not"
  ;; iif it's "e"
  (if (= last-command-event 101)
      (boolcase-mode-fix)))

(defun boolcase-mode-fix ()
  (save-excursion
    (copy-region-as-kill (point) (progn (backward-sexp) (point)))
    (when (member (current-kill 0) boolcase-mode-words)
      (capitalize-word 1))
    ;; Remove the element from kill ring
    (setq kill-ring (cdr kill-ring))
    )
  )


(define-minor-mode boolcase-mode
  "Auto capitalize"
  :lighter " BC"
  (if boolcase-mode
      (add-hook 'post-self-insert-hook
		'boolcase-mode-check nil t)
    (remove-hook 'post-self-insert-hook
		 'boolcase-mode-check t)
    )
  )

2 Okunacak

3 Artist mode - Ascii/Diagram çizimi

M-x artist-mode

mouse tekerlek tuşu menüyü açıyor. gerisi anlaşılır zaten :D

4 orgmode hedefli dosya bağlantıları

[[file:~/code/main.c::255]]                 Find line 255
[[file:~/xx.org::My Target]]                Find ‘<<My Target>>’
[[file:~/xx.org::#my-custom-id]]            Find entry with custom id

5 GnuPG

  • Kurulum
    sudo apt-get install gnupg2
    sudo apt-get install kleopatra # arayüz
  • Key oluşturma
    gpg –gen-key # eposta adresi önemli. Keyringde belirleyici olacak
  • .emacs ayarlar
    (require 'epa-file)
    (epa-file-enable)
  • orgmode kullanımı
    Dosya uzantısı gpg (*.gpg) olan dosyanın ilk satırına

    eklenecek

  • Oluşturulan anahtar dosyasının taşıma amaçlı çıkarılması (Export)
    gpg –armor –export me@mydomain.com > mykey.asc
  • Çıkarılan anahtarın eklenmesi (Import)
    gpg –import mykey.asc

6 MoveIt

Numerik tekrarlama
(C|M)-Num Komut örneği C-5 C-f

Komut Boyut Yöne
C-f Karakter İleri
C-b Karakter Geri
C-n Satır İleri
M-f Kelime İleri
C-p Satır Geri
M-f Kelime İleri
M-b Kelime Geri
M-v Paragraf İleri
C-v Paragraf Geri
M-< Buffer Tepe
M-> Buffer Dip

7 SpacEmacs & ErgoEmacs

Bana fazla karışık geldi. Sıfırdan kendin kurup neyin ne olduğunu bilmek daha güzel geliyor. Tabi ne var ne yok görmek için iyi oldu.
SpacEmacs & ErgoEmacs

8 orgmode easy templates

1. 2. Sonuç
<s TAB #+BEGIN_SRC … #+END_SRC
<e TAB #+BEGIN_EXAMPLE … #+END_EXAMPLE
<q TAB #+BEGIN_QUOTE … #+END_QUOTE
<v TAB #+BEGIN_VERSE … #+END_VERSE
<c TAB #+BEGIN_CENTER … #+END_CENTER
<l TAB #+BEGIN_LaTeX … #+END_LaTeX
<L TAB #+LaTeX:
<h TAB #+BEGIN_HTML … #+END_HTML
<H TAB #+HTML:
<a TAB #+BEGIN_ASCII … #+END_ASCII
<A TAB #+ASCII:
<i TAB #+INDEX: line
<I TAB #+INCLUDE: line

9 Orgmode metin stilleri

_ metin stili
* metin stili
~ metin stili
= metin stili
+ metin stili

10 Elpy kısayollar

M - . Tanımlanan noktaya git
M - * M - . ya geri dön
C - c C - o Fonsiyon ve sınıfları listele

11 Kaydedilmemiş değişiklikler

C-x s kombinasyonu ile toplu tampon kayıtlarında "d" tuşu ile değişiklikler
görülebilir.

12 multiple replace on fly   Ara

Değiştirilen kelimenin her bir kopyasının aynı anda güncellenmesi

13 .emacs

14 ipuçları

14.1 List occurence

M - s o -> list occurence
M - s o RET def RET -> list functions
M - s o RET class RET -> list classes

14.2 conf-mode

14.3 Template kısayolları

1. 2. 3. Sonuç
< s TAB #+BEGIN_SRC … #+END_SRC
< e TAB #+BEGIN_EXAMPLE … #+END_EXAMPLE
< q TAB #+BEGIN_QUOTE … #+END_QUOTE
< v TAB #+BEGIN_VERSE … #+END_VERSE
< c TAB #+BEGIN_CENTER … #+END_CENTER
< l TAB #+BEGIN_LaTeX … #+END_LaTeX
< L TAB #+LaTeX:
< h TAB #+BEGIN_HTML … #+END_HTML
< H TAB #+HTML:
< a TAB #+BEGIN_ASCII … #+END_ASCII
< A TAB #+ASCII:
< i TAB #+INDEX: line
< I TAB #+INCLUDE: line

14.4 Registerlar

C-x r s r
Copy region into register r (copy-to-register).

C-x r i r
Insert text from register r (insert-register).

M-x append-to-register RET r
Append region to text in register r.
When register r contains text, you can use C-x r + (increment-register) to append to that register. Note that command C-x r + behaves differently if r contains a number. See Number Registers.

M-x prepend-to-register RET r
Prepend region to text in register r.

15 ElPy

  1. Reponun eklenmesi
    (require 'package)
    (add-to-list 'package-archives
    	'("elpy" . "http://jorgenschaefer.github.io/packages/"))
    
  2. Paketin yüklenmesi
    M-x package-install RET elpy
  3. Paketin aktifleştirilmesi
    (package-initialize)
    (elpy-enable)
    
  4. Paketin yapılandırılması
    M-x elpy-config RET

16 Bağlantılar

Author: umt

Created: 2018-02-08 Thu 18:05

Emacs 24.5.1 (Org mode 8.2.10)

Validate