Emacs Yaml编辑

时间:2012-09-28 22:58:07

标签: emacs yaml

是否有任何Emacs lisp插件可以让我轻松编辑或输入yaml文件中的数据。

例如:

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

Phone:
Email
--- End ----

在Emacs中打开文件时,光标将自动放在第一个Yaml键上。在这种情况下,“名称:”,当我在“名称:”之后输入名称并点击返回时,它将自动移动到下一个键。在这种情况下“地址:”

前进/后退标签可用于在按键之间来回移动。

这有什么事吗?

谢谢!

4 个答案:

答案 0 :(得分:6)

答案 1 :(得分:3)

我从网上收集零碎的东西并得到了这个:

(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)
             ))

答案 2 :(得分:1)

您可以定义执行所需操作的自定义宏。

可能是这样的:

;; 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)

如果这不是您想要的,您可以编写自己的宏。见http://emacswiki.org/emacs/KeyboardMacros

答案 3 :(得分:0)

jump-char可以提供帮助。它可以让你快速跳转到下一个/上一个角色。