{"id":13485083,"url":"https://github.com/thinca/action-setup-vim","last_synced_at":"2026-01-30T19:06:07.564Z","repository":{"id":43885566,"uuid":"245852670","full_name":"thinca/action-setup-vim","owner":"thinca","description":"GitHub Action to setup Vim, Neovim, or MacVim.","archived":false,"fork":false,"pushed_at":"2025-09-20T17:09:16.000Z","size":4000,"stargazers_count":26,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-11-10T07:23:07.394Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinca.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-08T16:55:38.000Z","updated_at":"2025-09-25T02:08:16.000Z","dependencies_parsed_at":"2024-01-13T19:21:54.877Z","dependency_job_id":"6291fd23-312a-4fd3-a985-1dc09d5699f6","html_url":"https://github.com/thinca/action-setup-vim","commit_stats":{"total_commits":241,"total_committers":2,"mean_commits":120.5,"dds":0.04149377593360992,"last_synced_commit":"9eff60374b0839115ba944e80311ea4b0b7fc588"},"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/thinca/action-setup-vim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinca%2Faction-setup-vim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinca%2Faction-setup-vim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinca%2Faction-setup-vim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinca%2Faction-setup-vim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinca","download_url":"https://codeload.github.com/thinca/action-setup-vim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinca%2Faction-setup-vim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T17:01:45.358Z","updated_at":"2026-01-30T19:06:07.513Z","avatar_url":"https://github.com/thinca.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# setup-vim\n\n[![Test][test-ci-badge]][test-ci-action]\n[![Lint][lint-ci-badge]][lint-ci-action]\n\n`setup-vim` is a GitHub Action to setup [Vim][vim], [Neovim][neovim], or [MacVim][macvim].\n\n\n## Usage\n\nBasic:\n\n```yaml\n# Setup the head version of Vim\n- uses: thinca/action-setup-vim@v3\n```\n\nWith options:\n\n```yaml\n- uses: thinca/action-setup-vim@v3\n  with:\n    vim_version: v9.1.0000\n```\n\nSetup Vim and Neovim with 2 versions for each platforms using matrix:\n\n```yaml\nstrategy:\n  matrix:\n    vim_type: ['Vim', 'Neovim']\n    version: ['head', 'stable']\n    os: ['ubuntu-latest', 'macos-latest', 'windows-latest']\n    include:\n      - vim_type: 'Vim'\n        version: 'stable'\n        vim_version: 'v9.1.0000'\nruns-on: '${{ matrix.os }}'\nsteps:\n  - uses: 'actions/checkout@v4'\n  - name: 'Setup Vim'\n    id: 'vim'\n    uses: 'thinca/action-setup-vim@v3'\n    with:\n      vim_version: '${{ matrix.vim_version || matrix.version }}'\n      vim_type: '${{ matrix.vim_type }}'\n  - name: 'Run test'\n    run: |\n      # Show Vim's version\n      ${{ steps.vim.outputs.executable }} --version\n      # ... run tests ...\n```\n\n\n### About installation\n\nThis action provides two ways to setup Vim.\n\n1.  Build Vim from source code.\n    You can specify Git's ref(tag, branch, or sha1) for [`vim_version`](#vim_version).\n    The result is cached by default.  See [`cache`](#cache) input.\n\n2.  Download pre-built Vim from releases page.\n    You can specify semver(v9.1.0146, v0.9.5) or tag name of GitHub Release for [`vim_version`](#vim_version).\n\nSome combinations not available.  See the following.\nBy default, uses `download` if available, otherwise uses `build`.\n\n\n#### Vim\n\n| OS      | way        | GUI    | Installation                                                       |\n| ------- | ---------- | ------ | ------------------------------------------------------------------ |\n| Linux   | `build`    | `gvim` | Sources from [vim/vim][vim].                                       |\n| Linux   | `download` | `gvim` | Releases from [vim/vim-appimage][appimage-releases]. (*)           |\n| MacOS   | `build`    | `gvim` | Sources from [vim/vim][vim].                                       |\n| MacOS   | `download` | N/A    | Not available.                                                     |\n| Windows | `build`    | `gvim` | Sources from [vim/vim][vim].                                       |\n| Windows | `download` | `gvim` | Releases from [vim/vim-win32-installer][win32-installer-releases]. |\n\n(*) Downloading Vim from AppImage is available from v8.1.1239.  Before v8.1.1234 cannot start vim.  This was fixed by [vim/vim-appimage#6](https://github.com/vim/vim-appimage/pull/6).\n\n\n#### Neovim\n\n| OS      | way        | GUI           | Installation                                    |\n| ------- | ---------- | ------------- | ----------------------------------------------- |\n| Linux   | `build`    | N/A           | Sources from [neovim/neovim][neovim].           |\n| Linux   | `download` | N/A           | Releases from [neovim/neovim][neovim-releases]. |\n| MacOS   | `build`    | N/A           | Sources from [neovim/neovim][neovim]. (**)      |\n| MacOS   | `download` | N/A           | Releases from [neovim/neovim][neovim-releases]. |\n| Windows | `build`    | N/A           | Not available(Help wanted).                     |\n| Windows | `download` | `nvim-qt.exe` | Releases from [neovim/neovim][neovim-releases]. |\n\n(**) Building Neovim on MacOS(Catalina) has a problem.\n\nBuilding v0.4.3 and before versions will be failure.\nSee [neovim/neovim#11412](https://github.com/neovim/neovim/pull/11412) for the detail.\n\n\n#### MacVim\n\n| OS      | way        | GUI | Installation                                        |\n| ------- | ---------- | --- | --------------------------------------------------- |\n| Linux   | `build`    | N/A | Not available.                                      |\n| Linux   | `download` | N/A | Not available.                                      |\n| MacOS   | `build`    | N/A | Sources from [macvim-dev/macvim][macvim].           |\n| MacOS   | `download` | N/A | Releases from [macvim-dev/macvim][macvim-releases]. |\n| Windows | `build`    | N/A | Not available.                                      |\n| Windows | `download` | N/A | Not available.                                      |\n\nMacVim has a GUI version, but it is not supported yet because it is too difficult treating on CI.\n\nBuilding snapshot-157 and before versions will be failure.\nSee [macvim-dev/macvim#946](https://github.com/macvim-dev/macvim/issues/946) for the detail.\n\n\n### Action Inputs\n\n#### `vim_version`\n\nVersion of Vim.\nThe meaning of this value depends on `vim_type` and `download`.\n\nThe value `head` is always head version:\nWhen `download` is on, this points head of release.\nWhen `download` is off, this points master of repository.\n\nWhen `download` is on and specified a semver such as `v8.2.0000`, this action finds a minimum version that is higher than a specified version.\nFor example, when there are some released versions: `v8.2.0052` `v8.2.0057` `v8.2.0065`\nAnd when a specified version is `v8.2.0055`, `v8.2.0057` is actually selected.\nAlso, when a specified version is `v8.2.0060`, `v8.2.0065` is actually selected.\n\nWhen `download` is off, this is a tag of repository.\nNote that the repository of MacVim has tags like `release-xxx` instead of like `vx.x.xxx`.\n\ndefault: `head`\n\n\n#### `vim_type`\n\nType of Vim.\nThis is one of `vim`, `neovim`, or `macvim`.\n\ndefault: `vim`\n\n\n#### `gui`\n\nWhen this is `yes`, setups the GUI version.\nAnd `outputs.executable` points to GUI version of Vim.\n\ndefault: `no`\n\n\n#### `arch`\n\nArchitecture of Vim.\nThis is either of `x86_64` or `x86`, enable when `vim_type` is `vim` on Windows.\n\ndefault: `x86_64`\n\n\n#### `download`\n\nWhen this is `always`, downloads the officially released binary, or fail if unavailable.\nWhen this is `available`, downloads the officially released binary if available, otherwise builds from source code.\nWhen this is `never`, always builds from source code.\n\ndefault: `available`\n\n\n#### `cache`\n\nWhen this is `true`(default), cache the built Vim.\n\nThis uses same caching mechanism from [actions/cache][actions/cache].\nTherefore, this consumes the limitation of cache size.\n\nRef: [Caching dependencies to speed up workflows#Usage limits and eviction policy][caching-policy]\n\nThis is automatically disabled when `download` is on.\n\ndefault: `true`\n\n\n#### `github_token`\n\nYour GitHub API token to access to releases of repositories without limit.\nNormally this is automatically set so you do not need set this.\n\ndefault: `${{ github.token }}`\n\n\n### Action Outputs\n\n#### `executable`\n\nThe name of executable file.\nThis is not a full path, just name.\nWhen `gui` is yes, this points to GUI version.\ne.g. `vim` `nvim` `gvim`\n\n\n#### `executable_path`\n\nThe full path of executable file.\n\n\n#### `actual_vim_version`\n\nVersion of Vim actually installed.\ne.g. `v8.2.0123` `v0.4.3` `49cd750d6a72efc0571a89d7a874bbb01081227f`\n\n\n#### `install_type`\n\nInstall was done with `build` or `download`.\n\n\n#### `install_path`\n\nBase path of installed Vim.\nNote that this does not point to `bin`.\n\n\n#### `cache_hit`\n\nWhen `cache` is enabled and cache was found, this is `true`.  Otherwise this is `false`.\n\n\n## License\n\n[zlib License](LICENSE.txt)\n\n\n## Author\n\nthinca \u003cthinca@gmail.com\u003e\n\n\n[test-ci-badge]: ./../../workflows/Test/badge.svg\n[test-ci-action]: ./../../actions?query=workflow%3ATest\n[lint-ci-badge]: ./../../workflows/Lint/badge.svg\n[lint-ci-action]: ./../../actions?query=workflow%3ALint\n[vim]: https://github.com/vim/vim\n[neovim]: https://github.com/neovim/neovim\n[macvim]: https://github.com/macvim-dev/macvim\n[appimage-releases]: https://github.com/vim/vim-appimage/releases\n[win32-installer-releases]: https://github.com/vim/vim-win32-installer/releases\n[neovim-releases]: https://github.com/neovim/neovim/releases\n[macvim-releases]: https://github.com/macvim-dev/macvim/releases\n[actions/cache]: https://github.com/actions/cache\n[caching-policy]: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinca%2Faction-setup-vim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinca%2Faction-setup-vim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinca%2Faction-setup-vim/lists"}