如何在与先前目录相同的目录中生成新选项卡?

时间:2019-07-20 00:40:04

标签: windows-terminal

我只想在与以前的标签相同的文件夹中启动一个新标签。这可能吗?如果可以,怎么办?顺便说一下,这是在Windows终端上。

7 个答案:

答案 0 :(得分:5)

我发现了一些有趣的东西。...这对我有用...您可以输入:

“ startingDirectory”:“ ./"

在终端配置中。...

Example

答案 1 :(得分:3)

  1. 打开windows终端
  2. 点击下拉按钮
  3. 点击设置选项
  4. startingDirectory 值设置为 "./"
例子
"profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
            "startingDirectory": "./" <---- set this value
        }

答案 2 :(得分:1)

dotnet tool install -g p2u
p2u dir ${PWD}

然后CTRL+SHIFT+D
希望它也适用于拆分窗格

与@apena 相同的想法,但现在有了一个 dotnet 工具。更多详情:https://github.com/celsojr/p2u

答案 3 :(得分:1)

也与@apena 的帖子类似,因为它特定于 bash。

就我而言,我希望 Debian 在我当前的工作目录中打开。

虽然我不能完全得到这种行为,但我能够使用一些技巧让它打开(有效)访问的最后一个目录:

在我的 linux 发行版中,我将它添加到我的 .bashrc 以拦截对 cd 的所有调用并将对 cd 的最后一次调用存储到我选择的目的地。

cd() {
  builtin cd "$@" ;  echo $PWD > /opt/chdir/lastestdir
}

接下来,由于 Windows 终端不允许我内联命令,我在自定义位置创建了这个批处理脚本:

@echo off
for /F "tokens=*" %%n IN (\\wsl$\Debian\opt\chdir\lastestdir) DO @(wsl.exe -d Debian --cd \\wsl$\Debian%%n)

注意:\\wsl$\Debian 是我在 Powershell 中的发行版路径,\opt\chdir\lastestdir 是基于我在上一步中使用的路径。

接下来,我在 Windows 终端中编辑了 Debian 的配置文件以指向我的脚本: WT Debian profile

我愿意接受建议,但这让我很高兴地将当前目录复制到下一个选项卡,只要它是我更改目录的最后一个终端。

答案 4 :(得分:0)

这目前无法实现,如此处https://github.com/microsoft/terminal/issues/1437所述,此问题目前已关闭,但将来可能会重新打开。

答案 5 :(得分:0)

每次打开标签页时,您始终可以重写设置json,但它是特定于shell的hack。

将此功能放入$PROFILE(确保调整$path

function sd {
  $path = 'C:\Users\Admin\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json'
   ((Get-Content -path $path) -replace '"startingDirectory":.*', ("`"startingDirectory`": `"$pwd`"") -replace "\\", "\\") | Set-Content -Path $path
}

溶液取自here

答案 6 :(得分:0)

Windows 终端命令行界面 (4 5 6) 可用于实现此目的,但需要使用命令而不是键盘快捷键。

wt.exe
  • wt -w 0 nt -d . :使用当前终端窗口。
  • -w 0nt:创建一个新标签。
    • new-tab:在当前目录中启动进程。

文档:https://docs.microsoft.com/windows/terminal/command-line-arguments