快速跳转工具--FASD 简单介绍

前言

fasd是一个命令行加速工具。它提供了对文件和文件夹的快速访问。它和autojmp, z, v都很相近。它会记录你访问过的文件夹和文件, 然后你就可以通过简短的名字来直接访问它们。
fasd会对访问过的文件和文件夹按照使用频率排序,然后按照频率列出所有文件和文件夹

安装

git clone https://github.com/clvv/fasd.git
cd fasd
make install

然后把下面语句放到你的.bashrc或.zshrc下

eval "$(fasd --init auto)"

命令

fasd [options] [query ...]
[f|a|s|d|z] [opions] [query ...]
  options:
    -s        list paths with scores
    -l        list paths without scores
    -i        interactive mode
    -e <cmd>  set command to execute on the result file
    -b <name>  only use <name> backend
    -B <name>  add additional backend <name>
    -a        match files and directories
    -d        match directories only
    -f        match files only
    -r        match by rank only
    -t        match by recent access only
    -R        reverse listing order
    -h        show a brief help message
    -[0-9]    select the nth entry

fasd [-A|-D] [paths ...]
    -A    add paths
    -D    delete paths

比如输入fasd -R的返回结果是

$ fasd -R
75.3984    /home/harriszh/dw/dev/dw_fp_mult/src
63.423    /home/harriszh/dw/work_version/sim_ver.2015
44.8636    /home/harriszh/avip/axi3_master_tlm_slave_tlm
43.8288    /home/harriszh/.fzf
37.4402    /home/harriszh/.zshrc
35.572    /home/harriszh/dw/dev/dw_fp_mult
26.0366    /home/harriszh/.fzf/shell
25.6842    /home/harriszh/.vim/bundle
...

配置

ZSH:

# fasd
fasd_cache="$HOME/.fasd-init-zsh"
if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then
  fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install >| "$fasd_cache"
fi
source "$fasd_cache"
unset fasd_cache

BASH:

fasd_cache="$HOME/.fasd-init-bash"
if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then
  fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install >| "$fasd_cache"
fi
source "$fasd_cache"
unset fasd_cache

aliases

带自以下aliases

alias a='fasd -a' # any
alias s='fasd -si' # show / search / select
alias d='fasd -d' # directory
alias f='fasd -f' # file
alias sd='fasd -sid' # interactive directory selection
alias sf='fasd -sif' # interactive file selection
alias z='fasd_cd -d' # cd, same functionality as j in autojump
alias zz='fasd_cd -d -i' # cd with interactive selection
建议把z和zz注释掉, 因为后面会用fzf+fasd来实现

使用

使用如下:

# list recent files matching foo
f foo
# list recent files and directories matching foo and bar             
a foo bar  
# list recent files that ends in js    
f js$ 
# run vim on the most frecent file matching foo              
f -e vim foo  
# run mplayer on the most frecent file matching bar     
mplayer `f bar`
# cd into the most frecent directory matching foo    
z foo
# interact               
open `sf pdf`  

问题

在zsh里配合fzf使用时经常会出现这个错误

fasd_cd:1: maximum nested function level reached

这时应该检查一下fasd有没有被其它脚本alias

后言

fasd单独使用也非常强大,但配合fzf会再强大,所以fasd只是三剑客之一,另外两剑客是riggrep和fzf.


验证的进阶之路
虽然从事的是芯片验证行业, 但对计算机体系结构,芯片架构,设计,验证,后端,软件前端,后端,C/C++,...

技术是愉悦自己的工具,是发现自我价值的手段

320 声望
99 粉丝
0 条评论
推荐阅读
后仿验证的ABC
后仿检查数模接口异步路径时序紧张的同步路径时钟和复位不定态扩散问题重要用例和场景启动复位时钟切换后仿网表post-synth netlistpost-dft netlistpost-pnr netlistpost-pnr netlist with PG通常后仿用例跨时钟...

harriszh阅读 387

工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

如何使用zx编写shell脚本
在这篇文章中,我们将学习谷歌的zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本。然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项目引导配置。

chuck3阅读 1.2k

封面图
深入剖析容器网络和 iptables
Docker 能为我们提供很强大和灵活的网络能力,很大程度上要归功于与 iptables 的结合。在使用时,你可能没有太关注到 iptables 的作用,这是因为 Docker 已经帮我们自动完成了相关的配置。

张晋涛3阅读 1.3k

封面图
麒麟操作系统 (kylinos) 从入门到精通 - 常用软件安装 - 第三篇 常用软件安装(windows下的习惯)
本篇内容大部分从应用商店进行安装,部分通过官网下载,少部分通过命令行安装。1.原生应用1.1钉钉1.2飞书1.3 蓝信1.4 腾讯文档1.5 金山文档1.6 搜狗输入法(拼音)1.7 五笔输入法1.8 libreoffice官方也带了WPS,...

码上世界3阅读 7.5k评论 17

封面图
Metasploit实现木马生成、捆绑及免杀
在一次渗透测试的过程中,避免不了使用到社会工程学的方式来诱骗对方运行我们的木马或者点击我们准备好的恶意链接。木马的捆绑在社会工程学中是我们经常使用的手段,而为了躲避杀毒软件的查杀,我们又不得不对木...

白风之下1阅读 9k

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境 - 第十三篇 字体安装与windows字体的利用
正常情况下,系统下的wps或libreoffice用到的字体都已默认安装。但有时候一些ttf字体或者microsoft office下一些字体需要安装。我们可以在安装好office、acrobat之后,将C:\windows\Fonts文件夹中的字体(我是win...

码上世界2阅读 4k

封面图

技术是愉悦自己的工具,是发现自我价值的手段

320 声望
99 粉丝
宣传栏