Estou executando o Cygwin e gostaria de usar o Notepad ++ como o principal editor de shell, como o que tenho no meu Mac, onde posso digitar mate whatever
para abrir uma instância do TextMate. No meu ~/.bashrc
arquivo no Cygwin, tenho o seguinte alias e variável de ambiente definido:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Geralmente funciona: quando digito np whatever
ou quando um programa Cygwin pede $ EDITOR, o Notepad ++ é aberto.
No entanto, o shell aguarda até que o Notepad ++ seja fechado e não permitirá nenhuma entrada até então. Isso pode ser específico para o bash, mas como posso abrir o Notepad ++ do Cygwin e dizer ao shell para não esperar o código de saída continuar? A adição de um &
no final do comando alias não funciona corretamente - apenas abre um arquivo sem título e avisa em filename: command not found
vez de abrir o arquivo.
Obrigado!
Eu o resolvi com um link simbólico simples.
Claro que ~ / bin está no meu $ PATH.
Agora, para abrir um arquivo, basta digitar "npp filename.txt" no prompt do cygwin. Eu não tive que usar o & no final do comando.
Isso também lançará uma guia na janela do Notepad ++ em execução no momento, em vez de abrir outra - E se o arquivo já estiver aberto, ele não será aberto novamente.
fonte
também funciona para x86
fonte
Basta adicionar um espaço e um e comercial (&) ao final do seu comando e o shell retornará imediatamente ao modo de entrada, deixando o bloco de notas ++ aberto.
na edição:
Não estou falando de adicioná-lo ao seu alias. Adicione-o ao final do seu comando, assim:
np whatever &
fonte
.bash_profile
para que eu não precise digitá-lo o tempo todo?Os aliases não aceitam argumentos interpolados. Use uma função em seu lugar.
fonte
Esse script inicia o Notepad ++ em segundo plano, passando os argumentos da linha de comando antes do '&'
Como Doug aconselhou , ter um padrão
$EDITOR
que não bloqueia pode causar problemas.fonte
Existe um comando específico no cygwin para fazer isso. Certifique-se de baixar o run.exe e verifique se ele está no seu PATH (ou seu PATH contém o executável)
fonte