Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thinca/dockerfile-vim
Dockerfile for Vim
https://github.com/thinca/dockerfile-vim
docker dockerfile vim
Last synced: 1 day ago
JSON representation
Dockerfile for Vim
- Host: GitHub
- URL: https://github.com/thinca/dockerfile-vim
- Owner: thinca
- License: zlib
- Created: 2015-01-01T13:02:45.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-06T07:30:33.000Z (7 months ago)
- Last Synced: 2024-04-20T21:42:45.073Z (7 months ago)
- Topics: docker, dockerfile, vim
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/thinca/vim/
- Size: 50.8 KB
- Stars: 35
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Dockerfile for Vim
Latest Vim from [vim/vim](https://github.com/vim/vim).
```
$ docker run --rm -it thinca/vim
```## Workaround for terminal size problem
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
```## Base image
The following base images are available.
- [Alpine Linux](https://hub.docker.com/_/alpine) - `alpine/` directory.
- [Ubuntu](https://hub.docker.com/_/ubuntu) - `ubuntu/` directory.## Build Arguments
Note: Buildkit is required to build this image:
```shell
$ export DOCKER_BUILDKIT=1
```### `VIM_VERSION`
A Git commit reference in [Vim repository](https://github.com/vim/vim). 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' .
```### `VIM_ENABLE_ALL`
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.### `VIM_ENABLE_GUI`
When this is not empty, GUI(gtk+3.0) is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_SOUND`
When this is not empty, `+sound` is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_PERL`
When this is not empty, Perl interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_PYTHON`
When this is not empty, Python interface is enabled.
Here, "Python" means "Python 2.x".default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_PYTHON3`
When this is not empty, Python3 interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `PYTHON3_VERSION`
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
### `VIM_ENABLE_RUBY`
When this is not empty, Ruby interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_LUA`
When this is not empty, Lua interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `LUA_VERSION`
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' .
```### `VIM_ENABLE_TCL`
When this is not empty, Tcl interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `VIM_ENABLE_MZSCHEME`
When this is not empty, MzScheme(Racket) interface is enabled.
default: Follows to [`VIM_ENABLE_ALL`](#vim_enable_all)
### `RACKET_VERSION`
A version of Racket for `+mzscheme` feature.
default: `8.5`
### `VIM_COMPILEDBY`
Set to `--with-compiedby` configure option.
## LICENSE
[zlib License](LICENSE.txt)