【发布时间】:2009-06-17 18:21:49
【问题描述】:
我将 Emacs 用于 shell 脚本。我知道我在某处读到了某种模式,可以更轻松地在 Emacs 上编写 Shell 脚本(代码完成、自动完成、括号匹配、语法高亮、检查语法),但找不到它。总之,我想把 Emacs 变成一个 Bash IDE。
另外,是否有任何其他工具/IDE 可以使 GNU/Linux Shell 上的脚本编写更容易?
【问题讨论】:
标签: linux bash emacs scripting gnu
我将 Emacs 用于 shell 脚本。我知道我在某处读到了某种模式,可以更轻松地在 Emacs 上编写 Shell 脚本(代码完成、自动完成、括号匹配、语法高亮、检查语法),但找不到它。总之,我想把 Emacs 变成一个 Bash IDE。
另外,是否有任何其他工具/IDE 可以使 GNU/Linux Shell 上的脚本编写更容易?
【问题讨论】:
标签: linux bash emacs scripting gnu
嗯,有一个内置的 shell 模式可以进行语法高亮,如果它还没有打开,M-x shell-script-mode 会为你做。
关于使脚本编写更容易的工具。有一个bash shell debugger,所以如果你用 bash 编程,那会很有帮助。
当然还有eshell,这是一个用 Emacs lisp 编写的 shell,因此您可以从 lisp、自动完成和 emacs lisp 调试器中获得所有您期望的语法高亮显示。
【讨论】:
我认为 shell 脚本没有任何代码完成模式,至少在 Emacs 中没有。 (实际上我从来没有觉得有必要。)但是,在交互式运行时,bash 支持完成(该包称为“bash-completion”或类似名称)。这为许多 shell 命令提供了制表符补全。
【讨论】:
sh-mode(shell 脚本的主要模式)之外,还可以使用auto-complete-mode(次要模式)来提供 shell 脚本中的自动完成功能.
【讨论】:
我遇到了同样的问题,现在我在 .emacs 文件中使用下面的代码来自动完成 sh/bash 代码。
(require 'auto-complete)
(require 'auto-complete-config)
(ac-config-default)
如果您使用的是最新版本的 Emacs,语法高亮应该已经可以工作了。
【讨论】:
Griffon 是专门为 BASH 脚本设计的 IDE。它的功能包括自动完成、语法高亮、错误检测等。
【讨论】:
我对 Emacs 不是很熟悉,但我相信它并不方便。如我所见,好的ide总是可以做到的:
所以我会推荐 Jetbrain Idea(带有 bashsupport 插件)和 Visual Studio Code(带有 bash ide 和 shell 格式扩展)。
ps:
bashsupport - https://plugins.jetbrains.com/plugin/4230-bashsupport/
bash ide - https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode
【讨论】: