Como localizo e defino minha variável de ambiente $ EDITOR?


27

Quando estou usando o ipython ou ipython3, posso usar o comando% edit para abrir um editor para gravar meus scripts python. Meu problema é que o editor padrão é o vim e eu realmente não entendo como usar esse editor. O que eu gostaria de fazer é mudar o editor para nano ou gedit. Eu acho que para ficar com o terminal, eu preferiria mudá-lo para o editor nano.

Quando digito o 'editar?' comando no terminal ipython, ele diz:

% edit executa o gancho do editor do IPython. A versão padrão deste gancho é configurada para chamar o editor especificado por sua variável de ambiente $ EDITOR. Se isso não for encontrado, o padrão será vi no Linux / Unix e o bloco de notas no Windows. Veja o final desta documentação para saber como alterar o gancho do editor.

Então, quando vejo o final dessa doutrina, vejo o seguinte:

Alterando o gancho do editor padrão:

Se você deseja escrever seu próprio gancho de editor, pode colocá-lo em um arquivo de configuração que você carrega no momento da inicialização. O gancho padrão é definido no módulo IPython.core.hooks e você pode usá-lo como um exemplo inicial para outras modificações. Esse arquivo também possui instruções gerais sobre como definir um novo gancho para uso depois de definido.

Desculpe ser um novato, mas me perco aqui. Não tenho certeza de como acessar o módulo IPython.core.hooks ou simplesmente defina uma variável de ambiente $ EDITOR para nano.

Alguma sugestão?

Respostas:


37

Você pode definir a $EDITORvariável com este comando:

export EDITOR="/usr/bin/nano"

Isso definirá a variável EDITORpara a sessão atual e a passará para o ambiente de todos os seus processos filhos. Para defini-lo permanentemente, você deve defini-lo em um dos arquivos de configuração do sistema. O nível mais alto no qual você pode fazer isso é configurá-lo /etc/environment. Isso define globalmente:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
EDITOR="/usr/bin/nano"

Verifique se a variável está definida:

$ echo $EDITOR
/usr/bin/nano

Nota do editor: geralmente é preferível colocar variáveis ​​de ambiente por conta própria ~/.profile, o que é muito mais fácil de corrigir se algo der errado.


Eu adicionei a linha 'EDITOR = "/ usr / bin / nano"' ao meu arquivo / etc / environment, mas ele não parece funcionar. Preciso reiniciar?
Willoczy

Agora reinicie o sistema e as configurações serão aplicadas.
Danatela 11/03/14

inicie uma nova sessão e pronto!
Luis Siquot

3
Você não precisa reiniciar para que as alterações tenham efeito, basta executar source /etc/environmentdepois de editar o arquivo.
Cremefraiche 16/10/2015

@cremefraiche Receio que esteja incorreto. Não é um arquivo de script, portanto você não pode "fonte" dele. Seria correto para outros arquivos de configuração comuns, como .profile. O melhor que você pode fazer é sair e fazer login novamente. Essa é a única vez que o arquivo é lido. Leia esta seção curta: help.ubuntu.com/community/…
Haggra 26/07/18

18

Adicionar linha

export EDITOR=nano

para o seu ~/.profilee ~/.bashrccomo na figura a seguir. Você não colocar aspas em tornonano

insira a descrição da imagem aqui

e depois corra

source ~/.profile 
source ~/.bashrc

no prompt após a modificação .profilee .bashrcpara que a modificação entre em vigor.

insira a descrição da imagem aqui

Agora o %editin ipythonserá aberto nano.

~/.bashrc será chamado interactive + non-loginshell

considerando que ~/.profileserá necessáriointeractive + login shell

No seu caso, basta adicioná-lo em ~/.bashrcvez de ~/.profile.


1
.bashrcdeve ser usado apenas para configurações específicas do Bash (por exemplo, opções de shell, aliases, etc.), enquanto .profiledevem ser utilizados para definir variáveis de ambiente como EDITOR(que é usado por programas como sudoedit, git, etc.). Veja unix.stackexchange.com/a/3085/22812 e unix.stackexchange.com/a/42765/22812
Anthony G - justice para Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.