1
0
Fork 0

Fasd module

pull/211/head
Wei Dai 13 years ago
parent 942785da25
commit 1e71230266

@ -0,0 +1,38 @@
FASD
====
[Fasd][1] is a command-line productivity booster. Fasd offers quick access to
files and directories. It is inspired by tools like [autojump][2], [z][3] and
[v][4]. Fasd keeps track of files and directories you have accessed, so that
you can quickly reference them in the command line.
You should define your own aliases to utilize the full power of fasd. For more
information please see `man fasd` or visit [fasd][1].
Aliases
-------
- `a` return most *frecent* match
- `s` interactive selection
- `d` return most *frecent* directory
- `f` return most *frecent* file
- `sd` interactive directory selection
- `sf` interactive file selection
- `z` changes the directory to most *frecent* match.
- `j` the same as `z` for [autojump][2] converts.
- `zz` interactive z
Authors
-------
*The authors of this module should be contacted via the [issue tracker][5].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Wei Dai](https://github.com/clvv)
[1]: https://github.com/clvv/fasd
[2]: https://github.com/joelthelion/autojump
[3]: https://github.com/rupa/z
[4]: https://github.com/rupa/v
[5]: https://github.com/sorin-ionescu/oh-my-zsh/issues

@ -1,28 +1,26 @@
# https://github.com/clvv/fasd #
# Command-line productivity booster, offers quick access to files and directories.
omodload 'completion' #
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Wei Dai <x@wei23.net>
#
if (( ! $+commands[fasd] )); then if (( ! $+commands[fasd] )); then
return 1 return 1
fi fi
cache_file="${0:h}/cache.zsh" cache_file="${0:h}/cache.zsh"
if [[ ! -s "$cache_file" ]]; then if [[ "$(which fasd)" -nt "$cache_file" || ! -s "$cache_file" ]]; then
# fasd is slow; cache its output. # Base init arguments
# fasd --init-zsh >! "$cache_file" 2> /dev/null
# fasd --init \
# posix-alias \
# zsh-hook \
# zsh-ccomp \
# zsh-ccomp-install \
# zsh-wcomp \
# zsh-wcomp-install >! "$cache_file" 2> /dev/null
init_args='posix-alias zsh-hook' init_args='posix-alias zsh-hook'
if -t zstyle ':omz:module:completion' loaded; then
# Load zsh-{ccomp,wcomp} when completion is loaded
if zstyle -t ':omz:module:completion' loaded; then
init_args+=' zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install' init_args+=' zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install'
fi fi
# Cache init code
fasd --init "${(z)init_args[@]}" >! "$cache_file" 2> /dev/null fasd --init "${(z)init_args[@]}" >! "$cache_file" 2> /dev/null
fi fi
@ -30,16 +28,9 @@ source "$cache_file"
unset cache_file init_args unset cache_file init_args
alias a='fasd -a' # any alias j='z' # For autojump converts
alias s='fasd -s' # show / search / select alias o="a -e $aliases[o]" # Quickly open paths with open.
alias d='fasd -d' # directory alias v='f -t -e vim -b viminfo' # Quickly open files with vim.
alias f='fasd -f' # file
alias z='fasd_cd -d' # cd, same functionality as j in autojump
alias j='z' # Quickly cd into directories.
alias m='f -e mplayer' # Quickly open files with mplayer.
alias o="a -e $aliases[o]" # Quickly open files with open.
alias v='f -e vim -b viminfo' # Quickly open files with vim.
for keymap in 'emacs' 'viins'; do for keymap in 'emacs' 'viins'; do
bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]A" fasd-complete # C-x C-a (files and directories) bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]A" fasd-complete # C-x C-a (files and directories)

Loading…
Cancel
Save