Bash / Sh等Shell脚本的IDE / Emacs模式

20

我在编写shell脚本时使用Emacs。我知道有一些模式可以让在Emacs上编写Shell脚本更容易(例如代码自动完成、自动补全、括号匹配、语法高亮、语法检查),但是我一直没有找到它们的位置。简而言之,我希望将Emacs变成一个Bash IDE。

此外,在GNU/Linux Shell上是否有其他工具/IDE可以使脚本编写更加轻松?

6个回答

23

如果尚未开启语法高亮功能,Emacs内置了一个Shell模式可进行语法高亮,使用M-x shell-script-mode命令即可。

如果您在编写bash脚本,有一个名为的调试工具可以帮助您更轻松地编写脚本。

当然,eshell也是一种在Emacs Lisp中编写的Shell,因此您可以获得所有来自Lisp的语法高亮、自动完成和Emacs Lisp调试器。


1

我知道这是一个旧帖子,但我想分享我的设置。

我曾经遇到过同样的问题,现在我在我的 .emacs 文件中使用以下代码来进行 sh/bash 代码自动完成。

(require 'auto-complete)
(require 'auto-complete-config)
(ac-config-default)

如果您使用最新版本的Emacs,语法高亮应该已经可用。

1

我认为在shell脚本中没有任何代码完成的模式,至少在Emacs中没有。 (实际上,我从来没有感觉到过这种需要。)但是,在交互式运行时,bash可以支持自动完成(该软件包称为“ bash-completion”或类似名称)。 这为许多shell命令提供了制表符完成。


1
这条评论有些晚了,但在Emacs中,可以使用 auto-complete-mode(一个小模式)来辅助 sh-mode(Shell脚本的主要模式),以提供Shell脚本的自动完成功能。 - 4ae1e1

1

0

Griffon 是专门为 BASH 脚本设计的 IDE。它的功能包括自动完成、语法高亮、错误检测等等。


-6

我对Emacs不是很熟悉,但我认为它不太方便。就我所见,好的IDE总是可以做到以下几点:

  1. 跳转到声明
  2. 查找引用
  3. 代码大纲和符号显示
  4. 高亮出现次数
  5. 代码自动完成

因此,我会推荐Jetbrain Idea(带有bashsupport插件)和Visual Studio Code(带有bash ide和shell-format扩展程序)。

附注:

bashsupport - https://plugins.jetbrains.com/plugin/4230-bashsupport/

bash ide - https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode


1
这种回答总是让我感到奇怪。“我如何使用工具B完成A?”---“很容易,不要使用你原本想用的工具B,改用另一个工具C。”它实际上根本没有回答原来的问题。 - vfalcao
还有没有其它的工具/集成开发环境可以让在 GNU/Linux Shell 上编写脚本更加容易?你看过问题描述吗?我认为我提供了一个更好的解决方案! - Alex Ding
1
我改口了。原始问题是“此外,是否有其他工具/IDE可以使GNU/Linux Shell上的脚本编写更容易?”。我有点发泄了对所有不回答原始问题的答案的沮丧,并绕过建议新方法... 对此感到抱歉。 - vfalcao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接