2   Text editors

For information and choices, see:

2.1   Vim and Neovim


Vim and Neovim have syntax highlighting support for most common light weight markup languages. In particular, syntax highlighting for reST, Asciidoc, and Markdown is included in the distribution. They also provide syntax highlighting for most common programming languages.

Semshi provides semantic highlighting for Python in Neovim. It also provides several other features, for example, it can highlight other occurrences of the word under the curso. Semshi is for Neovim (not Vim) and Python only. See -- https://github.com/numirias/semshi.git.

Syntax checking and "linting":

Translating lightweight markup languages to HTML -- For various lightweight markup language file types, set the value of makeprg. Do this in your .vimrc or (for Neovim) in your Neovim configuration file. For example, here is what I use in my .vimrc for file types rst (reStructuredText) and Asciidoc:

setlocal makeprg=rst2html5.py\ %\ %:r.html
setlocal makeprg=asciidoc3\ %

3   Light weight markup languages

I prefer writing text content in a lightweight markup language using a plain text editor (Neovim in my case), rather than using a WYSIWYG (what you see is what you get) word processor. If you feel inclined in that direction also, take a look at one or more of the following:

Converting a lightweight markup language file to HTML at the command line can be as simple as this:

  • Asciidoc to HTML with Asciidoc3, for example -- Install with $ pip install asciidoc3, then:

    # Write result to myfile.html
    $ asciidoc3 myfile.adoc
    # Write result to tmp.html
    $ asciidoc3 -o tmp.html myfile.adoc
  • Docutils/reStructuredText to HTML -- Install with $ pip install docutils, then:

    $ rst2html5.py myfile.rst myfile.html
  • Markdown to HTML -- Install with $ pip install Markdown, then:

    python -m markdown myfile.md -f myfile.html

4   Utilities for files and text

Be sure to look through Core GNU utilities -- https://www.gnu.org/software/coreutils/manual/

On MS Windows, you can look at WindowsCmds.