如何为目录创建别名,以便我不必每次都输入长路径?

时间:2014-09-29 02:26:43

标签: bash

目前,要访问我需要输入的目录:

cd /cygdrive/c/Users/NameOfUser/FolderBelongingToUser

有没有办法让它可以输入类似的内容:

cd FolderBelongingToUser ?

5 个答案:

答案 0 :(得分:1)

我熟悉z(使用排名)和cdargs(使用快捷方式)但是还有许多其他工具可以让你的shell更容易导航内置解决方案,如CDPATH**通配符......

  • CDPATH

    *rc文件中添加以下内容:

    export CDPATH='.:~:/cygdrive/c/Users/NameOfUser/'
    

    允许您完全按照以下方式执行操作:

    $ cd FolderBelongingToUser
    

    或者,更好:

    $ cd Fold<Tab>
    
  • **

    如果你的bash足够新,你可以这样做:

    $ cd ** / foo

答案 1 :(得分:0)

Vim通常支持制表符完成,因此您可以输入类似

的内容
  

cd~Nam Tab Fol Tab

将扩展为

  

cd / cygdrive / c / Users / NameOfUser / FolderBelongingToUser

当然,如果你是NameOfUser,那么你可以输入

  

cd~ / Fol Tab

答案 2 :(得分:0)

您可以将以下行添加到.vimrc

cabbr FolderBelongingToUser /cygdrive/c/Users/NameOfUser/FolderBelongingToUser

然后你可以

cd FolderBelongingToUser

如果要在路径中添加更多内容(例如,使用:w指定文件名),可以在FolderBelongingToUser之后按 / 并将其替换为完整路径并允许您继续输入。

:ca [bbrev] 是仅限命令行的缩写。请参阅::help :cabbr

答案 3 :(得分:0)

如果您正在使用OSX,则可以在root用户目录中打开名为.bash_profile的隐藏文件,并添加如下条目:

alias define_your_shortcut='define your path'

你可以做任何事情。例如,这是您的示例的别名:

alias FolderBelongingToUser='cd /cygdrive/c/Users/NameOfUser/FolderBelongingToUser'

这是另一个使用命令切换隐藏文件的例子

alias showfiles='defaults write com.apple.finder ShowAllFiles TRUE'
alias hidefiles='defaults write com.apple.finder ShowAllFiles FALSE'

对bash_profile进行任何更改后,您需要注销并登录,或者您可以打开终端并告诉它使用此命令重新加载您的bash_profile

source ~/.bash_profile

我个人并不熟悉Windows,但如果您使用Windows快速搜索结果,则说明您将如何在Windows中创建命令提示别名

AddConsoleAlias( TEXT("test"), 
             TEXT("cd \\<a_very_long_path>\\test"), 
             TEXT("cmd.exe"));

或者看起来有人在Windows中为这样做提供了一个很好的答案:https://superuser.com/questions/560519/how-to-set-an-alias-in-windows-command-line

答案 4 :(得分:0)

如果这是永久别名,请在~/.bashrc中创建别名:

alias FTBU='/cygdrive/c/Users/NameOfUser/FolderBelongingToUser'

然后您可以通过以下方式在shell中访问它:

$ cd FTBU

另一个技巧是,如果您只想使用alias更改目录,只需将cd添加到alias

alias FTBU='cd /cygdrive/c/Users/NameOfUser/FolderBelongingToUser'

然后您只需输入:

$ FTBU

更改为/cygdrive/c/Users/NameOfUser/FolderBelongingToUser目录。但是,如果您打算将alias用于任何其他目的,请将cd保留在alias定义之外。

如果这是一个临时别名,您只需从命令行创建一个别名:

$ alias FTBU='/cygdrive/c/Users/NameOfUser/FolderBelongingToUser'

具有相同的结果。 (替换您喜欢的任何内容FTBU注意:您使用alias命令删除unalias另请注意:您应该在分配之前检查现有系统命令是否存在带别名的名称。只需在命令行键入建议的alias即可。如果您收到第bash: your_alias: Command Not Found行,那么您很高兴。 alias中没有最低要求的字符数。所以你想要使用单个字符,这很好。