Emacs Yaml编辑
是否有任何Emacs lisp附加组件允许我在yaml文件中轻松编辑或输入数据 例如: --- sample yaml file --- Name : Addr : City : State: Zip : Phone: Email --- End ---- ---yaml文件示例--- 姓名: 地址: 城市: 声明: 邮编: 电话: 电子邮件 ---结束---- 在Emacs中打开文件时,光标将自动放置在第一个Yaml键处。在本例中为“Name:”,当我在“Name:”之后输入完一个名称并点击return时,它将自动移动到下一个键。在本例中,“Addr:” “前进/后退”选项卡可用于在关键点之间来回移动 有什么可以做的吗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:”之后输入完一个名称并
谢谢 您可以定义一个自定义宏来执行您想要的操作 它可以是这样的:
;; 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上一字段)
))