No description
Find a file
2020-12-23 16:41:10 +09:00
.gitignore Ignore *.elc 2020-10-09 12:08:09 +09:00
COPYING Add GPL v3 text 2020-10-09 12:08:09 +09:00
julia-vterm.el Bump version to 0.11 2020-12-23 16:41:10 +09:00
README.org Fix style 2020-10-27 15:02:12 +09:00

julia-vterm

Julia-vterm provides a major-mode for inferior Julia process that runs in vterm, and a minor-mode that extends julia-mode with the ability to interact with the inferior Julia process.

Should I use this?

There's already julia-repl. It works well in most cases, but I sometimes encountered problems when I used a very large DataFrame, which seemed to be caused by the limited performance of term.el. Julia-vterm is implemented using emacs-libvterm, and REPL works as smoothly as in a native terminal.

Currently, julia-vterm offers minimum functionalities for basic interaction with the REPL. A few more functions may be added in the future, but you may want to check julia-repl if you need more features. If the simplicity of this package fits your preference, please give it a try!

Installation

Just install it from MELPA. The package name is julia-vterm.

Then, evaluate the following add-hook line to turn on julia-vterm-mode in newly opened julia-mode buffers. A symbol "⁂" in the mode line indicates that the julia-mode buffer is ready to interact with the vterm-powered Julia REPL. Add this line to your init file to enable julia-vterm-mode in future sessions.

(add-hook 'julia-mode-hook #'julia-vterm-mode)

You can install the package manually if necessary. First make sure julia-mode and emacs-libvterm are installed and working properly. Download julia-vterm.el into somewhere in your local directory and install it with the following. You also need to configure the hook described above.

(package-install-file "/path-to-download-dir/julia-vterm.el")

How to use

In a julia script buffer with julia-vterm-mode on, you can open an inferior Julia REPL buffer with M-x julia-vterm-switch-to-repl-buffer (or C-c C-z).

Key bindings

julia-mode with julia-vterm-mode enabled

Key Binding
C-c C-z julia-vterm-switch-to-repl-buffer
C-<return> julia-vterm-send-region-or-current-line
C-c C-b julia-vterm-send-buffer
C-c C-i julia-vterm-send-include-buffer-file
C-c C-d julia-vterm-send-cd-to-buffer-directory

julia-vterm-repl-mode

Key Binding
C-c C-z julia-vterm-repl-switch-to-script-buffer
M-k julia-vterm-repl-clear-buffer
C-c C-t julia-vterm-repl-copy-mode

julia-vterm-repl-mode (copy mode)

Key Binding
C-c C-t julia-vterm-repl-copy-mode
<return> julia-vterm-repl-copy-mode-done
C-c C-r vterm-reset-cursor-point