Vim Splits: A Guide to Doing What You Want (2010)
technotales.wordpress.com
technotales.wordpress.com
I use a tiling window manager, which means I have a unified interface for tiling with all of my windows. I don't ever use tiling window management features of specific programs, outside of tabs in my browser. But I do sometimes miss out on things like sharing VIM registers, or TMUX session management.
Does anybody use tiling features at multiple points in their system?
Still not as polished as tmux in some ways but I've found it to be a very nice improvement over tmux with vim. Mind you when doing this I still use vim inside tmux so that I can detach and so that I get a bit more consistent terminal output between devices.
I’m curious: what features of Vim do you feel are essential to become a power user?
In order to get the most from Vim, you have to take a huge step back and look at your screen configuration and usage patterns.
* The escape key is too difficult to reach on modern keyboards, use ctrl-c
* Code file sizes are becoming really large. Use search rather than directional navigation/paging to save some time
* The search key is too difficult to hit, remap to space
* Most people are on a wide screen. So, try to make vertical splits as easy as possible to do.
* Folder based search is now very fast and efficient. Use a modified search command (<leader>space) and map it to Rg/Ack
There's some good work recently done for vim with language servers. I'm counting on redoing the key mapping once more. IMHO the poor defaults of vim isn't a bug of vim, it's a feature.
I basically just do :sp or :vsp to divide the current spit in half vertically or horizontally, and then if I care (rarely) I use C-W H/J/K/L to send one of the windows to the appropriate part of the screen. I also switch windows with arrow keys (mapped to fn+HJKL) and use tabs for "workspaces". I also have a custom bit of vimscript that lets me select and swap splits with <leader>w (I do this more than "moving" splits).
I use vim as my main IDE and I consider splits to be essential in vim too.
About that, I understand the point other people make about using tmux or a tiling wm instead, but this generally means that the register are not shared between those vim instances, which is a huge penalty for me.
"Essential power user features" could be different things for me. For now, I would say using the multiple registers, macros, navigating the undo tree and marks to be both essential and advanced (they are not hard to understand, but you have to remember a lot of things before you dive into all that).
But with vim, you often discover new features after years of usage which become essential when you integrate it in your workflow and muscle memories. For example, I never really grasped the "tabs" concepts and its use cases for now, but I wouldn't be surprised if I make heavy usage of them in the future.
I would thus guess that other vim users might have very different answers.