1

At the moment I'm using Sublime Text 3, but I'm looking for an open-source alternative for it, that:

  • Is free, gratis and open-source
  • Available for at least Linux and Windows
  • Uses native GTK theme on Linux
  • Has syntax highlighting, for at least:
    • HTML (with Jinja2)
    • CSS
    • Stylus
    • SCSS
    • JS
    • TS
    • Vue
    • Python
    • Rust
    • C++
  • Has linting, for at least:
    • HTML
    • JS
    • TS
    • Vue
    • Python
  • Has code intelligence, for at least:
    • Python
    • JS
  • Has Emmet
  • Has EditorConfig
  • Has a file tree at the left
  • Has a built-in terminal
  • Has a split-view, a la the Origami plugin for ST3
  • Highlights brackets, a la the BracketHighlighter plugin for ST3
  • Shows a gutter before a line containing a color, a la the Gutter Color plugin for ST3
  • Can easily handle big files (logs from ~300MB)

Nice-to-haves:

  • Version control integration, for:
    • Git
    • Mercurial
  • Plugin system
4
  • What do you deem to be a "big file"? Without a definition, that's kind of subjective. For code, anything into hundreds of kilobytes could be deemed big. For log files, anything into hundreds of megabytes could be considered big
    – gabe3886
    Sep 26, 2016 at 10:44
  • @gabe3886: The big files are logs from around 300 MB…
    – wb9688
    Sep 26, 2016 at 18:17
  • @wb9688 Edit your Question to provide additional information rather than post as comments. Sep 27, 2016 at 5:51
  • For Notepad++ there is a plugin for Emmet support Oct 9, 2017 at 7:58

5 Answers 5

2

Emacs has a lot of the features that you are looking for built-in or able to be added in through packages. So if Emacs does not come with a built-in feature you want, it has over 50 years of support and customization to add in features. It is best supported on GNU/Linux distros, but also has versions for Windows and OS X.

For syntax highlighting, it comes with AWK, BASH, C/Cpp, Python, Fortran, Java, JavaScript, PHP, Pascal, and HTML. Any other language syntax can be added in a directory.

Emacs comes with three commands to run shells by default: M-x shell, M-x term, and M-x xterm. So you don't get just one terminal option, but three. The terminal can be split into multiple windows and switched between each other with a keyboard shortcut.

As Emacs was written with Lisp in mind, parenthesis highlighting is built in as well as brackets.

Though learning all the keyboard shortcuts take a while to learn and get used to, there are GUI versions of it as well. And if you prefer Vim, you can even run a version of it in Emacs called Evil. You can look at their website or their guided tour to see if it is right for what you are looking for!

1

Atom is good though it may not complete your expectations out-of-the-box and you may need to install plugins.

It is very good and is compatible with most GTK themes and works well with large files. The only tradeoff is that as it is built using Web technologies so it's usually a little slow to start but then it works flawlessly.

2
  • Does it use my native GTK theme? Can it easily handle big file? I don't think so…
    – wb9688
    Sep 25, 2016 at 17:48
  • 1
    Yes I use it. It is very good and is compatible with most GTK themes and works well with large files. The only tradeoff is that as it is built using Web Technologies so it's usually a little slow to start but then it works flawlessly Sep 25, 2016 at 17:57
1

Visual Studio Code is a strong candidate. It comes with more stuff out-of-the-box than Atom, and is noticeably faster (despite being built on the same foundation).

It's free and open-source. It's available for Linux and Windows (and Mac). I honestly don't know if it uses GTK on Linux, but it's highly themable, with many third-party themes available.

It comes with syntax highlighting for HTML (not sure about Jinja2), CSS, SCSS, JavaScript, TypeScript (would be weird not to, as it's the primary development language for the whole project), Python, Rust, and C++. (And a ton of others.) Stylus and Vue support is available through extensions.

Has linting for numerous languages, often implemented as integration with established, existing linter projects. I'm confident if you include available extensions, you'll have what you need.

Not sure exactly what features are implied by "code intelligence" but there is definitely IntelliSense support for plenty of languages.

Has Emmet and built-in terminal.

Has Git integration and obviously a plugin system.

Most if not all the other requested features are either also already included or very easily available through extensions.

It's also being improved at a fairly impressive pace. It's a younger project than Atom but has already basically caught up if not exceeded Atom.

Small tidbit for Sublime Text users: VS Code specifically tries to emulate ST's bracket completion behavior rather than Atom's (they are slightly different). There are probably a number of other design decisions where VS Code has tried to follow ST's lead. Though honestly, all three of these editors (Sublime Text, Atom, VS Code) are quite good, and the Internet is full of blog posts and forum comments from people who have switched in all directions (and often back again) among the three.

0

CudaText almost fits. Most things are done via addons: linters, lexers, plugins. Open source, cross-platform. It uses GTK2 theme if Linux.

CudaText

  • Support for BIG files is very limited though. (Cant use lexers).
  • Missing one-two lexers from what you mentioned.
  • Missing code intelligence for JS (it is not done yet). Present for Python.
  • Linters are here, using CudaLint addon. Missing for one-two lexers.
-1

For Windows :

You can use Notepad++, It is with a lot of Features like :

  • Syntax Highlighting and Syntax Folding
  • User Defined Syntax Highlighting and Folding: screenshot 1, screenshot 2, screenshot 3 and screenshot 4
  • PCRE (Perl Compatible Regular Expression) Search/Replace
  • GUI entirely customizable: minimalist, tab with close button, multi-line tab, vertical tab and vertical document list
  • Document Map
  • Auto-completion: Word completion, Function completion and Function parameters hint
  • Multi-Document (Tab interface)
  • Multi-View
  • WYSIWYG (Printing)
  • Zoom in and zoom out
  • Multi-Language environment supported
  • Bookmark
  • Macro recording and playback
  • Launch with different arguments

For Linux (Also for Windows) :

Vim is back..!

I don't know more about it but i think it is similar to Gedit which is used in GNOME Environment

But Sublime Text 3 is Flawless

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.