~tim-clifford/vim-venus

Lighter, faster, and hotter than Jupyter

6b60c9f Header colors

2 months ago

1ce2057 full url in README.md

2 months ago

#Venus

It's like Jupyter, but lighter, faster, and hotter. Integrates any language with a REPL along with LaTeX into one markdown document. Currently python, shell, haskell, and R REPLs are supported.

Demo

#Installation

Use your favourite plugin manager. For example with Vundle.vim:

Plugin 'https://git.sr.ht/~tim-clifford/vim-venus'

If you end up using it frequently, please subscribe to the announcement mailing list by pinging ~tim-clifford/vim-venus-announce+subscribe@lists.sr.ht, as there might be some breaking changes down the line.

#Dependencies

  • An installation of pandoc with xelatex (e.g. pandoc and texlive-most on Arch Linux

  • The REPLs you want to use (of course)

  • Linux (this may work on other operating systems, and I will review PRs aimed at them, but I do not intend to actively maintain them)

Optional:

#Usage

Venus allows you to run code blocks from markdown into an output block. It is enabled on all markdown files by default. Existing blocks generated by Venus will be replaced.

Here is an example:

```haskell
putStrLn "Hello world!"
```

will become

```haskell
putStrLn "Hello world!"
```
```output
Hello world!
```

Any errors which occur will also be put into the output block like so:

```python
print("Hi world")
6 = 0
```
```output
Hi world
File "<stdin>", line 1
	6 = 0
	^
SyntaxError: cannot assign to literal
```

Venus also provides a simple variable explorer for python, which shows variable names and their value in the quickfix list. This can be extended to other languages.

By default vimtex is also started in markdown files (if it is installed). This can be disabled, see doc/venus.txt

#Mappings

A number of mappings are enabled by default (they can be disabled). For a full list see doc/venus.txt or :help venus-maps.

#Options

See doc/venus.txt or :help venus-options.

#Known Issues

See doc/venus.txt or :help venus-known-issues.

#Acknowledgements

This repository uses an extract from vim-pandoc-syntax to achieve inline latex syntax highlighting. See syntax/venus.vim for details