I'm switching from vim and so far everything is going smoothly. One thing I'm sorely missing is ctrlp's functionality for opening the selected file in a horizontal split with C-x or vertical split with C-v. What's more, I was able to select multiple files with C-z and then use one of the aforementioned bindings to open them all in horizontal or vertical splits. It really defined my flow.
So to make it clearer, I would trigger ctrlp with ,f, type a short pattern, highlight the appropriate file, then press C-x to open it in a new horizontal split window.
I've scoured helm's documentation for something relevant to this but the only thing I found was some hint that it may be possible to select multiple files and do something with them, but I'm not sure if one of those actions could be opening the file(s) in a split. I imagine it would be something relevant to helm-find-files
and the other similar commands, since those deal with files and not just general narrowing like helm-M-x
.
Usually I just need to open a single file in a horizontal split, so if the "mark multiple for opening in their own splits" functionality is missing I won't mind too much.
However, it seems like I'm expected to first create the split, switch to the new window, then run helm so that the opened file populates that window. This is much slower for me in an environment that already feels slower to operate to me compared to vim, though I've been making progress on other fronts.
Is there any way at all that this may be possible? In the worst case, would it be possible to hack this on using the 'advice' functionality that I've heard about? I'd prefer not to hack on helm's source itself if possible, since I don't want to deal with the maintenance burden of doing that. If helm isn't capable of doing this, is there another package that offers similar narrowing functionality for finding files and buffers that does support this?
TAB
inhelm-find-files
? It offers a few actions includingC-c o
for opening the file in a new window andC-c C-o
for finding it in another frame.