vim - Vi IMproved, um editor de texto para programadores
SINTAXE
vim [opções] [arquivo ..]
vim [opções] vim [opções] -t tag
vim [opções] -q [arquivo de erros]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
DESCRIÇÃO
Vim é um editor de texto que é compatível com o Vi. Pode ser usado para editar todos os tipos de texto simples. É especialmente útil para editar programas.
Existem muitos aprimoramentos em relação ao Vi: desfazer em vários níveis, várias janelas e buffers, realce de sintaxe, edição de linha de comando, preenchimento de nomes de arquivos, ajuda online, seleção visual, etc. Consulte ":help vi_diff.txt" para um resumo das diferenças entre Vim e Vi.
Ao executar o Vim, muita ajuda pode ser obtida no sistema de ajuda online, com o comando ":help". Consulte a seção AJUDA ONLINE abaixo.
Na maioria das vezes, o Vim é iniciado para editar um único arquivo com o comando
vim arquivo
De modo mais geral, o Vim é iniciado com:
vim [opções] [lista de arquivos]
Se a lista de arquivos estiver ausente, o editor será iniciado com um buffer vazio. Caso contrário, exatamente um dos quatro itens a seguir pode ser usado para escolher um ou mais arquivos para serem editados.
arquivo .. Uma lista de nomes de arquivos. O primeiro será o arquivo atual e será lido no buffer. O cursor será posicionado na primeira linha do buffer. Você pode acessar os outros arquivos com o comando ":next". Para editar um arquivo que começa com um hífen, preceda a lista de arquivos com "--".
- O arquivo a ser editado é lido de stdin. Os comandos são lidos de stderr, que deve ser um terminal.
-t {tag} O arquivo a ser editado e a posição inicial do cursor dependem de uma "tag", uma espécie de rótulo de goto. {tag} é procurado no arquivo de tags, o arquivo associado se torna o arquivo atual e o comando associado é executado. Principalmente, isso é usado para programas C, caso em que {tag} pode ser um nome de função. O efeito é que o arquivo que contém essa função se torna o arquivo atual e o cursor é posicionado no início da função. Consulte ":help tag-commands".
-q [arquivo de erros]
Inicie no modo quickFix. O arquivo [arquivo de erros] é lido e o primeiro erro é exibido. Se [arquivo de erros] for omitido, o nome do arquivo é obtido da opção 'errorfile' (o padrão é "AztecC.Err" para o Amiga, "errors.err" em outros sistemas). Erros adicionais podem ser acessados com o comando ":cn". Consulte ":help quickfix".
O Vim se comporta de maneira diferente, dependendo do nome do comando (o arquivo executável ainda pode ser o mesmo).
vim A maneira "normal", tudo é padrão.
ex Inicie no modo Ex. Vá para o modo Normal com o comando ":vi". Também pode ser feito com o argumento "-e".
view Inicia no modo somente leitura. Você estará protegido contra a gravação dos arquivos. Também pode ser feito com o argumento "-R".
gvim gview
A versão GUI. Inicia uma nova janela. Também pode ser feito com o argumento "-g".
evim eview
A versão GUI no modo fácil. Inicia uma nova janela. Também pode ser feito com o argumento "-y".
rvim rview rgvim rgview
Semelhante ao acima, mas com restrições. Não será possível iniciar comandos de shell ou suspender o Vim. Também pode ser feito com o argumento "-Z".
OPÇÕES
As opções podem ser fornecidas em qualquer ordem, antes ou depois dos nomes dos arquivos. As opções sem um argumento podem ser combinadas após um único hífen.
+[num] Para o primeiro arquivo, o cursor será posicionado na linha "num". Se "num" estiver faltando, o cursor será posicionado na última linha.
+/{pat} Para o primeiro arquivo, o cursor será posicionado na linha com a primeira ocorrência de {pat}. Consulte ":help search-pattern" para os padrões de pesquisa disponíveis.
+{command}
-c {command}
{command} será executado após a leitura do primeiro arquivo. {command} é interpretado como um comando Ex. Se o {command} contiver espaços, ele deve ser colocado entre aspas duplas (isso depende do shell que está sendo usado). Exemplo: vim "+set si" main.c
Observe: você pode usar até 10 comandos "+" ou "-c".
-A Se o Vim foi compilado com suporte ARÁBICO para edição de arquivos orientados da direita para a esquerda e mapeamento de teclado árabe, esta opção inicia o Vim no modo árabe, ou seja, 'arabic' é definido. Caso contrário, uma mensagem de erro é exibida e o Vim é interrompido.
-b Modo binário. Algumas opções serão definidas que tornam possível editar um arquivo binário ou executável.
-C Compatível. Define a opção 'compatible'. Isso fará com que o Vim se comporte principalmente como o Vi, mesmo que um arquivo .vimrc exista.
-d Inicia no modo de diferença. Deve haver entre dois e oito argumentos de nome de arquivo. O Vim abrirá todos os arquivos e mostrará as diferenças entre eles. Funciona como vimdiff(1).
-d {device}, -dev {device}
Abre {device} para uso como um terminal. Apenas no Amiga. Exemplo: "-d con:20/30/600/150".
-D Depuração. Entra no modo de depuração ao executar o primeiro comando de um script.
-e Inicia o Vim no modo Ex, assim como o executável foi chamado de "ex".
-E Inicia o Vim no modo Ex aprimorado, assim como o executável foi chamado de "exim".
-f Em primeiro plano. Para a versão GUI, o Vim não bifurcará e se desconectará do shell no qual foi iniciado. No Amiga, o Vim não é reiniciado para abrir uma nova janela. Esta opção deve ser usada quando o Vim é executado por um programa que aguardará o término da sessão de edição (por exemplo, e-mail). No Amiga, os comandos ":sh" e ":!" não funcionarão.
-F Se o Vim foi compilado com suporte FKMAP para edição de arquivos orientados da direita para a esquerda e mapeamento de teclado Farsi, esta opção inicia o Vim no modo Farsi, ou seja, 'fkmap' e 'rightleft' são definidos. Caso contrário, uma mensagem de erro é exibida e o Vim é interrompido.
Observação: o suporte Farsi foi removido no patch 8.1.0932.
-g Se o Vim foi compilado com suporte à GUI, esta opção habilita a GUI. Se nenhum suporte à GUI foi compilado, uma mensagem de erro é exibida e o Vim é encerrado.
-H Se o Vim foi compilado com suporte a RIGHTLEFT para edição de arquivos orientados da direita para a esquerda e mapeamento de teclado hebraico, esta opção inicia o Vim no modo hebraico, ou seja, 'hkmap' e 'rightleft' são definidos. Caso contrário, uma mensagem de erro é exibida e o Vim é encerrado.
-i {viminfo}
Especifica o nome do arquivo a ser usado ao ler ou gravar o arquivo viminfo, em vez do padrão "~/.viminfo". Isso também pode ser usado para ignorar o uso do arquivo .viminfo, fornecendo o nome "NONE".
-l Modo Lisp. Define as opções 'lisp' e 'showmatch'.
-L O mesmo que -r.
-m A modificação de arquivos é desabilitada. Redefine a opção 'write'. Você ainda pode modificar o buffer, mas gravar um arquivo não é possível.
-M Modificações não permitidas. As opções 'modifiable' e 'write' serão desativadas, para que as alterações não sejam permitidas e os arquivos não possam ser gravados. Observe que essas opções podem ser definidas para permitir que as modificações sejam feitas.
-n Nenhum arquivo de troca será usado. A recuperação após uma falha será impossível. Útil se você quiser editar um arquivo em uma mídia muito lenta (por exemplo, disquete). Também pode ser feito com ":set uc=0". Pode ser desfeito com ":set uc=200".
-N Modo não compatível. Redefine a opção 'compatible'. Isso fará com que o Vim se comporte um pouco melhor, mas seja menos compatível com o Vi, mesmo que um arquivo .vimrc não exista.
-nb Torna-se um editor de servidor para NetBeans. Consulte a documentação para obter detalhes.
-o[N] Abre N janelas empilhadas. Quando N é omitido, abre uma janela para cada arquivo.
-O[N] Abre N janelas lado a lado. Quando N é omitido, abre uma janela para cada arquivo.
-p[N] Abre N páginas de guias. Quando N é omitido, abre uma página de guia para cada arquivo.
-P {parent-title}
Apenas GUI Win32: especifica o título do aplicativo pai. Quando possível, o Vim será executado em uma janela MDI dentro do aplicativo. {parent-title} deve aparecer no título da janela do aplicativo pai. Certifique-se de que seja específico o suficiente. Observe que a implementação ainda é primitiva. Não funcionará com todos os aplicativos e o menu não funcionará.
-r Lista os arquivos de troca, com informações sobre o uso deles para recuperação.
-r {file} Modo de recuperação. O arquivo de troca é usado para recuperar uma sessão de edição interrompida. O arquivo de troca é um arquivo com o mesmo nome do arquivo de texto com ".swp" anexado. Consulte ":help recovery".
-R Modo somente leitura. A opção 'readonly' será definida. Você ainda pode editar o buffer, mas será impedido de sobrescrever acidentalmente um arquivo. Se você quiser sobrescrever um arquivo, adicione um ponto de exclamação ao comando Ex, como em ":w!". A opção -R também implica a opção -n (veja acima). A opção 'readonly' pode ser redefinida com ":set noro". Consulte ":help 'readonly'".
-s Modo silencioso. Apenas quando iniciado como "Ex" ou quando a opção "-e" foi fornecida antes da
opção "-s".
-s {scriptin}
O arquivo de script {scriptin} é lido. Os caracteres no arquivo são interpretados como se você os tivesse digitado. O mesmo pode ser feito com o comando ":source! {scriptin}". Se o final do arquivo for alcançado antes que o editor saia, mais caracteres são lidos do teclado.
-S {file} {file} será usado após a leitura do primeiro arquivo. Isso é equivalente a -c
"source {file}". {file} não pode começar com '-'. Se {file} for omitido, "Session.vim"
será usado (funciona apenas quando -S é o último argumento).
-T {terminal}
Informa ao Vim o nome do terminal que você está usando. Necessário apenas quando a forma automática não funcionar. Deve ser um terminal conhecido pelo Vim (integrado) ou definido no arquivo termcap ou terminfo.
-u {vimrc} Use os comandos no arquivo {vimrc} para inicializações. Todas as outras
inicializações são ignoradas. Use isso para editar um tipo especial de arquivos. Também pode ser usado
para pular todas as inicializações, fornecendo o nome "NONE". Consulte ":help initialization"
dentro do vim para obter mais detalhes.
-U {gvimrc} Use os comandos no arquivo {gvimrc} para inicializações da GUI. Todas as outras
inicializações da GUI são ignoradas. Também pode ser usado para pular todas as inicializações da GUI,
fornecendo o nome "NONE". Consulte ":help gui-init" dentro do vim para obter mais detalhes.
-v Inicie o Vim no modo Vi, como se o executável fosse chamado "vi". Isso só tem efeito
quando o executável é chamado de "ex".
-V[N] Verbose. Fornece mensagens sobre quais arquivos são usados e para leitura e gravação de um
arquivo viminfo. O número opcional N é o valor de 'verbose'. O padrão é 10.
-V[N]{filename}
Semelhante a -V e define 'verbosefile' como {filename}. O resultado é que as mensagens não são exibidas, mas gravadas no arquivo {filename}. {filename} não deve começar com um dígito.
-w{number} Define a opção 'window' como {number}.
-w {scriptout}
Todos os caracteres que você digita são gravados no arquivo {scriptout} até que você saia do Vim. Isso é útil se você quiser criar um arquivo de script para ser usado com "vim -s" ou ":source!". Se o arquivo {scriptout} existir, os caracteres são anexados.
-W {scriptout}
Semelhante a -w, mas um arquivo existente é sobrescrito.
-x Se o Vim foi compilado com suporte a criptografia, use criptografia ao gravar arquivos.
Solicitará uma chave de criptografia.
-X Não se conecta ao servidor X. Reduz o tempo de inicialização em um terminal, mas o
título da janela e a área de transferência não serão usados.
-Y Não se conecta ao compositor Wayland
-y Inicie o Vim no modo fácil, como se o executável fosse chamado de "evim" ou "eview".
Faz com que o Vim se comporte como um editor de clique e digitação.
-Z Modo restrito. Funciona como se o executável fosse iniciado com "r".
-- Indica o fim das opções. Os argumentos após este serão tratados como um nome de arquivo.
Isso pode ser usado para editar um nome de arquivo que começa com "-".
--clean Não use nenhuma configuração pessoal (vimrc, plugins, etc.). Útil para verificar se um
problema se reproduz com uma configuração Vim limpa.
--cmd {comando}
Semelhante a usar "-c", mas o comando é executado imediatamente antes do processamento de qualquer arquivo vimrc.
Você pode usar até 10 desses comandos, independentemente dos comandos "-c".
--echo-wid Apenas GUI GTK: Imprime o ID da janela em stdout.
--gui-dialog-file {nome}
Ao usar a GUI, em vez de exibir uma caixa de diálogo, grava o título e a mensagem da
caixa de diálogo no arquivo {nome}. O arquivo é criado ou anexado. Útil apenas para testes,
para evitar que o teste fique preso em uma caixa de diálogo que não pode ser vista. Sem a GUI,
o argumento é ignorado.
--help, -h, -?
Fornece uma breve ajuda sobre os argumentos e opções da linha de comando. Após isso, o Vim é encerrado.
--literal Interpreta os argumentos de nome de arquivo literalmente, não expande curingas. Isso não tem efeito no
Unix, onde o shell expande os curingas.
--log {nome do arquivo}
Se o Vim foi compilado com os recursos eval e channel, inicia o registro e grava as entradas em {nome do arquivo}. Isso funciona como chamar ch_logfile({nome do arquivo}, 'ao') muito
no início da inicialização.
--nofork Foreground. Para a versão GUI, o Vim não será bifurcado e destacado do shell em que foi
iniciado.
--noplugin Ignora o carregamento de plugins. Implícito por -u NONE.
--not-a-term
Informa ao Vim que o usuário sabe que a entrada e/ou saída não estão conectadas a um terminal. Isso evitará o aviso e o atraso de dois segundos que ocorreriam.
--remote Conecta-se a um servidor Vim e o faz editar os arquivos fornecidos no restante dos argumentos. Se nenhum servidor for encontrado, um aviso é dado e os arquivos são editados no Vim atual.
--remote-expr {expressão}
Conecta-se a um servidor Vim, avalia {expressão} nele e imprime o resultado em stdout.
--remote-send {teclas}
Conecta-se a um servidor Vim e envia {teclas} para ele.
--remote-silent
Como --remote, mas sem o aviso quando nenhum servidor é encontrado.
--remote-wait
Como --remote, mas o Vim não é encerrado até que os arquivos tenham sido editados.
--remote-wait-silent
Como --remote-wait, mas sem o aviso quando nenhum servidor é encontrado.
--serverlist
Lista os nomes de todos os servidores Vim que podem ser encontrados.
--servername {nome}
Usa {nome} como o nome do servidor. Usado para o Vim atual, a menos que usado com um argumento --remote,
então é o nome do servidor ao qual se conectar. Se o backend socketserver estiver sendo usado, se o nome começar com "/", "./" ou "../", ele é tratado como um caminho absoluto, relativo ou relativo para o socket.
--clientserver {backend}
Usa {backend} como o backend para a funcionalidade clientserver, seja "socket" ou "x11",
respectivamente. Disponível apenas quando compilado com ambos os recursos socketserver e X11
presentes.
--socketid {id}
Apenas GUI GTK: Use o mecanismo GtkPlug para executar o gVim em outra janela.
--startuptime {file}
Durante a inicialização, escreva mensagens de tempo para o arquivo {fname}.
--ttyfail
Quando stdin ou stdout não for um terminal (tty), saia imediatamente.
--version
Imprima informações da versão e saia.
--windowid {id}
Apenas GUI Win32: Faça com que o gVim tente usar a janela {id} como pai, para que seja executado dentro dessa janela.
AJUDA ONLINE
Digite ":help" no Vim para começar. Digite ":help assunto" para obter ajuda sobre um assunto específico. Por
exemplo: ":help ZZ" para obter ajuda sobre o comando "ZZ". Use
ARQUIVOS
/usr/local/share/vim/vim??/doc/*.txt
Os arquivos de documentação do Vim. Use ":help doc-file-list" para obter a lista completa.
vim?? é a versão curta, como vim91 para o Vim 9.1
/usr/local/share/vim/vim??/doc/tags
O arquivo de tags usado para encontrar informações nos arquivos de documentação.
/usr/local/share/vim/vim??/syntax/syntax.vim
Inicializações de sintaxe em todo o sistema.
/usr/local/share/vim/vim??/syntax/*.vim
Arquivos de sintaxe para várias linguagens.
/usr/local/share/vim/vimrc
Inicializações do Vim em todo o sistema.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Suas inicializações pessoais do Vim (o primeiro encontrado é usado).
/usr/local/share/vim/gvimrc
Inicializações do gvim em todo o sistema.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Suas inicializações pessoais do gVim (o primeiro encontrado é usado).
/usr/local/share/vim/vim??/optwin.vim
Script usado para o comando ":options", uma maneira agradável de visualizar e definir opções.
/usr/local/share/vim/vim??/menu.vim
Inicializações de menu em todo o sistema para o gVim.
/usr/local/share/vim/vim??/bugreport.vim
Script para gerar um relatório de bug. Veja ":help bugs".
/usr/local/share/vim/vim??/filetype.vim
Script para detectar o tipo de um arquivo pelo seu nome. Veja ":help 'filetype'".
/usr/local/share/vim/vim??/scripts.vim
Script para detectar o tipo de um arquivo pelo seu conteúdo. Veja ":help 'filetype'".
/usr/local/share/vim/vim??/print/*.ps
Arquivos usados para impressão PostScript.
Para obter informações recentes, leia a página inicial do VIM:
<URL:http://www.vim.org/>
VEJA TAMBÉM
vimtutor(1)
AUTOR
A maior parte do Vim foi criada por Bram Moolenaar, com muita ajuda de outros. Veja ":help credits" no Vim. O Vim é baseado no Stevie, trabalhado por: Tim Thompson, Tony Andrews e G.R. (Fred) Walter. Embora quase nenhum do código original permaneça.
BUGS
Provavelmente. Veja ":help todo" para uma lista de problemas conhecidos. Note que algumas coisas que podem ser consideradas bugs por alguns, são, na verdade, causadas por uma reprodução muito fiel do comportamento do Vi. E se você acha que outras coisas são bugs "porque o Vi faz de forma diferente", você deve dar uma olhada mais de perto no arquivo vi_diff.txt (ou digite :help vi_diff.txt quando estiver no Vim). Veja também as opções 'compatible' e 'cpoptions'.