我经常发现自己使用mv重命名文件.例如
mv app/models/keywords_builder.rb app/models/keywords_generator.rb
Run Code Online (Sandbox Code Playgroud)
这样做我需要写第二个参数的路径(确定,标签完成).在这个例子中它不是太糟糕,但有时路径是深度嵌套的,它似乎是相当多的额外打字.
有没有更有效的方法来做到这一点?
Mik*_*kel 20
另一种方式:支撑扩张.
mv app/models/keywords_{builder,generator}.rb
Run Code Online (Sandbox Code Playgroud)
一般来说,
before{FIRST,SECOND}after
Run Code Online (Sandbox Code Playgroud)
扩展到
beforeFIRSTafter beforeSECONDafter
Run Code Online (Sandbox Code Playgroud)
所以它对其他重命名也很有用,例如
mv somefile{,.bak}
Run Code Online (Sandbox Code Playgroud)
扩展到
mv somefile somefile.bak
Run Code Online (Sandbox Code Playgroud)
它适用于bash和zsh.
更多例子:
Mik*_*kel 11
你可以像这样使用历史扩展:
mv app/modules/keywords_builder.rb !#^:h/keywords_generator.rb
Run Code Online (Sandbox Code Playgroud)
! 介绍历史扩张.# 指的是当前正在键入的命令^ 意思是第一个参数:h 是获取"head"的修饰符,即没有文件部分的目录它支持bash和zsh.
文档: