# AndrewRadev/splitjoin.vim

Switch between single-line and multiline forms of code

Repository: https://github.com/AndrewRadev/splitjoin.vim
Canonical: https://ross.abutalabs.com/products/splitjoinvim
Homepage: http://www.vim.org/scripts/script.php?script_id=3613
Language: Vim Script
License: MIT
License Family: permissive
Topics: vim-plugin, text-manipulation, text-formatting, refactoring
Last push: 2026-05-24T09:54:54+00:00

## Health v2 (maintenance only)
Score: 61/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 84, release rhythm 8, longevity 100
- inputs: {"age_days": 5659, "days_push": 101, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1973, forks 90 (observed 2026-08-28T04:06:01.066700+00:00)

## What it is
A Vim plugin that switches code between single-line and multiline forms with two keybindings (gS to split, gJ to join). It supports many languages including Ruby, Python, JavaScript, HTML, CSS, Go, and Rust.

## Use cases
- split a one-line if statement into a multiline block in vim
- join a multiline code block into a single line
- expand html tags across multiple lines while editing
- reformat code structure quickly in vim
- toggle between compact and expanded code styles

## When to choose
- you edit code in Vim or Neovim and frequently restructure one-liners into blocks
- you want a lightweight, language-aware split/join refactoring tool
- you work across many languages and want consistent keybindings

## When to avoid
- you use an editor other than Vim or Neovim
- you need full automated code formatting rather than manual split/join transforms

## Facets
- artifact type: plugin
- maturity: stable
- function: editor, developer-tools
- domain: text-editors, developer-tools
- platform: editor-plugin, cli
- tags: vim-plugin, text-manipulation, refactoring, code-formatting, splitjoin

## Member repositories
- AndrewRadev/splitjoin.vim (main) score 61

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:01.066700+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:04:56.758708+00:00, confidence not recorded.
  - readme: https://github.com/AndrewRadev/splitjoin.vim (fetched 2026-08-28T04:06:01.066700+00:00, sha e6bd4bd577ee)
  - homepage: http://www.vim.org/scripts/script.php?script_id=3613 (fetched 2026-08-29T10:44:10.729289+00:00, sha 127a947454ea)
  - site_page: https://www.vim.org/about.php (fetched 2026-08-29T10:44:10.738421+00:00, sha 1bd2c1907ce5)
  - site_page: https://www.vim.org/docs.php (fetched 2026-08-29T10:44:10.740242+00:00, sha 438015e9e2e2)
  - site_page: http://www.vim.org/about.php (fetched 2026-08-29T10:44:10.742036+00:00, sha fbe78bde9535)
- Data as of 2026-08-30T08:39:29.467469+00:00.
