更改目录和打开文件

Kdr*_*umz 3 command-line

例如,我在目录中Desktop。然后我这样做cd break,当我列出所有文件时,我有例如main.cpp文件。我试图能够直接从桌面打开main.cpp使用崇高的文本(subl用于打开它),而无需break再做subl main.cpp但似乎无法弄清楚。这就是我想要做的:

/Desktop $ cd break/subl main.cpp
Run Code Online (Sandbox Code Playgroud)

但显然这行不通。我如何做到这一点并将所有内容合并为一个命令?

Zan*_*nna 7

要在当前工作目录以外的目录中使用特定程序打开文件,请先输入用于打开文件的命令,然后是文件的路径。在你的情况下:

subl break/main.cpp
Run Code Online (Sandbox Code Playgroud)

您还可以使用绝对路径,无论当前工作目录如何都可以使用

subl ~/Desktop/break/main.cpp
Run Code Online (Sandbox Code Playgroud)

您可以在路径中使用通配符。例如我有一个文件

/home/zanna/Dropbox/Writings/journal02/Capoeira
Run Code Online (Sandbox Code Playgroud)

我是这样打开的

vim ~/Dr*/Wr*/j*2/Cap*
Run Code Online (Sandbox Code Playgroud)

如果您经常使用特定程序打开特定文件,则可以创建别名来打开它

alias capedit='vim ~/Dropbox/Writings/journal02/Capoeira'
Run Code Online (Sandbox Code Playgroud)

正如@Serg 建议的那样,您还可以创建一个指向深埋在目录树中的文件的符号链接,以使其更易于访问

ln -s ~/Dropbox/Writings/journal02/Capoeira ~/new-writing/Capoeira
Run Code Online (Sandbox Code Playgroud)

现在我可以

vim ~/new-writing/Capoeira
Run Code Online (Sandbox Code Playgroud)

  • 对于此任务,我建议使用选项卡完成而不是通配符。如果某些事情没有按计划进行(缺少目录,不止一个完成......),更容易弄清楚发生了什么,并且在更广泛的情况下这是一个有用的快捷方式。 (2认同)