Que editor posso usar como uma alternativa vi / vim simples?

8

Sou um usuário do Windows que vem ao Bash do Ubuntu graças a WSL . Agora eu preciso editar alguns arquivos e eu realmente odeio o Vi. Eu só tenho que lidar com isso, ou existe uma alternativa mais simples?

As funcionalidades que estou procurando são:

  • baseado em CLI
  • fácil de usar (a digitação e a edição devem ser semelhantes ao Bloco de notas)
  • recursos de edição simples são suficientes

Vou tentar dominar o Vim, mas preciso fazer uma edição rápida agora mesmo!

    
por sebagomez 29.05.2017 / 22:06

5 respostas

16

Se você está procurando um editor alternativo, não está sozinho. Basicamente, a vida é muito curta para aprender vi e eu digo que este é um desenvolvedor de software para ganhar a vida. No entanto, você deve aprender como sair dele porque é um problema para um de 20k programadores . Também pode valer a pena realizar algumas operações básicas de anexação / inserção, porque em alguns servidores teimosos você não encontrará nenhum outro editor.

Agora, a resposta à sua pergunta é provavelmente nano .

Se você estiver executando algum script de compilação automatizado, usando git ou executando outros comandos, eles poderão abrir vim sem que você deseje. Você pode evitar isso executando o seguinte antes de prosseguir:

export EDITOR=nano
    
por Andrea Lazzarotto 29.05.2017 / 22:14
8

É uma questão de opinião.

Iniciantes usam o nano link .

O vim (vi melhor) tem uma curva de aprendizado, mas é muito poderoso - veja link ou quaisquer guias vim ou o tutorial vim, vimtutor (incluído no vim)

Por enquanto eu sugiro nano

nano -B /path/to/file/to/edit

-B faz um backup;)

Os comandos são emitidos com a chave de controle e são listados na parte inferior da janela do editor.

Para um guia sobre o realce de sintaxe, consulte Como habilitar o realce de sintaxe em nano?

O emacs é uma alternativa tanto para o vim quanto para o nano e tem muitos benefícios também. O emacs é mais complexo que o nano.

Veja o link

Apenas para completar, vim + temas como o Zenburn podem ser bastante úteis

    
por Panther 29.05.2017 / 22:16
2
  

Você já se sentiu frustrado porque seu editor de texto não estava fazendo o que   você queria? Irritado que você não consegue lembrar ...

     
  • ... como encontrar ajuda?
  •   
  • ... o que: wq significa?
  •   
  • ... algum do pequeno lisper   que você leu como estudante de graduação?
  •   

Um mundo pequeno e corajoso aguarda!

Enquanto defendemos nossos editores de texto leves favoritos, deixe-me recomendar o xo (exofrills) eXcellent, minúsculo e rápido .

É um único arquivo do Python 3 e tem um bom suporte para o realce de sintaxe por meio do Pygments (embora não seja perfeito com o não-Python):

Ele também possui combinações de teclas extremamente simples e úteis que podem ser prontamente e facilmente alteradas para o conteúdo do seu coração:

Outras funcionalidades:

  
  • Menos de 850 linhas de código em um único arquivo!
  •   
  • Destaque de sintaxe!
  •   
  • Expressão regular correspondente e substituindo!
  •   
  • Cache de histórico de pesquisa!
  •   
  • WTFPL licenciado!
  •   
  • Totalmente personalizável!
  •   
  • Comece nos locais sem origem!
  •   
  • Hop entre palavras em uma linha!
  •   
  • Ir para qualquer lugar no arquivo!
  •   
  • Inserção completa de arquivos!
  •   
  • Iniciante amigável - talvez você seja novo nas palavras!
  •   
  • Copie e cole o texto!
  •   
  • Status da linha e da coluna!
  •   
  • Apenas uma linha de espaço de edição sem texto!
  •   
  • Ambas salvando & amp; carregando!
  •   

A fonte do Python3 é no github , e você pode instalá-lo mais facilmente usando:

sudo apt install python3-pip
sudo pip3 install exofrills 
  

exofrills: seu texto foi editado ... mas você ainda está com fome.

Isenção de responsabilidade: não estou de forma alguma afiliado ao projeto exofrills.

    
por cat 29.05.2017 / 23:36
1

como um poweruser do windows, depois de tentar vim e nano , descobri que preciso de algo intermediário, em termos de complexidade. então eu tentei tapa e era a coisa que eu estava procurando.

  

slap é um editor de texto baseado em terminal semelhante ao Sublime que se esforça para fazer   editando a partir do terminal mais fácil.

instalação:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh
    
por Soorena 04.02.2018 / 21:06
0

Embora não possa negar que eu também tenha lutado com o vi no começo, acho que é possível argumentar que o vi é realmente muito simples de aprender. (Quando eu comecei a usar o Unix, a escolha era vi ou emacs, então na época eu escolhi, sendo um editor de linhas muito simples, que eu já aprendi lendo os primeiros livros do Unix.) Eu uso vi diariamente, mas eu provavelmente use apenas um subconjunto muito pequeno de seus recursos.

Aqui está primeiro um argumento para usar o vi: vi existe em todos os sistemas, usa poucos recursos e pode ser usado em conexões instáveis e lentas, onde outros editores podem falhar ou ser lentos e inutilizáveis. Ou, em situações em que o sistema está quebrado, as teclas de seta não são interpretadas corretamente (configurações de terminologia incorretas, por exemplo). Portanto, o vi pode ser usado para corrigir os arquivos de configuração que levam ao problema, sem ser afetado pelo problema.

E aqui está como aprender um subconjunto útil do vi: Primeiro: pare de pensar no vi como um "editor" de interface gráfica e terminal, e veja-o como uma linguagem de programação para manipular arquivos de texto. No início, "vi" significava o modo visual, e o vi tem uma contraparte não-visual ex, que é um bom lugar para começar. Digite ex no prompt do shell (vou usar ¬ para representar o retorno):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

Agora pressione enter.

:¬
E749: empty buffer
:

Então, vamos colocar algo nele. Digite "a¬" e digite uma linha de texto e, em seguida, um ponto em uma linha:

:a¬
Hello World¬
.¬
:

Esse foi o comando append. Fácil, curto e mnemônico. Mas seria legal ver o que está no buffer:

:%p¬
Hello World
:

Esse foi o comando de impressão, p, obviamente. O% é uma abreviação do intervalo de linhas. Cada comando pode ser precedido por um número ou intervalo de linha ao qual o comando deve se aplicar. % significa "todas as linhas". $ significa a última linha e um ponto significa a linha atual. Um número significa essa linha particular. Um intervalo é escrito n, me um número pode ser adicionado ou subtraído, portanto, + 1, $ - 1 significam da próxima linha até a segunda e última linha. Um comando que consiste em apenas um número de linha vai para essa linha. Aqui está o pequeno subconjunto de comandos que eu uso:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w escreve todas as linhas (ou o intervalo escolhido) para um arquivo.

:1d¬

exclui a linha 1.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s substitui uma expressão regular. É bom saber expressões regulares!

:q¬
E37: No write since last change (add ! to override)

q sai. wq escreve e sai. q! sai sem escrever, e de uma forma semelhante, w! força uma gravação em um arquivo, se possível.

Agora é legal:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

como um comando filtra as linhas em um comando shell.

E finalmente:

:vi¬

entra no modo VISUAL. Não se deixe enganar. Parece um editor, mas ainda é apenas um shell de programação interativa. Você só consegue olhar para o buffer o tempo todo e mais alguns comandos. No modo visual a: mostra o prompt: do modo ex. As teclas de seta (se elas funcionam) se movem, e se não, então faça o hjkl! h esquerda, j para baixo, k para cima e l direita. 0 move para o primeiro caractere e ^ (pense em regex aqui!) Para o primeiro caractere não espacial na linha. $ (regex novamente!) se move para o final da linha. Digitando: 999¬ vai para a linha 999, naturalmente, assim como no modo ex.

"i" entra no modo de inserção, que agora insere caracteres em vez de linhas e termina com a ação de pressionar o escape em vez de ".¬". "Eu" insere no início, "a" depois do caractere abaixo do cursor e "A" após o final da linha atual. Sempre pressione escape quando terminar de digitar o texto. "x" apaga o caractere sob o cursor e "D" apaga do cursor para o final da linha. "Y" puxa (copia) a linha atual e "P" cola-a de volta. ": pu" faz o mesmo, mas pode ser precedido por um número de linha. ": ya" é o ex equivalente de "Y" e, novamente, é útil para aplicar a um intervalo de linha. Eu acho que há um comando de marca também, mas admito que não me lembro disso. Eu não sinto falta disso.

O acima é o que eu uso, e eu sei que eu provavelmente não sou um usuário vi muito "eficiente". Por outro lado, eu uso a versatilidade do ex, por exemplo, para editar arquivos de configuração de scripts. Precisa mudar seu nome de host foo.bar.com para www.foobar.com em vários arquivos conf?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

O que estou tentando dizer é que eu acho que o problema com o vi é que as pessoas pensam nele como um editor difícil. Tudo o que precisamos é mudar um pouco a sua mentalidade e encará-la como uma linguagem de programação interativa muito simples, mas também muito poderosa. Tão poderoso que, mesmo com um subconjunto dos comandos disponíveis, você pode usá-lo com grande efeito - não apenas como um editor, mas como uma ferramenta geral e scriptável, bem integrada com o restante do Unix. Eu duvido que o nano faria tudo isso - emacs ... talvez.

    
por LHP 30.05.2017 / 01:32