Resize vim window to the size of its content
If you're writing a vim plugin and in that plugin you are opening a new window to display some content, you may want to resize that window so that it is only the size of the content within. For instance, if you have 10 lines of content but the window is half the screen, then you want to resize the window to 10 lines.
Resizing a window is accomplished with the resize
command like:
:resize 10
Getting the number of content lines is accomplished by getting the line number of the last last:
:echo line('$')
Putting the two together is tricky because the argument to the resize
command is interpreted literally. :resize line('$')
does not work. You have to combine the two into a string and then pass it to the execute command.
:execute('resize ' . line('$'))
Tweet