Emakskonsiletoj 1-a: Regionoj kaj Markoj

Esperanto · English
la 12-an de februaro 2018
Laste ĝisdatigita: la 28-an de septembro 2018

Mi ankoraŭ bezonas trovi pli bonan redaktilon ol emakso. Kio faras emakson elstari, estas sia agorda lingvo—emaksa Lispo. Emakso uzas ĝin al punkto, en kiu, plejparto de la funkciado de si mem, realigitas per emakslispo. En ĉi tiuj serioj, mi priparolos la aferojn, kiujn mi malkovris fari la uzadon de emakso pli agrabla.

Enhavotabelo

Regionoj

La jena komando forviŝas regionon se unu aktivas aŭ forviŝas la signon sub la tajpmontrilo.

(defun delete-char-or-region (&optional arg)
  (interactive "p")
  (if (region-active-p)
      (delete-region (region-beginning)
                     (region-end))
      (if (fboundp 'delete-char)
          (delete-char arg)
          (delete-forward-char arg))))

Kompilo

Mi ofte uzas la jenan komandon kaj mi uzas ĝin de komposti LaTeX-dokumentojn, kompili Scribble-dokumentojn, kompili kodon, kaj por preskaŭ io ajn, kiun mi povas uzi ĝin.

(defun compile-file ()
  (interactive)
  (compile "make -k"))

Skimo

Mi volas havi komandon kiu eksplicite konservas la enigan historion de Geiser:

(defun geiser-save ()
  (interactive)
  (geiser-repl--write-input-ring))

Kaj mi ankaŭ havas la jenan, tial ke, mi plaĉe volas ĝisrandigi la λ-an simbolon.

(defun my-scheme-mode-hook ()
  (put 'λ 'scheme-indent-function 1))

(add-hook 'scheme-mode-hook 'my-scheme-mode-hook)

Servilo

La jena kodaĵo certigas, ke la emaksa servilo, la tiu, kiun emacsclient konektas al, kuras:

(require 'server)

(unless (server-running-p)
  (server-start))

Alterne, oni povas kuri emakson en demonreĝimo el la komandlinio:

$ emacs --daemon

Bufroj

Mi volas havi manieron por mortigi la aktualan bufron, sen esti demandita kiun bufro por mortigi. Mi nur invitiĝos se la aktuala bufro ŝanĝiĝis.

(defun kill-current-buffer ()
  (interactive)
  (kill-buffer (current-buffer)))

Markoj

Estis multe da fojo en la estinteco kiam mi bezonis funkcion kiu markas nur linion. Kiun mi havas estas la jena. Ruli ĝin multfoje markas plurajn liniojn.

(defun mark-line (&optional arg)
  (interactive "p")
  (if (not mark-active)
      (progn
        (beginning-of-line)
        (push-mark)
        (setq mark-active t)))
  (forward-line arg))

Klavkombinoj

La klavkombinoj por la supraj komandoj, estas la jenaj:

(bind-keys
 :map global-map
 ("<delete>" . delete-char-or-region)
 ("C-x C-k" . kill-current-buffer)
 ("C-x c" . compile-file)
 ("M-z" . mark-line))

(bind-keys
 :map scheme-mode-map
 ("C-c <tab>" . completion-at-point))

Finrimarkoj

Mi esperas, ke oni povos esti kapabla trovi uzojn de kelkaj de ili. La ceteraj agordoj troveblas ĉi tie.

Dank’ al Raymund MARTINEZ pro la korektoj.