Estou começando a aprender bash e emacs e queria mudar meu editor padrão do vi para o emacs. Depois de passar por muitas questões interessantes em diferentes comunidades do stackexchange, eu não percebi isso e aparentemente (apenas temporariamente) estraguei meu comando v quando usei less . Agora, quando pressiono v ao ler um arquivo em less , em vez de abrir o vi (o padrão) ou o emacs (o que eu gostaria), ele não faz nada; Ou seja, ele permanece em less , até onde eu sei, e não consigo editar nenhum texto. Felizmente, ainda posso sair usando q e não percebo mais nada agindo.
O que fiz e quando as coisas mudaram:
Estou usando o emulador de terminal fornecido com o mac osX, mas eu tenho o XQuartz baixado. Usando o casco de homebrew eu instalei o emacs.
Muitas perguntas sobre o stackexchange fizeram um ótimo trabalho explicando as variáveis $EDITOR e $VISUAL que podem ser definidas no meu .bash_profile. Como meu macbook vem com uma versão mais antiga do emacs já instalada, certifiquei-me de usar a versão atual do emacs instalada pelo homebrew.
Como estou apenas começando a aprender tudo isso, não consegui determinar a melhor maneira de configurar tudo. Aqui está como eu tenho atualmente no meu .bash_profile:
# changing emacs from the default osX version to the version obtained from homebrew
alias emacs="/usr/local/Cellar/emacs/25.2/Emacs.app/Contents/MacOS/Emacs"
alias enw="emacs -nw"
# setting emacs as the editor in term instead of vi
EDITOR="enw";export EDITOR
VISUAL="enw";export VISUAL
Depois de adicionar o código acima ao meu .bash_profile, nada significativo (que eu poderia dizer) mudou. Eu usei echo para verificar se as variáveis $EDITOR e $VISUAL foram alteradas corretamente.
Quando eu usaria less para ler um arquivo, eu ainda poderia digitar v , mas meu terminal usaria o vi para editar o arquivo em vez do emacs desejado. Por isso, tentei alterar a forma como defini $EDITOR e $VISUAL , por ex. usando o caminho completo como no meu alias emacs=... com o -nw flag em vez de enw . E também tentei remover as cotações. Nada disso fez algo diferente que eu pudesse dizer.
Infelizmente, como estou apenas começando e não tenho nenhuma tarefa concreta para trabalhar, estou mexendo com comandos e arquivos básicos, e é por isso que tenho usado o comando
less . Atualmente não estou familiarizado com nenhuma outra maneira de usar a variável
$EDITOR enquanto estiver no terminal. Por isso, não tenho certeza se meu problema pertence somente a
v ou se é um problema com
$EDITOR .
Eventualmente, eu vi algumas questões relacionadas a isso, nas quais foi recomendado adicionar ALTERNATE_EDITOR="";export ALTERNATE_EDITOR , então testei sem realmente entender o porquê. Também não há diferença perceptível com o comando v em less .
Depois de mais algumas pesquisas, descobri essa pergunta, que parece ser a mais próxima do meu plano original (embora eu não estivesse tentando entender nada do jeito que eu entendi; e eu não entendo o que 'paginação' é infelizmente). Então eu mudei $EDITOR="enw" para $EDITOR="env TERM=xterm-256color enw" e foi aproximadamente quando v parou de fazer qualquer coisa enquanto lia um arquivo com less .
Antes de fazer a última adição de código, verifiquei o que é normalmente $TERM , que já era xterm-256color para mim. Agora, não estou dizendo que foi isso que atrapalhou meu comando v , mas sim a linha do tempo em que v parou de chamar o vi enquanto estava em less . Eu mudei tudo de volta para o primeiro código que eu tentei, mas v ainda não funciona para mim.
(Desculpe, isso é tão longo, apenas tentando explicar o processo caso isso ajude!) Agora, se eu comentar minhas adições $EDITOR ao meu .bash_profile, tudo volta ao normal, o que é bom, eu acho. Assim, posso usar v em less , desde que eu não esteja usando $EDITOR e $VISUAL em meu .bash_profile. No entanto, eu quero que isso mude e então é aí que está o meu dilema. Esta é provavelmente uma questão trivial, mas eu agradeceria muito qualquer conselho ou insight.
PS - Ao tentar resolver esse problema, deparei com emacsclient e posso usar esse comando, mas não entendo por que devo usá-lo em vez do meu enw .