在linux上运行的基于文本的强大java IDE

在linux上运行的基于文本的强大java IDE,linux,emacs,ide,intellij-idea,Linux,Emacs,Ide,Intellij Idea,问题是——我喜欢旧货;) 有一些我喜欢的旧笔记本电脑。它当然运行Xorg,而且速度很快。但是Intellij的想法仍然很慢 曾考虑过emacs,但从未使用过。emacs不是太复杂了吗? 在许多窗口中,要在X下的文本模式下工作,并制作一些脚本来实现自动化。当你说“基于文本”时,是指“在终端中运行”吗?在这种情况下,选择是显而易见的(在我看来)——这是最好的选择,并且在世界上几乎每一个Linux发行版上都可用。它具有内置的Java语法突出显示和缩进功能,您可以使用前面提到的插件,给它一种更现代的ID

问题是——我喜欢旧货;) 有一些我喜欢的旧笔记本电脑。它当然运行Xorg,而且速度很快。但是Intellij的想法仍然很慢

曾考虑过emacs,但从未使用过。emacs不是太复杂了吗?
在许多窗口中,要在X下的文本模式下工作,并制作一些脚本来实现自动化。

当你说“基于文本”时,是指“在终端中运行”吗?在这种情况下,选择是显而易见的(在我看来)——这是最好的选择,并且在世界上几乎每一个Linux发行版上都可用。它具有内置的Java语法突出显示和缩进功能,您可以使用前面提到的插件,给它一种更现代的IDE感觉。

三大Java/universal IDE(IntelliJ IDEA、Eclipse和Netbeans)都是用Java编写的,在一台旧的(定义旧的?)笔记本电脑上速度会慢一些。我不想在我3-4岁的ThinkPad上运行它们,但我不介意在我2岁的MacBook上运行Netbeans。我没有在MacBook上尝试IntelliJ,但我在新的Thinkpad上使用IntelliJ,速度不太快。不过,它仍然可用

像IntelliJ这样的全能IDE和文本编辑器之间有着天壤之别,即使是像Emacs那样可扩展的编辑器也是如此。Emacs将使用更少的资源,并且会感觉更灵敏,但这部分是因为它使用更少的资源,部分是因为它的核心引擎是本机代码而不是Java。此外,它还有20年的调整时间

如果我只想编写代码,我倾向于使用Emacs作为编辑器——一旦我从编写代码进入调试、重构和调整阶段,我也会使用IDE,因为它们至少可以更好地完成调试等任务。考虑到您所谈论的是一个文本编辑器(不可否认是类固醇),而不是一个成熟的IDE,这一点并不令人惊讶

基本的Emacs并不难学。如果你想写脚本,学习移动和基本的文本编辑命令应该可以让你很快地开始工作;当您深入研究编辑器并开始使用大量的附加软件包和直接内置到编辑器中的高级功能时,复杂性就会出现。学习曲线将比gedit更陡峭,但如果您接受它与IDE(更强大的编辑器,更少的人手)完全不同,并且它以自己的方式做事,那么学习曲线是完全可行的


值得学习Emacs吗?我不知道-如果你想,那么是的。如果您只是想要一个响应更快但本质上更基本的文本编辑器,那么可以看看其他程序员的编辑器。它们中有很多比Emacs和VIM更容易学习,但也不一定那么强大。

如果你想成为一名专业的Java程序员,我建议你买一台新的笔记本电脑并在上面运行IntelliJ IDEA/Eclipse。任何现代笔记本电脑都应该能够运行这些IDE

您通过使用IDE(特别是通过重新分解)获得的生产力收益使您花在笔记本电脑上的钱物有所值

虽然您可以使用vim+ctags作为一个简单的java编辑器(带有补全),但在构建真实世界的应用程序时,它们将无法接近IDE的功能

IDE提供了各种工具,从生成构建脚本到与框架(如Spring/hibernate)的集成挂钩,让您的生活更轻松


和你一样,我不喜欢在我的机器上启动一个庞大的IDE。但是你知道吗?一旦你启动了一个大而臃肿的IDE,它会消耗300兆内存,你会发现自己的工作速度要快得多。

好吧,在阅读了一些回复后,我决定回答我自己的问题并解释这个想法

它背后的主要思想是新的软件开发方式。想象一下——打开浏览器并加载快速、轻量级的IDE。它在几秒钟内加载,在功能强大的服务器上(而不是在您的机器上)在几秒钟内编译300个模块项目,甚至提供成对编程,当你们两个都可以实时编辑同一个文件时

这太复杂了,无法实现。但我相信这就是未来。 然而,基于文本的方法很容易实现。
将emacs安装到一些功能强大的设备上,您就可以开始了。当然,很少有开发人员不能同时编辑同一个文件。但这只是一个开始,实施起来要简单得多。在多处理器多核盒上编译-将更快。我想我可以在几个小时内自己组装起来试一下。只是建议我一些真正酷的文字模式。一些针对emacs/vim的(java)开发插件,或者至少是一些描述类似内容的文章。

您应该签出vim+eclim()。Eclim是一个vim插件,它通过套接字与eclipse的无头实例进行通信。您可以使用vim文本编辑器+Eclipse的增强重构、完成等

让我补充一点,eclim的Emacs客户端目前正在开发中,但是已经提供的看起来非常好。有关更多详细信息,请查看此链接:

干杯

-- José A. Romero L. escherdragon at gmail "We who cut mere stones must always be envisioning cathedrals." (Quarry worker's creed) -- 何塞·A·罗梅罗L。 gmail上的Escherdagon “我们这些只切割石头的人必须总是想象大教堂。” (采石场工人信条)
我使用vim已经有一段时间了,主要是在用Ruby编写时(在编写AS3或Java时,我仍然使用IntelliJ IDEA和Eclipse)。最近,我偶然发现了一个非常出色的插件包,名为“janus”。它将所有最基本的插件打包到一个简单的安装中。最终产品将类似于OSX的Textmate


你可以从这里的github回购中获得“janus”。希望这有帮助

您是否尝试过使用JVM选项来实现调整java堆大小和选择其他GC算法之类的想法?这对我解决速度问题有很大帮助。谢谢丹尼斯。我不太熟悉Sun的JVM选项。前一段时间用得更好了。但现在JRockit归IBM所有,而不是IBM