The title of this post is somewhat cryptic but what I learned today is awesome.
I was looking at fzf’s page to see how I could better integrate it with vim. I’ve been happily using fzf in bash for a while now, primarily leveraging the ctrl-r history fuzzy search, and also ocassionally ctrl-t to insert a fuzzily-searched file in the command line. Today I learned about:
Files and directories
Fuzzy completion for files and directories can be triggered if the word before
the cursor ends with the trigger sequence, which is by default **
.
COMMAND [DIRECTORY/][FUZZY_PATTERN]**<TAB>
# Files under the current directory
# - You can select multiple items with TAB key
vim **<TAB>
# Files under parent directory
vim ../**<TAB>
# Files under parent directory that match `fzf`
vim ../fzf**<TAB>
# Files under your home directory
vim ~/**<TAB>
# Directories under current directory (single-selection)
cd **<TAB>
# Directories under ~/github that match `fzf`
cd ~/github/fzf**<TAB>
Process IDs
Fuzzy completion for PIDs is provided for kill command. In this case, there is no trigger sequence; just press the tab key after the kill command.
# Can select multiple processes with <TAB> or <Shift-TAB> keys
kill -9 <TAB>
But the one that REALLY blew my mind was this:
ALT-C - cd into the selected directory
- Set FZF_ALT_C_COMMAND to override the default command
- Set FZF_ALT_C_OPTS to pass additional options
This is brilliant, I might get used to this and I’ll become entirely unable to manually cd
into a directory now.