From 31fd207ba232cf419f55cbfede8a90490bd25c5d Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 30 Mar 2025 19:28:21 +0900 Subject: Add 'r' flag (raw) for unquoted output By default, placeholder expressions are automatically quoted to ensure they are safely passed as arguments to external programs. The r flag ({r}, {r1}, etc.) disables this behavior, outputting the evaluated value without quotes. For example, echo 'foo bar' | fzf --preview 'echo {} {r}' The preview command becomes: echo 'foo bar' foo bar Since `{r}` expands to unquoted "foo bar", 'foo' and 'bar' are passed as separate arguments. **Use with caution** Unquoted output can lead to broken commands. echo "let's go" | fzf --preview 'echo {r}' Close #4330 --- man/man1/fzf.1 | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'man/man1') diff --git a/man/man1/fzf.1 b/man/man1/fzf.1 index 4b2c5896..366cb3b2 100644 --- a/man/man1/fzf.1 +++ b/man/man1/fzf.1 @@ -768,6 +768,12 @@ e.g. \fBfzf \-\-multi \-\-preview='head \-10 {+}' git log \-\-oneline | fzf \-\-multi \-\-preview 'git show {+1}'\fR +Each expression expands to a quoted string, so that it's safe to pass it as an +argument to an external command. So you should not manually add quotes around +the curly braces. But if you don't want this behavior, you can put +\fBr\fR flag (raw) in the expression (e.g. \fB{r}\fR, \fB{r1}\fR, etc). +Use it with caution as unquoted output can lead to broken commands. + When using a field index expression, leading and trailing whitespace is stripped from the replacement string. To preserve the whitespace, use the \fBs\fR flag. -- cgit v1.2.3