2012-09-28 19 views
7

hay un complemento de lispa de Emacs que me permite editar o ingresar datos en un archivo yaml fácilmente.Emacs Edición Yaml

Por ejemplo:

 
--- sample yaml file --- 
Name : 
Addr : 
City : 
State: 
Zip : 

Phone: 
Email 
--- End ---- 

Cuando se abre el archivo en Emacs, el cursor se colocará automáticamente en la primera clave Yaml. En este caso, "Nombre:", cuando termine de ingresar un nombre después de "Nombre:" y presione regresar, se moverá automáticamente a la siguiente tecla. en este caso, "Addr:"

pestaña hacia adelante/hacia atrás se puede utilizar para avanzar y retroceder entre las teclas.

¿Hay algo allí para esto?

Gracias!

Respuesta

1

Puede definir una macro personalizada que haga lo que desee.

Podría algo como esto:

;; define named macro 
(fset 'jump-next-colon 
    [?\C-f ?\C-s ?: ?\C- ? ]) 
;; assign shortcut ctrl+alt+j 
(global-set-key (kbd "C-M-j") 'jump-next-colon) 

Si esto no es exactamente lo que busca usted puede escribir su propia macro. Ver http://emacswiki.org/emacs/KeyboardMacros

+0

I reconstruido todos estos juntos: –

0

jump-char podría ayudar. Le permite pasar rápidamente a la aparición siguiente/anterior de un personaje.

3

que reúnen los retazos de la red y tiene esto:

(defun yaml-next-field() 
    "Jump to next yaml field" 
    (interactive) 
    (search-forward-regexp ": *")) 
(defun yaml-prev-field() 
    "Jump to next yaml field" 
    (interactive) 
    (search-backward-regexp ": *")) 
(add-hook 'yaml-mode-hook 
      '(lambda() 
      (define-key yaml-mode-map "\C-m" 'newline-and-indent) 
      (define-key yaml-mode-map "\M-\r" 'insert-ts) 
      (define-key yaml-mode-map (kbd "C-<tab>") 'yaml-next-field) 
      (define-key yaml-mode-map (kbd "C-S-<tab>") 'yaml-prev-field) 
      ))