Abra uma nova guia no ConEmu, no mesmo diretório (git bash)

12

Desejo atribuir um atalho de teclado no ConEmu que abrirá uma nova guia, no mesmo diretório que a guia atual.

Então, algo como:

-new_console:d:[<pwd>]%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i

onde [<pwd>]executa pwd ou agarra a variável de ambiente $ PWD. Ou qualquer comando que receba o diretório de trabalho atual.

--ATUALIZAR---

Atualmente, tenho um script bash configurado:

winpwda()
{
    pwd | sed -e 's/\//\\/g ' | sed 's/^.//' | sed 's/^c/C:/g'
}
nc()
{
 ConEmu.exe -new_console:d:"$(winpwda)" "%ProgramFiles(x86)%\Git\bin\sh.exe" &
}

executar "nc" agora abrirá uma nova janela com um ConEmu do git bash no diretório atual. Irritantemente, se eu usar "cmd" em vez de "ConEmu.exe", ele será aberto com sucesso em uma nova guia, em vez de em uma nova janela. Também não sei como posso atribuir um argumento bash como um atalho de teclado ...

chrispepper1989
fonte
ConEmu.exe? Não possui a opção -new_console. Você deve usar o executável adequado para obter o resultado adequado! Ex. ConEmuC -c bash.exe ...
Maximus

Respostas:

11

Os documentos do ConEmu indicam claramente o que o usuário deve configurar.

Para o bash, o usuário deve adicionar ao perfil do bash

PROMPT_COMMAND='ConEmuC -StoreCWD'

E configure uma chamada de Shell função nas Teclas e Macros . O exemplo supõe que você tenha a tarefa {Git bash}.

Shell("new_console", "{Git bash}", "", "%CD%")
Maximus
fonte
Obrigado pelo conselho, eu estava definitivamente no caminho errado, estava olhando para "Inicialização-> Tarefas-> HotKey". Por isso, designei "Shell (" new_console "," {Git bash} "," ","% CD% ")" como uma macro e adicionei PROMPT_COMMAND ao meu bashrc, mas ele falhou com "o nome do diretório é inválido"% CD%
chrispepper1989
Também "PROMPT_COMMAND = 'ConEmuC -StoreCWD'" gera este erro: Falha na análise da linha de comando (argumento / C não encontrado): "c: \ Arquivos de Programas (x86) \ EliteTools \ ConEmuPack.140812 \ ConEmu \ ConEmuC.exe" -StoreCWD
precisa
Verdade? Versão de que ano você está usando?
Maximus
Eu também precisava colocar `` `if [-n" $ {ConEmuWorkDir} "]; então cd "$ ConEmuWorkDir" fi `` `para meu .bashrc, veja dicas aqui .
Borek Bernard