Latest Vim from vim/vim.
$ docker run --rm -it thinca/vim
Sometimes terminal size is broken. (Maybe, Docker sets terminal size too late) Here is a workaround to this problem.
$ docker run --rm -it -e COLUMNS="$(tput cols)" -e LINES="$(tput lines)" thinca/vim
The following base images are available.
- Alpine Linux -
alpine/
directory. - Ubuntu -
ubuntu/
directory.
Note: Buildkit is required to build this image:
$ export DOCKER_BUILDKIT=1
A Git commit reference in Vim repository. e.g. tag name v8.0.0000
or commit hash df980db6
default: master
$ docker build --build-arg 'VIM_VERSION=v8.0.0000' --tag 'vim:v8.0.0000' .
When this is not empty, all other VIM_ENABLE_XXX
flags are enabled.
You can overwrite by each variables.
default: empty
ex. Enables only Lua interface.
$ docker build --build-arg 'VIM_ENABLE_ALL=' --build-arg 'VIM_ENABLE_LUA=yes' --tag 'vim:lua' .
ex. Enables all but Python interface.
$ docker build --build-arg 'VIM_ENABLE_ALL=yes' --build-arg 'VIM_ENABLE_PYTHON=' --tag 'vim:all-without-python' .
NOTE: The older Vim can not build with some latest version of language interfaces. Because sometimes the language is updated with breaking changes, and Vim followed to them in newer version.
When this is not empty, GUI(gtk+3.0) is enabled.
default: Follows to VIM_ENABLE_ALL
When this is not empty, +sound
is enabled.
default: Follows to VIM_ENABLE_ALL
When this is not empty, Perl interface is enabled.
default: Follows to VIM_ENABLE_ALL
When this is not empty, Python interface is enabled. Here, "Python" means "Python 2.x".
default: Follows to VIM_ENABLE_ALL
When this is not empty, Python3 interface is enabled.
default: Follows to VIM_ENABLE_ALL
A version of Python 3. This works with Alpine Linux only.
You can only specify 3.7
or empty.
Latest version will be used when this is empty.
Vim built with Python 2.x and Python 3.8 is only available either if_python
or if_python3
.
You should specify 3.7
to enable both in same time.
But, unfortunately, you can not enable if_mzscheme
in this case.
default: empty
When this is not empty, Ruby interface is enabled.
default: Follows to VIM_ENABLE_ALL
When this is not empty, Lua interface is enabled.
default: Follows to VIM_ENABLE_ALL
A version of lua.
Ex: 5.4
5.3
5.2
5.1
jit
When you specify jit
, luajit is enabled.
When you use the Vim that is version before v7.4.093
, please specify 5.1
.
default: jit
$ docker build --build-arg 'VIM_VERSION=v7.4.092' --build-arg 'LUA_VERSION=5.1' --tag 'vim:v7.4.092' .
When this is not empty, Tcl interface is enabled.
default: Follows to VIM_ENABLE_ALL
When this is not empty, MzScheme(Racket) interface is enabled.
default: Follows to VIM_ENABLE_ALL
A version of Racket for +mzscheme
feature.
default: 8.5
Set to --with-compiedby
configure option.