Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question: how does this compare to vim slime,neoterm or iron.vim? #5

Closed
ssh352 opened this issue May 17, 2019 · 2 comments
Closed

question: how does this compare to vim slime,neoterm or iron.vim? #5

ssh352 opened this issue May 17, 2019 · 2 comments
Assignees
Labels

Comments

@ssh352
Copy link

ssh352 commented May 17, 2019

Thanks!

@karoliskoncevicius
Copy link
Owner

That is a good question,

I haven't used all of the plugins you have mentioned but here is a an attempt at an answer.

The goals of this plugin were:

  1. To be minimal and add only one additional operator to the vim's arsenal and nothing more - no changeable settings, hidden behaviours, commands or any bloat in general.
  2. To make that operator properly defined and complete - it can be used on any motion or text object, works in visual mode, it doesn't treat different types of buffers differently and is dot-repeatable.

The plugins you mentioned have different goals and all of them have more features. But at the same time are a bit restricted in what they can do.

  1. Vim slime supports more workflows. It works with screen, with tmux, with vim :terminal.
  2. All 3 of your mentioned plugins try to be "smart" - they adjust to the REPL you use and provide support for different languages.
  3. They pair buffers with REPLs and when you send text to the REPL - it always get's to that REPL no matter if the REPL is even visible.
  4. NeoTerm in addition extends the behaviour of :terminal by allowing to send commands to hidden terminal buffers making sure to reuse the already available ones.

This plugin differs in the following ways:

  1. No support for screen or tmux, only sends text between vim buffers.
  2. It works with any REPL, no need to add "support" for specific languages.
  3. It works with any buffer, it doesn't even have to be a REPL. You can send text from one text file to another if they are opened side by side.
  4. No set-up is required - the plugin will work right away. No need to configure REPLs or specify which REPL the buffer is sending to.

Since the text is sent from one window to another, instead of being sent from buffer to REPL you can send the text from the window above to the REPL below. But you can also send text from the REPL to another window, which is not possible in any of the plugins you mentioned. Also you can send text from the window to more than one REPL. Or you can have multiple windows opened with their own REPLs below them and send text in any direction you see fit.

Hope this helps.

@karoliskoncevicius
Copy link
Owner

Added a brief summary about this to the Wiki: https://github.com/KKPMW/vim-sendtowindow/wiki/Differences

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants