Emacs Yaml编辑

Emacs Yaml编辑,emacs,yaml,Emacs,Yaml,是否有任何Emacs lisp附加组件允许我在yaml文件中轻松编辑或输入数据 例如: --- sample yaml file --- Name : Addr : City : State: Zip : Phone: Email --- End ---- ---yaml文件示例--- 姓名: 地址: 城市: 声明: 邮编: 电话: 电子邮件 ---结束---- 在Emacs中打开文件时,光标将自动放置在第一个Yaml键处。在本例中为“Name:”,当我在“Name:”之后输入完一个名称并

是否有任何Emacs lisp附加组件允许我在yaml文件中轻松编辑或输入数据

例如:

--- sample yaml file --- Name : Addr : City : State: Zip : Phone: Email --- End ---- ---yaml文件示例--- 姓名: 地址: 城市: 声明: 邮编: 电话: 电子邮件 ---结束---- 在Emacs中打开文件时,光标将自动放置在第一个Yaml键处。在本例中为“Name:”,当我在“Name:”之后输入完一个名称并点击return时,它将自动移动到下一个键。在本例中,“Addr:”

“前进/后退”选项卡可用于在关键点之间来回移动

有什么可以做的吗


谢谢

您可以定义一个自定义宏来执行您想要的操作

它可以是这样的:

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

如果这不是您想要的,您可以编写自己的宏。请参见可能会有所帮助。它可以让你快速跳转到某个字符的下一个/上一个出现处。

我从网络中收集了一些信息,得到了以下信息:

(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)
             ))
(定义yaml下一个字段()
“跳转到下一个yaml字段”
(互动)
(向前搜索正则表达式“:*”)
(定义yaml上一字段()
“跳转到下一个yaml字段”
(互动)
(向后搜索regexp:*”)
(添加“钩”yaml模式钩)
"(lambda)
(定义键yaml模式映射“\C-m”换行和缩进)
(定义键yaml模式映射“\M-\r””插入ts)
(定义关键yaml模式映射(kbd“C-”)yaml下一字段)
(定义关键yaml模式映射(kbd“C-S-”)yaml上一字段)
))