Existem casos em que o vi é a única opção?

22

Existem cenários em que vi é a única opção para criar, editar ou modificar um arquivo em um ambiente Ubuntu?

A minha pergunta é basicamente saber realmente se existe tal caso em que eu seria forçado a usar vi porque seria a única opção disponível em um caso particular no ecossistema do Ubuntu.

Poderia existir um caso específico em que de alguma forma eu não teria acesso a outras opções como nano , pico ou simplesmente enviar as informações com ferramentas como cat , sed , tee e mais?

Eu diria que isso é mais do lado do servidor ou da nuvem, já que na área de trabalho há muito mais opções, mas de qualquer um que usa muito o terminal eu pergunto:

Existe tal caso?

    
por Luis Alvarado 27.08.2014 / 19:17

10 respostas

32

Dentro do ecossistema Ubuntu , eu não acho que esse caso pode existir , já que vi seria pelo menos um vim-tiny, que já é um " real vim ”longe de“ real vi . ”

No contexto de sistemas incorporados com recursos limitados , que normalmente não são o Ubuntu, você pode ter apenas um vi que se torna um link para busybox . E não sobrou espaço. Então, vi é a única opção.

Além disso, acho que situações em que vi a única opção é não é muito comum hoje, mesmo fora do mundo Linux .

Mas pode haver situações em que vi é a única opção que você pode planejar para , a única opção que certamente existirá em alguma situação futura - o que acontecerá dentro da sala de servidores super-refrigerada do cliente, provavelmente.

Imagine que você é chamado por um cliente:

  

Cliente: Preciso consertar essa configuração! Agora!! Não sei como, mas posso dizer onde está o arquivo de configuração. Você pode me ajudar!?!

     

Você: Ok, em que tipo de sistema está sendo executado?

     

Cliente: Ah, está no servidor foo, ahh ... ele está em execução ... não lembra, algo com "ix" no final ou mayeb com "ux" ...

Não há problema, você já sabe que haverá vi !

    
por Volker Siegel 27.08.2014 / 20:01
17

O Vi nunca é a única opção; Você sempre pode usar ed em seu lugar.

    
por evilsoup 27.08.2014 / 20:17
13

Bem, há um caso em que você precisa do editor vi , vamos supor:

  • não há interface gráfica
  • você está em algum estranho *nix system
  • o seu terminal está assim:

  • você tem pessoas suficientes assim:

Como você pode ver, não há nenhum teclado numérico . Com o antigo vi (e refiro-me ao original tradicional vi , não vim , vim.tiny ou vim.basic ) você pode editar um arquivo com este teclado. Sem as teclas de seta ? Sim, quando você está no modo de comando você percorreu o arquivo com h , j , k e l , como um profissional. h foi deixado, j estava inativo, k estava ativo e l estava certo.

    
por chaos 27.08.2014 / 20:39
6

O fato é que, em muitas distribuições, editores como nano e pico simplesmente não são padrão enquanto outros pacotes, ou seja, vim-tiny são. Veja aqui a lista de pacotes do ubuntu-minimal, vim-tiny é o único editor . De acordo com esta resposta, parece ser o caso do servidor Ubuntu, também. Eu sei que este é o caso da base Debian, Fedora também.

Assim sendo, se você tiver nano em seu sistema, ainda não vi um caso em que você teria que usar vi , mas, respondendo à resposta de @ Volker, se estiver trabalhando para um cliente e não tem acesso root? apt-get install nano não vai te fazer muito bem (se tiver acesso à internet externa!).

    
por Mitch 27.08.2014 / 20:02
4

Há um número de casos em que vi (e por isso, naturalmente, quero dizer vim.tiny porque é para isso que enviamos) poderia ser o único editor interativo. Se ignorarmos borboletas e raios cósmicos, essas parecem ser as ocasiões mais prováveis onde isso pode acontecer:

  • Você está usando somente o meta-pacote ubuntu-minimal base. Isso depende de vim-tiny , mas não de outros editores. Não consigo encontrar uma maneira de instalar o Ubuntu sem a tarefa standard^ , mas você pode removê-lo após a instalação com:

    sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print }')
    

    Tenho uma experiência pessoal em que recebi uma imagem do sistema sem a tarefa standard^ instalada. Se eu não tivesse acesso à rede vi teria sido minha única opção.

  • Chrooting em um ambiente que mapeou apenas vi até

  • Manipulando manualmente todos os outros editores (e desativando os meios para reinstalá-los)

  • Quebrando manualmente o shell para parar editores conhecidos, exceto vi sendo lançado.

Uma instalação verdadeiramente mínima será o motivo mais provável, mas esses são bastante raros nos dias de hoje. Alguns VPS e empresas de hospedagem em nuvem os usam (para economizar espaço em disco, tanto quanto qualquer outra coisa), mas eu sugiro que eles definitivamente não são a norma.

    
por Oli 29.08.2014 / 09:38
2

Aqui está o caso onde o vim é a única opção dentro do ecossistema do Ubuntu: Ubuntu Snappy não vem com nenhum editor de texto diferente de vim-tiny . Talvez no futuro, haverá um, mas não a partir de 2015-16. Se você estiver usando o Ubuntu Snappy sobre o console serial ou o ssh, é melhor estar preparado para usar vim .

    
por Sergiy Kolodyazhnyy 20.03.2016 / 08:19
2

Nos casos em que você não conseguir instalar o emacs, ou nos casos em que precisar modificar um arquivo de configuração para permitir a instalação do emacs. :-p

    
por Craig 28.08.2014 / 10:09
2

Muitas instalações (mais?) do Busy-Box têm apenas vi .

Não é específico do Ubuntu, mas é verdade para muitos dispositivos embarcados.

    
por Fake Name 28.08.2014 / 11:35
2

Sempre tem gato, cabeça, cauda ... então não tenho certeza se existe um sistema onde você não tem alternativa, mas é possível encontrar sistemas onde não existe uma alternativa melhor mesmo se você preferir emacs.

Meu exemplo foi um sistema que eu administrava uma vez, que era tão lento (ou a linha era lenta e com perdas), que quando navegava com teclas de cursor, muitas vezes mudava para inserir e injetava lixo no arquivo editado, e usando O HJKL para o movimento foi a única opção confiável.

    
por Edheldil 28.08.2014 / 18:50
0

Eu me meti numa situação em que apenas o linemode do vi estava funcionando. Algo que tem a ver com ter realmente estragado as definições dos terminais. Basicamente apenas vi no linemode (isto se comporta como o vi normal se você fingir que tem um terminal de 1 linha), ex e ed iam funcionar porque a única definição de terminal era "burra".

    
por Joshua 29.08.2014 / 23:35

Tags