Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ledesmablt/vim-run
Run, view, and manage UNIX shell commands with ease.
https://github.com/ledesmablt/vim-run
async bash shell vim
Last synced: 3 months ago
JSON representation
Run, view, and manage UNIX shell commands with ease.
- Host: GitHub
- URL: https://github.com/ledesmablt/vim-run
- Owner: ledesmablt
- License: mit
- Created: 2020-10-23T01:58:31.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-29T13:03:40.000Z (about 3 years ago)
- Last Synced: 2024-06-18T13:51:45.761Z (5 months ago)
- Topics: async, bash, shell, vim
- Language: Vim script
- Homepage:
- Size: 74.2 KB
- Stars: 38
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vim-run
Run, view, and manage UNIX shell commands with ease from your
favorite code editor.![vim-run-demo](https://user-images.githubusercontent.com/22242264/97441234-73c9e500-1963-11eb-81ae-72bcab2b8b87.gif)
## Requirements
This plugin relies on [channels](https://vimhelp.org/channel.txt.html), introduced in Vim 8.0.
This is only partially supported in Neovim because of its different implementation of
[job control](https://neovim.io/doc/user/job_control.html).## Introduction
Running external commands with Vim has always been clunky to work with.
```
:!apt update (can't edit while running)
:!apt update & (stdout hijacks your screen)
:!apt update > some/file.log & (logs available only when done)
```In most cases, it would be a lot more convenient to just open up a new
terminal (maybe with `:term`, `tmux`, or a new window in your OS) and run your
command from there.But what if you don't want to worry about managing several active terminal
sessions? Maybe you'd prefer to just keep one window open - Vim - and run
processes without losing too much screen real estate.This plugin attempts to solve that problem and provide a more intuitive
experience around running processess asynchronously.## Installation
Using [vim-plug](https://github.com/junegunn/vim-plug):
```vim
Plug 'ledesmablt/vim-run'
```Using Vim's built-in package support:
```bash
mkdir -p ~/.vim/pack/plugins/start
cd ~/.vim/pack/plugins/start
git clone http://github.com/ledesmablt/vim-run
vim -c 'helptags vim-run/doc' -c quit
```## Commands
```vim
" start jobs
:Run []
:RunQuiet []
:RunWatch []
:RunSplit []
:RunVSplit []
:RunNoStream []
:RunAgain []
:RunAgainEdit []
:RunSendKeys []" kill jobs
:RunKill []
:RunKillAll" view & manage jobs
:RunListToggle
:RunClear
:RunClearDone
:RunClearFailed
:RunClearKilled" manage log files
:RunSaveLog []
:RunBrowseLogs []
:RunDeleteLogs
```## Configuration
```vim
let g:rundir = ~/.vim/rundir
let g:run_shell = $SHELL
let g:run_use_loclist = 0
let g:run_quiet_default = 0
let g:run_autosave_logs = 0
let g:run_nostream_default = 0
let g:run_browse_default_limit = 10
```More details in the docs - `:h vim-run`