fzf without ncurses
2017. 01. 16.

A short announcement. The latest version of fzf learned --height option which makes fzf display the finder right below the cursor without occupying the full screen.

fzf was initially written as an ncurses application which has to run in full screen mode. However, this is often undesirable as it completely hides the context of your workflow. The workaround suggested so far was to use fzf-tmux script, which opens fzf in a tmux split pane. The script works pretty well and it's flexible, but there are a few problems, such as, 1. it requires you to be on tmux, 2. it inadvertendly un-zooms a zoomed pane which can be quite annoying.

The new renderer for --height option does not use ncurses but directly manipulates ANSI escape codes to display the finder. An incidental benefit of not depending on ncurses is that we're not constrained by the limitations of it, so this renderer can display 24-bit colors.

# Solarized theme
fzf --color 'fg:#839496,fg+:#93a1a1,bg:#002b36,bg+:#073642' --height 50%

--height option is now applied by default to the shell extensions provided by the repository (key bindings, fuzzy completion). If you don't like it or have problems with it, you can switch it off by adding --no-height to your $FZF_DEFAULT_OPTS, $FZF_CTRL_T_OPTS, etc., or you can choose to use fzf-tmux instead as before by setting $FZF_TMUX to 1.

I paid great attention so that the new renderer is performant and stable, but inevitably, there will be bugs. So please update fzf and see how it works for you, and let me know of any issues you run into.

A little late, but happy 2017.

» capture | close