Home

Awesome

neoterm

lint tests license

__   _ _______  _____  _______ _______  ______ _______
| \  | |______ |     |    |    |______ |_____/ |  |  |
|  \_| |______ |_____|    |    |______ |    \_ |  |  |

Current status

:warning: This plugin is in low maintenance mode. I still use it frequently and I hope most of its features are mature enough for most of its users. However, I understand it has some bugs with python and windows, but debugging these are very hard to me and I'm not willing to code much in vimscript anymore.

Pull requests are welcome, and if you want to become a contributor/maintainer I can also give you the right accesses to the codebase. :smile:


Use the same terminal for everything. The main reason for this plugin is to reuse the terminal easily. All commands open a terminal if one does not already exist. REPL commands open a terminal and the proper REPL if not already opened.

Installation

Vundle/Plug.vim/minpac/any other

You can install this plugin using any vim plugin manager by using the path on GitHub for this repository:

[Plugin|Plug|...] 'kassio/neoterm'

See the your plugin manager documentation for more information.

Manual

For installation without a package manager, you can clone this Git repository into a bundle directory as with pathogen, and add the repository to your runtime path yourself. First clone the repository:

cd ~/.vim/bundle
git clone https://github.com/kassio/neoterm.git

Then, modify your ~/.vimrc file to add this plugin to your runtime path:

set nocompatible
filetype off

let &runtimepath.=',~/.vim/bundle/neoterm'

filetype plugin on

You can add the following line to generate documentation tags automatically, if you don't have something similar already, so you can use the :help command to consult neoterm's online documentation:

silent! helptags ALL

Windows OS

For Windows users, replace usage of the Unix ~/.vim directory with %USERPROFILE%\_vim, or another directory if you have configured Vim differently. On Windows, your ~/.vimrc file will be similarly stored in %USERPROFILE%\_vimrc.

Default behaviour

Neoterm's default behavior is to create a new buffer on the current window when opening a neoterm. You can change this with g:neoterm_default_mod. Check the documentation for more information.

Send commands to a neoterm window

Multiple neoterm windows commands

useful mappings:

I like to set some mappings to make me more productive.

" 3<leader>tl will clear neoterm-3.
nnoremap <leader>tl :<c-u>exec v:count.'Tclear'<cr>

test libs (removed on 05/Feb/2017)

This feature was removed on 05/Feb/2017, please consider using vim-test with neoterm strategy to replace this feature.

REPL

Supported REPLs

Troubleshooting

Most standard file extensions for the above REPLs are picked up by Neovim/Vim's default filetype plugins. However, there are some exceptions:

To fix this, either install a suitable plugin for the language or add something like the following to your init.vim:

au VimEnter,BufRead,BufNewFile *.jl set filetype=julia
au VimEnter,BufRead,BufNewFile *.idr set filetype=idris
au VimEnter,BufRead,BufNewFile *.lidr set filetype=lidris
au VimEnter,BufRead,BufNewFile *.lfe set filetype=lfe

If you want to use the jupyter console REPL present on your path, you can use this configuration in your init.vim:

function! Chomp(string)
    return substitute(a:string, '\n\+$', '', '')
endfunction
let g:neoterm_repl_python = Chomp(system('which jupyter')) . ' console'

Note that the same approach may be used to use Jupyter for R or Stata, provided the appropriate kernels (IRkernel and stata_kernel) are installed.

Contributing

Changelog

Documentation