[vim/vim] [New Feature] Multi-line statusline (PR #18871)

41 views
Skip to first unread message

h_east

unread,
Dec 5, 2025, 11:06:43 PMDec 5
to vim/vim, Subscribed

The status line can now be displayed on multiple lines.
You can insert a line break in the 'statusline' option with "%@".
Add 'statuslineopt' option.

Known issue:

  • Executing CTRL-W_x will disrupt the layout.
  • Even when I run CTRL-W_=, the window heights often do not become equal.
  • Sometimes run out of command line space.

Todo:

  • Write a test.
  • Bug fixes.

You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/18871

Commit Summary

File Changes

(19 files)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871@github.com>

h_east

unread,
Dec 5, 2025, 11:07:22 PMDec 5
to vim/vim, Subscribed
h-east left a comment (vim/vim#18871)

Sample image:
image.png (view on web)


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/c3619438680@github.com>

h_east

unread,
Dec 5, 2025, 11:29:06 PMDec 5
to vim/vim, Push

@h-east pushed 1 commit.


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/0aabcb12a570bbf4c791d4a4e24a8c5c74452be7/after/afad0a00f2c5602a4b2b54f9ebfc550e072d5ab2@github.com>

h_east

unread,
Dec 5, 2025, 11:42:14 PMDec 5
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/afad0a00f2c5602a4b2b54f9ebfc550e072d5ab2/after/2490ba8884f4f308c5e423aa0d734e3b75e9160c@github.com>

h_east

unread,
Dec 6, 2025, 12:04:39 AMDec 6
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/2490ba8884f4f308c5e423aa0d734e3b75e9160c/after/e6a22acd05f36b07c0b77b175dd3209fc67296f1@github.com>

h_east

unread,
Dec 6, 2025, 12:12:42 AMDec 6
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/e6a22acd05f36b07c0b77b175dd3209fc67296f1/after/f1a99f782a11e846bbe83034a283659ddbd8ee39@github.com>

h_east

unread,
Dec 6, 2025, 12:19:59 AMDec 6
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/f1a99f782a11e846bbe83034a283659ddbd8ee39/after/d55f7ac32bde8f5a72366fd51f138730082d9d75@github.com>

h_east

unread,
Dec 6, 2025, 7:22:34 PMDec 6
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/d55f7ac32bde8f5a72366fd51f138730082d9d75/after/5e8f13262910ed423afb5451f4e790441ba62f9d@github.com>

h_east

unread,
Dec 6, 2025, 9:31:35 PMDec 6
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/5e8f13262910ed423afb5451f4e790441ba62f9d/after/0848f434f6a8b01ca584d7d85b618b2385a72d40@github.com>

h_east

unread,
Dec 7, 2025, 5:09:44 AMDec 7
to vim/vim, Push

@h-east pushed 9 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/0848f434f6a8b01ca584d7d85b618b2385a72d40/after/2ae495c3ae573f14e37dae90df4ee62aec61f371@github.com>

h_east

unread,
Dec 9, 2025, 9:36:27 AMDec 9
to vim/vim, Push

@h-east pushed 10 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/2ae495c3ae573f14e37dae90df4ee62aec61f371/after/d3731f4a3aa5a7f46b131c998eb9e311c34a0880@github.com>

utubo

unread,
Dec 10, 2025, 2:27:56 AMDec 10
to vim/vim, Subscribed
utubo left a comment (vim/vim#18871)

Statusline height is not recomputed when content is updated.

Setps

  1. Start Vim with a multi line statusline using %{%g:mystl%}:
vim -N -u NONE -c "let g:mystl = 'foo%@bar'" -c "set stl=%{%g:mystl%} stlo=maxheight:2 ls=2"

The statusline is displayed on 2 lines:

foo
bar
  1. Update g:mystl so that it becomes a single line:
:let g:mystl = 'buz'

Expected

The statusline height is reduced to 1 line:

buz

Actual

The content updates correctly, but the height remains at 2 lines.

buz

Version: 9.1.1966
Commit: d3731f4 (h-east/multi-line-statusline)
OS: FreeBSD


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/c3635746805@github.com>

h_east

unread,
Dec 11, 2025, 5:11:18 PMDec 11
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/d3731f4a3aa5a7f46b131c998eb9e311c34a0880/after/0a0a9e4fe6f85bbce5d9cca0cf0e5c6b6e582d34@github.com>

h_east

unread,
Dec 14, 2025, 7:06:42 AMDec 14
to vim/vim, Push

@h-east pushed 12 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/0a0a9e4fe6f85bbce5d9cca0cf0e5c6b6e582d34/after/5d726223686c82c0ab3bab2e76836e4208fab3a1@github.com>

h_east

unread,
Dec 14, 2025, 7:58:09 AMDec 14
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/5d726223686c82c0ab3bab2e76836e4208fab3a1/after/922eef645804b2b22ad3629c99d6a3331c3f16bc@github.com>

h_east

unread,
Dec 14, 2025, 10:33:39 AMDec 14
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/922eef645804b2b22ad3629c99d6a3331c3f16bc/after/45025c03251a311a75923c1bbaaae4aaa78c3377@github.com>

h_east

unread,
Dec 14, 2025, 10:36:38 AMDec 14
to vim/vim, Push

@h-east pushed 14 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/45025c03251a311a75923c1bbaaae4aaa78c3377/after/fc374ce0516a986f5174e10c25b136835e8a7f6c@github.com>

h_east

unread,
Dec 15, 2025, 9:04:18 AMDec 15
to vim/vim, Push

@h-east pushed 15 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/fc374ce0516a986f5174e10c25b136835e8a7f6c/after/fbb40086e8bb3dd27a3057db21c21eaf1d8edc13@github.com>

h_east

unread,
Dec 20, 2025, 7:02:07 AM (10 days ago) Dec 20
to vim/vim, Push

@h-east pushed 16 commits.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/fbb40086e8bb3dd27a3057db21c21eaf1d8edc13/after/6dc557fbb44fbaab784c861dfe816e68fa6e48b0@github.com>

h_east

unread,
Dec 20, 2025, 7:30:05 AM (10 days ago) Dec 20
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/6dc557fbb44fbaab784c861dfe816e68fa6e48b0/after/0a7c5685a10788ff82c4578d602baff3a3a10f58@github.com>

h_east

unread,
Dec 20, 2025, 7:42:42 AM (10 days ago) Dec 20
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/0a7c5685a10788ff82c4578d602baff3a3a10f58/after/d3f6180a6ec9a6d75d1f3216e922eccbd2cc1b51@github.com>

h_east

unread,
Dec 20, 2025, 9:36:41 AM (10 days ago) Dec 20
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/d3f6180a6ec9a6d75d1f3216e922eccbd2cc1b51/after/ed1d9b12e77c4a2997bb8932b936e7c4b5f65f82@github.com>

h_east

unread,
Dec 29, 2025, 1:54:46 PM (22 hours ago) Dec 29
to vim/vim, Push

@h-east pushed 1 commit.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/18871/before/17c4a761102ebe0686c23d341fea4c7fa2a36091/after/fae5bd859d1b4e62f89a8f98c3f8c2252f8eb3a0@github.com>

Reply all
Reply to author
Forward
0 new messages