I'm going to push back somewhat on global variables. I think they can actually be very helpful when you are working in the debugger, particularly with memory dumps. Instead of looking across a bunch of different threads, you can inspect globals directly.
In terms of not wasting vertical space, I think you'll run into issues since it starts to conflict with readability from familiarity. People aren't used to having a bunch of statements on a single line so they may not notice it. There's a similar phenomenon with reading research papers where it is very time consuming initially because you may be unfamiliar with the structure, but after a while, you can read them very quickly since you know what to skip over and what to pay close attention to.