我只想在与我所在的上一个选项卡相同的文件夹中启动一个新选项卡。这可能吗,如果可以,如何?顺便说一下,这是使用 Windows 终端。
小智 15
startingDirectory值设置为"./""profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
"startingDirectory": "./" <---- set this value
}
Run Code Online (Sandbox Code Playgroud)
HKT*_*Lee 12
如果您使用的是 Zsh,则可以将其添加到~/.zshrc
[[ -n "$WT_SESSION" ]] && {
chpwd() {
echo -en '\e]9;9;"'
wslpath -w "$PWD" | tr -d '\n'
echo -en '"\x07'
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用 Windows 终端中的重复选项卡在新选项卡中打开同一目录
你也可以在 Bash 中做类似的事情
my_prompt() {
echo -en '\e]9;9;"'
wslpath -w "$PWD" | tr -d '\n'
echo -en '"\x07'
}
export PROMPT_COMMAND=my_prompt
Run Code Online (Sandbox Code Playgroud)
$WT_SESSION是Windows Terminal设置的环境。这将确保我们仅在 WT 中定义此转义序列。
chpwd()是一个回调函数,每当 Zsh 更改工作目录时都会调用它。
在内部chpwd()它将发送一个OSC 9;9转义序列。这将告诉终端(包括 Windows 终端在内的许多终端)shell 的 CWD 已更改。
转义序列的语法OSC 9;9是\e]9;9;"C:\Temp\"\x07
序列C:\Temp\中的 必须是 Windows 样式的路径。它可以指向 WSL 中的某个路径(例如\\wsl.localhost\Ubuntu-20.04\home\superman\bin)。当打开新选项卡时,shell 将打开相应的 UNIX 路径(例如/home/superman/bin)。
Rav*_*ana 11
Windows 终端命令行界面 ( wt.exe) 可用于实现此目的,但使用命令而不是键盘快捷键。
wt -w 0 nt -d .
Run Code Online (Sandbox Code Playgroud)
-w 0:使用当前终端窗口。nt或new-tab:创建一个新选项卡。
-d .:在当前目录启动进程。文档: https: //learn.microsoft.com/windows/terminal/command-line-arguments
这目前是不可能的,正如此处所解释的https://github.com/microsoft/terminal/issues/1437该问题目前已关闭,但将来可能会重新打开。
| 归档时间: |
|
| 查看次数: |
6576 次 |
| 最近记录: |