我将 Emacs 用于 shell 脚本。我知道我在某处读到了一些模式,可以更轻松地在 Emacs 上编写 Shell 脚本(代码完成、自动完成、括号匹配、语法高亮、检查语法),但找不到它。简而言之,我想把 Emacs 变成一个 Bash IDE。
此外,是否有任何其他工具/IDE 可以使 GNU/Linux Shell 上的脚本编写更容易?
嗯,有一个内置的 shell 模式可以进行语法高亮,如果它还没有打开,M-x shell-script-mode
它会为你做。
关于使脚本编写更容易的工具。有一个bash shell 调试器,所以如果你用 bash 编程,那会很有帮助。
当然还有eshell,一个用 Emacs lisp 编写的 shell,因此您可以从 lisp、自动完成和 emacs lisp 调试器中获得您期望的所有语法突出显示。
我不认为 shell 脚本有任何代码完成模式,至少在 Emacs 中没有。(我实际上从来没有觉得有必要。)但是,在交互式运行时,bash 支持完成(该包称为“bash-completion”或类似的东西)。这为许多 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