在emacs中以sh模式打开zsh脚本
发布时间:2020-12-13 18:48:41 所属栏目:Linux 来源:网络整理
导读:* .zsh文件以默认模式打开(对我来说是文本模式).但是,sh-mode实际上是多种模式,包括zsh,bash等的行为.如何告诉emacs在sh-mode的zsh风格中专门打开* .zsh文件? 解决方法 sh-mode的味道是从shebang行(脚本的第一行)中自动检测的.如果您有“#!/ bin / zsh”,
* .zsh文件以默认模式打开(对我来说是文本模式).但是,sh-mode实际上是多种模式,包括zsh,bash等的行为.如何告诉emacs在sh-mode的zsh风格中专门打开* .zsh文件?
解决方法
sh-mode的味道是从shebang行(脚本的第一行)中自动检测的.如果您有“#!/ bin / zsh”,则会假设zsh并且(例如)autoload将被识别为关键字.如果第一行是“#!/ bin / bash”,则无法识别自动加载
要使emacs将* .zsh文件识别为shell脚本,只需将其添加到init文件中: (add-to-list 'auto-mode-alist '(".zsh'" . sh-mode)) 当你不想使用shebang时选择一种风味的程序化方法是在sh模式缓冲区中这样做: (sh-set-shell "zsh") 所以在你的情况下你需要的东西(除非你使用shebang)是更新auto-mode-alist,如上所述 (add-hook 'sh-mode-hook (lambda () (if (string-match ".zsh$" buffer-file-name) (sh-set-shell "zsh")))) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |