mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-08 11:23:47 -05:00
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
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user