Vim (editor de texto)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

vim ( vi melhorou ) é um programa de editor de texto baseado em tela gratuito e de código aberto. É um clone aprimorado de Bill Joy 39; S VI. O autor de Vim, Bram Moolenaar, derivou Vim de um porto do editor Stevie para Amiga e lançou uma versão para o público em 1991. Vim foi projetado para uso em uma interface da linha de comando e como um aplicativo independente em um Interface gráfica do usuário. Desde o seu lançamento para o Amiga, o desenvolvimento cruzado o disponibilizou em muitos outros sistemas. Em 2018, foi eleito o editor mais popular entre os leitores Linux Journal ; Em 2015, a Pesquisa de Desenvolvedores do Stack Overflow descobriu que era o terceiro editor de texto mais popular e, em 2019, o quinto ambiente de desenvolvimento mais popular.

HISTÓRIA

O precursor do Vim, Stevie (editor de entusiastas da VI), foi criado por Tim Thompson para o Atari St em 1987 e desenvolvido por Tony Andrews e G.R. (Fred) Walter. Foi um dos primeiros clones popularizados do VI e não usou o código -fonte do VI. O código -fonte do VI usou o editor de texto ED desenvolvido em AT & amp; t e, portanto, VI só poderia ser usado por aqueles com uma licença de origem AT & amp; Basear o VIM no código -fonte para Stevie significou que o programa poderia ser distribuído sem exigir a licença de origem AT & amp.

Baseando seu trabalho em Stevie, Bram Moolenaar começou a trabalhar no VIM para o computador Amiga em 1988, com o primeiro lançamento público (VIM v1.14) em 1991.

No momento de seu primeiro lançamento, o nome " vim " foi um acrônimo para a imitação de "vi", mas isso mudou para "VI melhorou " no final de 1993.

Histórico de liberação

Data Versão Mudanças e adições
Junho de 1987 N/A Tim Thompson lança Stevie (editor do ST para entusiastas do VI), um clone vi limitado para o Atari ST, postando a fonte no Usenet.
Junho de 1988 N/A Tony Andrews melhora Stevie, e ports para Unix e OS/2, lançando a versão 3.10 na Usenet.
1988 1.0. Bram Moolenaar cria Vi IMitation para o Amiga, baseado em Stevie, nunca lançado publicamente
2 de Novembro de 1991 1.14Primeiro lançamento público para o Amiga no disco Fred Fish #591
1992 1.22 Port to Unix, nunca lançado publicamente. Vim agora compete com viv.
14 de Dezembro de 1993 2.0 Esta é a primeira versão usando o nome Vi IMprovou.
12 de Agosto de 1994 3.0. Suporte para várias janelas
29 de Maio de 1996 4.0 Interface gráfica do usuário
19 de Fevereiro de 1998 5.Destaque de sintaxe, scripting básico (funções definidas pelo usuário, comandos, etc.)
6 de Abril de 1998 5. Correções de bugs, várias melhorias
27 de Abril de 1998 5.2 Suporte de linha longa, navegador de arquivos, diálogos, menu popup, modo de seleção, arquivos de sessão, funções e comandos definidos pelo usuário, Interface Tcl, etc.
31 de Agosto de 1998 5.3 Correções de bugs, etc.
25 de Julho de 1999 5.4 Criptografia básica de arquivos, várias melhorias
19 de Setembro de 1999 5.5 Correções de bugs, várias melhorias
16 de Janeiro de 2000 5.6 Novos arquivos de sintaxe, correções de bugs, etc.
24 de Junho de 2000 5.7 Novos arquivos de sintaxe, correções de bugs, etc.
31 de Maio de 2001 5.8 Novos arquivos de sintaxe, correções de bugs, etc.
26 de Setembro de 2001 6.Dobrar, plugins, multi-idioma, etc.
24 de Março de 2002 6.1 Correções de bugs
1 de Junho de 2003 6.2 Suporte GTK2 e libgnome2, suporte de idioma árabe,: comando de estado, características menores, correções de bugs
7 de Junho de 2004 6.3 Correções de bugs, atualizações de tradução, melhorias de marca
15 de Outubro de 2005 6.4 Correções de bugs, atualizações para suporte Perl, Python e Ruby
7 de Maio de 2006 7.0Verificação de ortografia, conclusão de código, páginas de guia (multiple viewports/window layouts), linha atual e coluna de destaque, desfazer ramos, e mais
12 de Maio de 2007 7.1 Correções de bugs, novos arquivos de sintaxe e tempo de execução, etc.
9 de Agosto de 2008 7.2Suporte de ponto flutuante em scripts, código de desenho de tela refactored, correções de bugs, novos arquivos de sintaxe, etc.
15 de Agosto de 2010 7.3 Suporte Lua, suporte Python3, criptografia Blowfish, undo/redo persistente
10 de Agosto de 2013 7.4 Um novo motor de expressão regular mais rápido.
12 de setembro de 2016 8.0 Apoio I/O assíncrono, empregos, lambdas, etc.
18 de Maio de 2018 8.1. Suporte de janela terminal e terminal gdb plugin.
13 de Dezembro de 2019 8.2 Janelas popup, propriedades de texto.
28 de Junho de 2022 9.0 Escrito de Vim9
2 de Janeiro de 2024 9.1 Classes e objetos suportam para o script Vim9, rolagem suave, texto virtual

Licença

Vim é liberado sob a licença Vim, que inclui algumas cláusulas de caridade que incentivam os usuários que gostam do software a considerar doar para crianças em Uganda. A licença VIM é compatível com a licença pública geral da GNU por meio de uma cláusula especial, permitindo a distribuição de cópias modificadas no GNU GPL versão 2.0 ou posterior.

interface

gVim 7.3

como VI, a interface do VIM não é baseada em menus ou ícones, mas nos comandos fornecidos em uma interface de usuário de texto; Seu modo GUI, GVIM , adiciona menus e barras de ferramentas para comandos comumente usados, mas a funcionalidade completa ainda é expressa através do modo de linha de comando. VI (e por extensão VIM) tende a permitir que um datilógrafo mantenha os dedos na fila da casa, o que pode ser uma vantagem para um datilógrafo.

O VIM possui um tutorial interno para iniciantes chamado Vimtutor, que geralmente é instalado junto com o VIM, mas é um executável separado e pode ser executado com um comando Shell. Os usuários do VIM ' Detalhes manuais Os recursos do VIM e podem ser lidos no VIM ou encontrados online.

Vim também possui um recurso de ajuda interno (usando o comando : ajuda ) que permite que os usuários consultem e naveguem por comandos e recursos.

Registros

VIM apresenta várias entradas de memória especiais chamadas Registros (que não devem confundir com hardware ou registros de processador). Ao cortar, excluir, copiar ou colar texto, o usuário pode optar por armazenar o texto manipulado em um registro. Existem 36 registros de uso geral associados a letras e números ([A-Z0-9]) e uma variedade de especiais que contêm valores especiais (nome do arquivo atual, último comando etc.) ou servem a um propósito especial.

modos

Modos de Vim

Como o VI, o VIM suporta vários modos de edição. Dependendo do modo, os caracteres digitados são interpretados como sequências de comandos ou são inseridos como texto. No Vim, existem 14 modos de edição, 7 modos básicos e 7 variantes:

  • Normal mode – usado para comandos de editor. Este é geralmente o modo padrão e por padrão batendo CES(86) retorna o editor para este modo.
  • inserção modo – usado para digitar texto de uma forma semelhante à maioria dos editores modernos. Neste modo, o texto aberto em buffers pode ser modificado com o texto inserido no teclado.
  • Visual modo – usado para selecionar áreas de texto. Os comandos podem ser executados na área selecionada – movendo, editando, filtrando através de comando embutido ou externo, etc.
    • Visual linewise, um subtipo de modo visual que seleciona uma ou mais linhas inteiras
    • Bloqueio visual, outro subtipo que seleciona um bloco retangular de texto em uma ou mais linhas
  • Selecione modo – semelhante ao visual, mas os comandos não são interpretados, em vez disso, texto destacado é substituído diretamente pela entrada do teclado; semelhante ao modo de seleção usado em editores em plataformas Microsoft Windows
  • Linha de comando ou Cmdline mode – fornece uma entrada de linha única na parte inferior da janela Vim. Comandos (começando com :) e algumas outras chaves para ações específicas (incluindo pesquisa de padrões e o comando de filtro) ativam este modo. Após a conclusão do comando, Vim retorna ao modo anterior.
  • Modo Ex mode – aceita uma sequência de comandos.
  • Terminal-Job mode - Interagir com um trabalho em uma janela terminal.

personalização

Vim é altamente personalizável e extensível, tornando -o uma ferramenta atraente para usuários que exigem uma grande quantidade de controle e flexibilidade sobre seu ambiente de edição de texto. A entrada de texto é facilitada por uma variedade de recursos projetados para aumentar a eficiência do teclado. Os usuários podem executar comandos complexos com as ligações de chaves, " que pode ser personalizado e estendido. O " gravação " O recurso permite a criação de macros automatizar sequências de pressionamentos de teclas e chamar funções e mapeamentos internos ou definidos pelo usuário. Abreviações, semelhantes às macros e mapeamentos de chaves, facilitam a expansão de seqüências curtas de texto em mais longas e também podem ser usadas para corrigir erros. O VIM também apresenta um " Easy " Modo para usuários que procuram uma solução de edição de texto mais simples.

Existem muitos plugins disponíveis que estendem ou adicionam novas funcionalidades ao VIM. Esses plugins geralmente são escritos na linguagem de script interna do VIM, VimScript (também conhecida como VIML), mas também podem ser escritos em outros idiomas.

Existem projetos agrupando scripts e personalizações complexas e visam transformar o VIM em uma ferramenta para uma tarefa específica ou adicionar um sabor importante ao seu comportamento. Os exemplos incluem creme, que faz com que o VIM se comporte como um editor de cliques e do tipo, ou Vimoutliner, que fornece um Outlliner confortável para usuários de sistemas semelhantes a Unix.

Recursos e melhorias sobre VI

O VIM possui um modo de compatibilidade VI, mas quando esse modo não é usado, o VIM possui muitos aprimoramentos sobre VI. No entanto, mesmo no modo de compatibilidade, o VIM não é totalmente compatível com o VI, conforme definido na especificação e POSIX do Unix único (por exemplo, o VIM não suporta o modo aberto VI, apenas o modo visual). Os desenvolvedores de Vim afirmam que é muito compatível com o VI ".

Alguns dos aprimoramentos do VIM incluem funções de conclusão, comparação e fusão de arquivos (conhecidos como Vimdiff), um sistema de ajuda integrado abrangente, expressões regulares estendidas, linguagens de script (tanto nativas quanto por meio de script alternativo, como Perl, Python, Ruby, TCL, etc.), incluindo suporte para plugins, uma interface gráfica do usuário (GVIM), recursos de ambiente de desenvolvimento integrado limitado, interação do mouse (com e sem a GUI), dobragem, edição de arquivos compactados ou arquivados em Formato e arquivos GZIP, BZIP2, ZIP e TAR e arquivos sobre protocolos de rede como SSH, FTP e HTTP, Preservação do Estado da sessão, verificação de ortografia, divisão (horizontal e vertical) e janelas com guias, unicode e outro suporte a múltiplas linguagem, destaque da sintóx , Comando de sessão trans, histórias de pesquisa e cursor, nível múltiplo e ramificação de desfazer/refazer o histórico que podem persistir nas sessões de edição e no modo visual.

Enquanto estiver em execução, o VIM salva as alterações do usuário em um arquivo de troca com o " .Swp " extensão. Este arquivo pode ser usado para se recuperar após uma falha. Se um usuário tentar abrir um arquivo e um arquivo de troca já existir, o VIM avisará o usuário e, se o usuário prosseguir, o VIM usará um arquivo de troca com a extensão " .Swo " (ou, se já houver mais de um arquivo de troca, " .Swn ", " .Swm ", etc.). O recurso pode ser desativado.

script Vim

vim script (também chamado vimScript ou viml ) é a linguagem de script incorporada em vim. Com base no idioma do editor ex do editor VI original, as primeiras versões dos comandos adicionados do VIM para o fluxo de controle e as definições de função. Desde a versão 7, o Script Vim também suporta tipos de dados mais avançados, como listas e dicionários e uma forma simples de programação orientada a objetos. Funções internas como map () e filter () permitem uma forma básica de programação funcional, e o script VIM possui lambda desde a versão 8.0. O script Vim é escrito principalmente em um estilo de programação imperativo.

As macros vim podem conter uma sequência de comandos modo normal , mas também podem invocar comandos ou funções escritos no script VIM para tarefas mais complexas. Quase todas as extensões (chamadas plug -ins ou mais comumente scripts) da funcionalidade Core Vim são escritas no script Vim, mas os plugins também podem utilizar outros idiomas como Perl, Python, Lua, Ruby, TCL ou Racket. Esses plug-ins podem ser instalados manualmente, ou através de um gerente de plug-in, como Vundle, Pathogen ou Vim-Plug.

Os arquivos de script Vim são armazenados como texto simples, da mesma forma que outro código, e a extensão do nome do arquivo geralmente é .vim . Uma exceção notável a isso é o arquivo de configuração do VIM, .vimrc .

Exemplos

" Este é o programa Hello World no roteiro de Vim.Echo "Olá, mundo!"" Este é um loop de tempo simples no script Vim.Deixa-me. Eu... = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 1enquanto Eu... < 5Echo "Conta é" Eu... Deixa-me. Eu... - Sim. 1terminarNão! Eu...

Disponibilidade

Enquanto o VI estava originalmente disponível apenas em sistemas operacionais do UNIX, o VIM foi transportado para muitos sistemas operacionais, incluindo Amigaos (a plataforma de destino inicial), Atari Mint, Beos, Dos, Windows a partir do Windows NT 3.1, OS/2, OS /390, Morphos, OpenVMS, QNX, RISC OS, Linux, BSD e Mac OS clássico. Além disso, o VIM é enviado com Apple MacOS.

Portos independentes do VIM estão disponíveis para Android e iOS.

neovim

neovim é um garfo de vim que se esforça para melhorar a extensibilidade e manutenção do vim. Alguns recursos do garfo incluem suporte de Protocolo de Idioma Igudiving (LSP), suporte para E/S assíncrona e suporte para scripts Lua usando o intérprete da linguagem Luajit. O projeto é um software livre e seu código -fonte está disponível no GitHub.

neovim tem a mesma sintaxe de configuração que o vim antes do vim9script; Assim, o mesmo arquivo de configuração pode ser usado com os dois editores, embora existam pequenas diferenças nos detalhes das opções. Se os recursos adicionais do Neovim não forem usados, o Neovim será compatível com quase todos os recursos do VIM.

O projeto Neovim foi iniciado em 2014, depois que um patch a VIM suportando multi-threading foi rejeitado. A Neovim teve uma captação de recursos bem-sucedida em março de 2014, apoiando pelo menos um desenvolvedor em tempo integral.

Vários frontends estão em desenvolvimento que utilizam os recursos da Neovim.

Com a liberação de 0,5 do Neovim em 2 de julho de 2021, ele ganhou suporte interno para o LSP, Sustent e Suporte Lua mais completo-incluindo o suporte para scripts de configuração escritos em Lua em vez de VIML.

Galeria

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save