Skip to content

Instantly share code, notes, and snippets.

@gabydd
Last active March 1, 2025 18:06
Show Gist options
  • Save gabydd/570f0dd5f71dda35241500c18f5d27e3 to your computer and use it in GitHub Desktop.
Save gabydd/570f0dd5f71dda35241500c18f5d27e3 to your computer and use it in GitHub Desktop.
helix lf
[keys.normal]
C-f = [":new", ":insert-output lf-pick", "split_selection_on_newline", "goto_file", "goto_last_modification", "goto_last_modified_file", ":buffer-close!", ":theme nord", ":theme default"]
# replace the default after theme with the theme you use
# open 1 with the open command (l and <left> to open) or more with (<space> to select) then quit
# all opened files will be opened in helix
# touch ~/.local/bin/lf-pick
# chmod +x ~/.local/bin/lf-pick
function lfp(){
local TEMP=$(mktemp)
lf -selection-path=$TEMP
echo >> $TEMP
while read -r line
do
echo "$line"
done < "$TEMP"
}
lfp
@dpc
Copy link

dpc commented Feb 17, 2024

[keys.normal]
C-f = [":new", ":insert-output lf -selection-path=/dev/stdout", "split_selection_on_newline", "goto_file", "goto_last_modification", "goto_last_modified_file", ":buffer-close!", ":redraw"]

@davesmith00047
Copy link

Thank you for this.
The best version of this I've found so far (from scratching around in all the various answers), is:

C-f = [":new", ":insert-output lf -print-selection", "split_selection_on_newline", "goto_file", "goto_last_modification", "goto_last_modified_file", ":buffer-close!", ":redraw"]

With no lf-pick script needed.

It almost works too! But you need to have modified a buffer to get it to open, and it doesn't open from the current location, which is a pain.

I think it's a testament to how much helix needs this functionality that we're all scrabbling around in here, trying desperately to make something work...

@glendell03
Copy link

Hi this is great! however does every one knows how to open the lf-pick in the current buffer directory?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment