![]() When ending julia-vterm-repl-copy-mode by pressing C-c C-t, the Julia process remains stopped and the buffer is almost unusable, because it does not have its local keymap set. The only working way to terminate the copy mode is by pressing RET, but this requires an active region. This commit fixes the above problem by moving the code for ending the copy mode to julia-vterm-repl-copy-mode. Now the copy mode can be terminated by both RET and C-c C-t. |
||
---|---|---|
.gitignore | ||
COPYING | ||
julia-vterm.el | ||
README.org |
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 |