brokenco.de/_posts/2020-07-02-terminal-vim-ter...

43 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2020-07-03 05:18:37 +00:00
---
layout: post
title: "A terminal in your editor in your terminal"
tags:
- vim
---
I discovered today that since version 8.1, Vim apparently supports spawning a
terminal from within the Vim editor. This is a handy little feature that could
make life easier for checking documentation, running tests, and so on.
From [box.matto.nl](https://box.matto.nl/):
> With ":terminal" you open a terminal in the current
> window.
>
> To create a vertical split, with a terminal in the
> newly opened window, use ":vertical terminal".
>
> With some easy Vim scripting you can open the
> external URL that is under the cursor with the
> awesome textmode browser w3m in a Vim terminal. I
> liked to have that in a vertical split.
I have modified their function slightly to open horizontal, and automatically close the terminal when the `w3m` command exits:
```vim
function s:vertopen_url()
normal! "uyiW
let mycommand = "w3m " . @u
execute "terminal++close " . mycommand
endfunction
```
I have utilized the use of `tmux` and its builtin `send-keys` commands to send
interactions between terminals in my development environment. Scripting and
integrating with a terminal from Vim is a different twist on the same use-case.
I have only started to play with this functionality, but I'm interested to see
what I can improve with `:terminal`.