8

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

例如:

--- 示例 yaml 文件 ---
姓名 :
地址:
城市 :
状态:
压缩 :

电话:
电子邮件
- - 结尾  -  - 

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

前进/后退选项卡可用于在键之间来回移动。

有什么可做的吗?

谢谢!

4

4 回答 4

6

http://emacswiki.org/emacs/YamlMode

于 2012-09-29T12:03:25.377 回答
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)
             ))
于 2012-10-12T19:34:51.533 回答
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

于 2012-09-28T23:24:39.177 回答
0

jump-char可以提供帮助。它可以让您快速跳转到下一个/上一个字符的出现。

于 2012-09-29T04:34:33.620 回答