加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在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"))))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读