mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-21 01:53:42 -05:00
Created examples (markdown)
93
examples.md
Normal file
93
examples.md
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
Useful examples
|
||||||
|
===============
|
||||||
|
|
||||||
|
Opening files and directories
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fe [FUZZY PATTERN] - Open the selected file with the default editor
|
||||||
|
# - Bypass fuzzy finder if there's only one match (--select-1)
|
||||||
|
# - Exit if there's no match (--exit-0)
|
||||||
|
fe() {
|
||||||
|
local file
|
||||||
|
file=$(fzf --query="$1" --select-1 --exit-0)
|
||||||
|
[ -n "$file" ] && ${EDITOR:-vim} "$file"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fd - cd to selected directory
|
||||||
|
fd() {
|
||||||
|
local dir
|
||||||
|
dir=$(find ${1:-*} -path '*/\.*' -prune \
|
||||||
|
-o -type d -print 2> /dev/null | fzf +m) &&
|
||||||
|
cd "$dir"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fda - including hidden directories
|
||||||
|
fda() {
|
||||||
|
local dir
|
||||||
|
dir=$(find ${1:-.} -type d 2> /dev/null | fzf +m) && cd "$dir"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Command history
|
||||||
|
---------------
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fh - repeat history
|
||||||
|
fh() {
|
||||||
|
eval $(([ -n "$ZSH_NAME" ] && fc -l 1 || history) | fzf +s | sed 's/ *[0-9]* *//')
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Processes
|
||||||
|
---------
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fkill - kill process
|
||||||
|
fkill() {
|
||||||
|
ps -ef | sed 1d | fzf -m | awk '{print $2}' | xargs kill -${1:-9}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Git
|
||||||
|
---
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fbr - checkout git branch
|
||||||
|
fbr() {
|
||||||
|
local branches branch
|
||||||
|
branches=$(git branch) &&
|
||||||
|
branch=$(echo "$branches" | fzf +s +m) &&
|
||||||
|
git checkout $(echo "$branch" | sed "s/.* //")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# fco - checkout git commit
|
||||||
|
fco() {
|
||||||
|
local commits commit
|
||||||
|
commits=$(git log --pretty=oneline --abbrev-commit --reverse) &&
|
||||||
|
commit=$(echo "$commits" | fzf +s +m -e) &&
|
||||||
|
git checkout $(echo "$commit" | sed "s/ .*//")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
ctags
|
||||||
|
-----
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# ftags - search ctags
|
||||||
|
ftags() {
|
||||||
|
local line
|
||||||
|
[ -e tags ] &&
|
||||||
|
line=$(
|
||||||
|
awk 'BEGIN { FS="\t" } !/^!/ {print toupper($4)"\t"$1"\t"$2"\t"$3}' tags |
|
||||||
|
cut -c1-80 | fzf --nth=1,2
|
||||||
|
) && $EDITOR $(cut -f3 <<< "$line") -c "set nocst" \
|
||||||
|
-c "silent tag $(cut -f2 <<< "$line")"
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user