使用helm-dirset在“易于理解的界面中分别多个目录”中进行文件搜索
昨天是在@tadsan先生的介绍中了解到.emacs。定期维护.emacs是很重要的,最近我也有点跟不上潮流了。
那么,突如其来的,我想介绍一下ansible.el。
ansible.el 是 Ansible 的 Emacs 包。
ansible.el是用于编写Ansible Playbook的代码段集合。
安装
M-x package-install ansible
使用方法
在假设已安装和配置好YASnippet的情况下,
M-x ansible
会生效。
您还可以通过在.emacs中添加以下代码将其钩接到YAML模式上。
(add-hook 'yaml-mode-hook '(lambda () (ansible 1)))
(餘談) 如何創建ansible.el的片段
我在自己的博客中也介绍过,实际上每个实现Ansible Module的源代码都是用YAML编写的,包括Module的使用方法等。(可能还从这些代码生成了文档??)
YAML格式的写法意味着易于解析。
我正在使用脚本解析此内容,并生成适用于YASnippet的代码段文件。目前正在针对Ansible v1.8.1生成。
我想要简单地移动一个由 Ansible 最佳实践配置的目录。
既然描述变得更简单了,那我就渴望文件迁移了。
可能会有一种情况是希望将apache角色的main.yml文件移动到php角色的main.yml文件中。
这时候我们要关注的是”同名文件”。虽然可以从项目根目录一次性搜索文件,但可读性很差。
在这种情况下,我曾经有使用cake.el和cake2.el这些Emacs Lisp文件移动的经验。
我不得不承认,半年前(或者说这次)为了将ansible.el引入,我将其分离并转化为一个库(结果在忙碌之中遗忘了)。
helm-dirset.el的意思是“Helm目录设置”。
安装
正在积极申请将其提交到MELPA仓库。
使用方法
(require 'helm-dirset)
(defun some-mode::helm-directories ()
(interactive)
(helm-other-buffer
(helm-dirset-sources '("/path/to/dir"
"/path/more/to/dir2"
"/Users/k1low")) nil))
通过这种设置方式,可以按目录查看每个目录中的文件。
基本上我們假設它會以某種次要模式整合,但如果您有一個經常參考的目錄,也可以自己創建一個函數。
所以
只是一个简单的Helm界面!
明天是 @kaz-yos !