是否有任何 Emacs lisp 插件可以让我轻松地在 yaml 文件中编辑或输入数据。
例如:
--- 示例 yaml 文件 --- 姓名 : 地址: 城市 : 状态: 压缩 : 电话: 电子邮件 - - 结尾 - -
在 Emacs 中打开文件时,光标会自动放在第一个 Yaml 键处。在这种情况下“名称:”,当我在“名称:”之后输入完一个名称并按回车键时,它会自动移动到下一个键。在这种情况下“地址:”
前进/后退选项卡可用于在键之间来回移动。
有什么可做的吗?
谢谢!
我从网上收集了一些零碎的东西,得到了这个:
(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)
))
您可以定义一个自定义宏来执行您想要的操作。
它可能是这样的:
;; 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
jump-char可以提供帮助。它可以让您快速跳转到下一个/上一个字符的出现。