This image combines tmux
with vim
and thus offers a portable, cli-based dev-environment. Both tools, as well as the zsh
-shell this images uses, are tailored through a bunch of custom adjustments to match my local environment as close as possible.
The setup was inspired by Keegan Lowensteins blog-post which explains used configs in detail (and also talks about stuff which goes beyond this images' setup).
- seemless pane-navigation (in and between
vim
andtmux
) using<CTRL>+l
,<CTRL>+h
etc. - vimux-integration in
vim
to easily execute commands intmux
-panes- use
<Leader>vp
for:VimuxPromptCommand
/<Leader>vl
for:VimuxRunLastCommand
- I use a german keyboard where the default leader
\
is hard to use - turned to,
instead
- use
- nerdtree-integration in
vim
to browse workspace-content with ease- toggle it with
<F9>
or<Leader>1
- toggle it with
- vundle-bundle manager which is triggered on first start and installs all plugins automatically
- nord-vim with lightline plugin to have a decent theme
- powerline for
tmux
as well aszsh
(as well aspython
which is a prerequisite to runpowerline
- that's the reason for a separate image-version)
docker
anddocker-compose
CLI tools.- In order to run this image-version you'll have to map your local
docker.sock
socket to the container - by that means you'll be able to use your local docker-host and build (local) images from withinvimux
-container.
- In order to run this image-version you'll have to map your local
After cloning the repository you should be able to use the run.sh
script which provides you a menu to select a specific vimux
-image version.
./run.sh
Select one of the follin' versions:
1) vimux
2) powerline
3) withDocker
#? _
All these commands will mount the current users home
directory into the working-dir of the container - so you should be able to start right away.
Of course you're also able to run the container manually, like:
# will run the base-version which maps the current working directory into the container
docker run --name vimux -ti -v $(pwd):/data schoeffm/vimux
# same as above but this one uses the powerline-version
docker run --name vimux -ti -v $(pwd):/data schoeffm/vimux:powerline
# this one maps the docker.sock into the container
docker run --name vimux -ti -v $(pwd):/data -v /var/run/docker.sock:/var/run/docker.sock schoeffm/vimux:docker
See also the followin' screencast for an example:
./buildAll.sh # will build all container one by one
docker build . # builds the default version - schoeffm/vimux
docker build -f Dockerfile.powerline . # adds powerline to tmux/zsh as well - schoeffm/vimux:powerline
docker build -f Dockerfile.withDocker . # also installs docker cli-tools - schoeffm/vimux:docker