:terminal whee
This commit is contained in:
parent
d1bef7f766
commit
232f846e9d
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
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`.
|
Loading…
Reference in New Issue