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:
Getting the number of content lines is accomplished by getting the line number of the last last:
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('$'))