Tmux Part 4: Vim Integration

Hi @christoomey,

I’m wondering what’s your take on the new terminal feature in Neovim and if you had a chance to play around with it. It looks like it will makes the above easier? (for example, you can now have a single ‘zoom’ short-cut or you can use the terminal instead of vtr for tests output?).

Thanks! :slight_smile:

EDIT: I have played with :terminal for couple of hours. The change of context is confusing. For example, when vim is closed and I just want to open a split terminal window, I use your Ctrl+S+| binding. In vim I had to set a different key-binding for that. I guess it’s possible to streamline the process by ONLY using vim, but making vim your main terminal multiplexer instead of - well, terminal multiplexer, feel awkward :slight_smile: . I guess I will be sticking with tmux, but sure will miss the ability to yank a single word from the terminal using yaw instead of manually marking it with v.

Hi @amitz, in general I prefer to keep vim focused on editing, and use tmux to connect it to other processes. I’ll admit that I’ve not played around with neovim’s terminal, but I have worked with many developers using embeded terminals in editors like rubymine, emacs, etc., and in all cases I found there to be issues and inconsistencies in the terminal behavior. Vim + tmux gives me everything I need.

Hi again @christoomey, I see what you mean. I used Rubymine for a while, and the inconsistency with the ‘real’ terminal was indeed a problem. I guess that for now, I will be sticking with Tmux too. Thank you!

To setup ‘v’ and ‘y’/Enter for begin-selection and copy in newer version of tmux (2.4 and later) in ubuntu, here’s what I ended up with:

# setup 'v' to begin selection as in Vim
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c" \; display-message     "copied to system clipboard"
# Update default binding of `Enter` to also use copy-selection
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c" \; display-message "copied to system clipboard"

Reference: