28
vi vi 1 Editando com vi Editando com vi

Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

Embed Size (px)

Citation preview

Page 1: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 11

Editando com viEditando com vi

Page 2: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 22

Por que vi?Por que vi?

Editar arquivos de configuraçãoEditar arquivos de configuração Editar scripts de shellEditar scripts de shell Disponível em todas as distribuiçõesDisponível em todas as distribuições Necessita muito poucos recursos instaladosNecessita muito poucos recursos instalados Funciona quando quase tudo mais parouFunciona quando quase tudo mais parou

Page 3: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 33

Como obter ajuda?Como obter ajuda?

Digitar Digitar man viman vi no prompt do shell no prompt do shell

Se estiver no Se estiver no vivi pressionar pressionar ESCESC seguido seguido de de :help:help

Page 4: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 44

O que é vi?O que é vi?

Editor de textos e não processador de textosEditor de textos e não processador de textos

Não é sistema de editoração eletrônicaNão é sistema de editoração eletrônica

Notepad sem necessidade de recursos Notepad sem necessidade de recursos gráficosgráficos

Page 5: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 55

Modos de operaçãoModos de operação

Modo comando (modo inicial)Modo comando (modo inicial) O que é digitado é interpretado como comandoO que é digitado é interpretado como comando comandos para salvar arquivos, substituir, etccomandos para salvar arquivos, substituir, etc

Modo entrada de textoModo entrada de texto tudo que é digitado é aceito como texto do tudo que é digitado é aceito como texto do

arquivo que está sendo editadoarquivo que está sendo editado

Page 6: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 66

BuffersBuffers

Durante o processo de edição tudo que é Durante o processo de edição tudo que é digitado é armazenado em um bufferdigitado é armazenado em um buffer

Texto somente é armazenado quando um Texto somente é armazenado quando um comando de gravação é dadocomando de gravação é dado

Ciclos edição-gravação podem ser repetidos Ciclos edição-gravação podem ser repetidos livrementelivremente

Page 7: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 77

Como usar?Como usar?

Digitar na linha de comandoDigitar na linha de comando$ vi [opções] [nome_arquivo]vi [opções] [nome_arquivo]

A tela é limpa e aparece um til (sinal de buffer A tela é limpa e aparece um til (sinal de buffer vazio) no lado esquerdo de cada linha da tela, vazio) no lado esquerdo de cada linha da tela, exceto na primeiraexceto na primeira

Cursor aparece na primeira linhaCursor aparece na primeira linha ~ ~ ~

Page 8: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 88

Comandos para inserir textoComandos para inserir textoCCoommaannddoo AAççããoo

aa IInncclluuii tteexxttoo aappóóss ccuurrssoorr

AA IInncclluuii tteexxttoo nnoo ffiimm ddaa lliinnhhaa aattuuaall

II IInncclluuii tteexxttoo aanntteess ddoo ccuurrssoorr

II IInncclluuii tteexxttoo nnoo iinníícciioo nnaa lliinnhhaaaattuuaall

oo CCrriiaa lliinnhhaa aabbaaiixxoo ddaa lliinnhhaa aattuuaall eeiinncclluuii tteexxttoo

OO CCrriiaa lliinnhhaa aacciimmaa ddaa lliinnhhaa aattuuaall eeiinncclluuii tteexxttoo

Page 9: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 99

Retornando ao modo comandoRetornando ao modo comando

Pressione a tecla ESC para ir para o modo Pressione a tecla ESC para ir para o modo comando.comando.

Page 10: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1010

Saindo viSaindo vi

CCoommaannddoo AAççããoo

::qq SSaaii sseemm ffaazzeerr aalltteerraaççõõeess nnoo bbuuffffeerr

::qq!! SSaaii ee aabbaannddoonnaa ttooddaass aass aalltteerraaççõõeess

::wwqq,, ::xx,, ZZZZ GGrraavvaa bbuuffffeerr nnoo aarrqquuiivvoo aattuuaall ee ssaaii

Page 11: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1111

Salvando em novo arquivoSalvando em novo arquivo

CCoommaannddoo AAççããoo

::ww GGrraavvaa nnoo aarrqquuiivvoo sseennddoo eeddiittaaddoo

::ww nnoommee__aarrqq GGrraavvaa eemm nnoommee__aarrqq.. SSee eexxiisstteennoommee__aarrqq nnããoo ggrraavvaa ee aavviissaa..

::ww!! nnoommee__aarrqq GGrraavvaa eemm nnoommee__aarrqq ee ssaaii..

Page 12: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1212

Excluindo textoExcluindo texto

CCoommaannddoo AAççããoo

[[nn]]xx EExxcclluuii oo ccaarraacctteerr nnaa ppoossiiççããoo ddoo ccuurrssoorr

[[nn]]ddww EExxcclluuii ddoo ccuurrssoorr aattéé iinníícciioo ddaa pprróóxxiimmaappaallaavvrraa

[[nn]]dd$$ EExxcclluuii ddoo ccuurrssoorr aattéé oo ffiinnaall ddaa lliinnhhaa

[[nn]]DD EExxcclluuii ddoo ccuurrssoorr aattéé oo ffiinnaall ddaa lliinnhhaa

[[nn]]dddd EExxcclluuii lliinnhhaa iinntteeiirraa

n: repete comando n vezesn: repete comando n vezes

Page 13: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1313

Desfazendo um comandoDesfazendo um comando

Voltar ao modo comando com ESCVoltar ao modo comando com ESC

Digitar Digitar uu

Page 14: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1414

Repetindo um comandoRepetindo um comando

Digitar Digitar ..

Repetições são feitas no modo comandoRepetições são feitas no modo comando

Page 15: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1515

Movendo-se pelo textoMovendo-se pelo texto

CCoommaannddoo AAççããoo eessqq,, lliinnhhaa aabbaaiixxoo,, lliinnhhaa aacciimmaa,, ddiirr

hh jj kk ll eessqq,, lliinnhhaa aabbaaiixxoo,, lliinnhhaa aacciimmaa,, ddiirr

++ ((--)) iinníícciioo pprróóxxiimmaa lliinnhhaa ((aanntteerriioorr))

00 (($$)) IInníícciioo ((ffiimm)) ddaa lliinnhhaa aattuuaall

Page 16: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1616

Movendo-se pelo texto contMovendo-se pelo texto cont

CCoommaannddoo AAççããoo

[[nn]]ww MMoovvee--ssee ppaallaavvrraa ppaarraa ffrreennttee

[[nn]]bb MMoovvee--ssee aattéé iinníícciioo ddaa ppaallaavvrraa

[[nn]]ee MMoovvee--ssee aattéé ffiimm ddaa ppaallaavvrraa aattuuaall

n: repete comando n vezesn: repete comando n vezes

Page 17: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1717

Movendo-se pela telaMovendo-se pela tela

CCoommaannddoo AAççããoo

HH VVaaii ppaarraa pprriimmeeiirraa lliinnhhaa ddaa tteellaa

MM VVaaii ppaarraa lliinnhhaa ddoo mmeeiioo ddaa tteellaa

LL VVaaii ppaarraa úúllttiimmaa lliinnhhaa ddaa tteellaa

<<ccttll>>ff MMoovvee--ssee uummaa tteellaa ppaarraa ffrreennttee

<<ccttll>>bb MMoovvee--ssee uummaa tteellaa ppaarraa ttrráázz

Page 18: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1818

Movendo-se pelo arquivoMovendo-se pelo arquivo

CCoommaannddoo AAççããoo

GG VVaaii ppaarraa úúllttiimmaa lliinnhhaa ddoo aarrqquuiivvoo

11GG VVaaii ppaarraa pprriimmeeiirraa lliinnhhaa ddoo aarrqquuiivvoo

[[nn]]GG VVaaii ppaarraa lliinnhhaa gg ddoo aarrqquuiivvoo

Page 19: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 1919

Procurando textoProcurando texto

CCoommaannddoo AAççããoo

//tteexxttoo PPrrooccuurraa tteexxttoo ppaarraa ffrreennttee

??tteexxttoo PPrrooccuurraa tteexxttoo ppaarraa ttrrááss

nn PPrrooccuurraa nnoovvaammeennttee nnaa ddiirreeççããoo aattuuaall

NN PPrrooccuurraa nnoovvaammeennttee nnaa ddiirreeççããoo ooppoossttaa

Page 20: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2020

Procurando texto - observaçõesProcurando texto - observações

A busca leva em conta a caixa das letrasA busca leva em conta a caixa das letras Na procura de textos que incluam caracteres Na procura de textos que incluam caracteres

especiais para o vi, deve-se usar o caracter especiais para o vi, deve-se usar o caracter \ \ antes antes do caracter especialdo caracter especial

Exemplos de caracteres especiais:Exemplos de caracteres especiais:

$ fim da linha$ fim da linha

^ início da linha^ início da linha Para procurar Para procurar prog.pasprog.pas

/prog\.pas/prog\.pas

Page 21: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2121

Caracteres especiaisCaracteres especiais

CCaarraacc FFuunnççããoo\\ DDeessaattiivvaa ssiiggnniiffiiccaaddoo eessppeecciiaall ((eessccaappee))

^̂ CCoommeeççoo ddee lliinnhhaa

$$ FFiimm ddee lliinnhhaa

.. QQuuaallqquueerr ccaarraacctteerr iissoollaaddoo

** RReeppeettee oo ccaarraacctteerr oouu eexxpprreessssããoo pprreecceeddeenntteeqquuaallqquueerr nnúúmmeerroo ddee vveezzeess

[[tteexxttoo]] QQuuaallqquueerr uumm ddooss ccaarraacctteerreess ddoo tteexxttoo..TTrraaççoo iinnddiiaa sséérriiee,, [[aa--dd]] ssiiggnniiffiiccaa sséérriiee eennttrree aa ee dd

[[^̂tteexxttoo]] QQuuaallqquueerr uumm ddooss ccaarraacctteerreess nnããoo ddoo tteexxttoo.. TTrraaççooiinnddiiccaa sséérriiee,, [[aa--dd]] ssiiggnniiffiiccaa sséérriiee eennttrree aa ee dd

<<ccttll>>VV UUssaaddoo ppaarraa eessccaappaarr uumm rreettuurrnn oouu EESSCC

Page 22: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2222

Alterando e Substituindo textoAlterando e Substituindo texto

CCoommaannddoo AAççããoo

rr SSuubbssttiittuuii ccaarraacctteerr

RR SSuubbssttiittuuii aattéé ffiinnaall lliinnhhaa

ccww,, ccee AAlltteerraa aattéé ffiimm ddaa ppaallaavvrraa aattuuaall

ccbb AAlltteerraa aa ppaarrttiirr ddoo iinníícciioo ddaa ppaallaavvrraa aattééaanntteess ccuurrssoorr

cc$$,, CC AAlltteerraa ddoo ccuurrssoorr aattéé ffiimm ddaa lliinnhhaa

cccc AAlltteerraa lliinnhhaa iinntteeiirraa

Page 23: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2323

Copiando e ColandoCopiando e Colando

CCoommaannddoo AAççããoo

[[nn]]yyww CCooppiiaa ppaarraa bbuuffffeerr ddoo ccuurrssoorr aattéé iinníícciioopprróóxxiimmaa ppaallaavvrraa

[[nn]]yy$$,, YY CCooppiiaa ppaarraa bbuuffffeerr ddoo ccuurrssoorr aattéé ffiimm ddaalliinnhhaa

[[nn]]yyyy CCooppiiaa lliinnhhaa aattuuaall iinntteeiirraa

pp CCoollooccaarr bbuuffffeerr aappóóss oo ccuurrssoorr

PP CCoollooccaarr bbuuffffeerr aanntteess ddoo ccuurrssoorr

Page 24: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2424

Pesquisa e substiuição avançadasPesquisa e substiuição avançadas

Quando se digita Quando se digita :: muda-se para um editor muda-se para um editor chamado exchamado ex

Formato do comando de substituiçãoFormato do comando de substituição: lini,linf s/texto1/texto2/lini,linf s/texto1/texto2/

Da linha Da linha linilini até a linha até a linha linflinf substitui a substitui a primeira ocorrência do texto1 pelo texto2 do texto1 pelo texto2: lini,linf s/texto1/texto2/glini,linf s/texto1/texto2/g

O O gg no fim do comando para substituir todas no fim do comando para substituir todas as ocorrênciasas ocorrências

Page 25: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2525

Pesquisa e substituição avançadasPesquisa e substituição avançadas

Formato do comando de substituiçãoFormato do comando de substituição: lini,linf s/texto1/texto2/clini,linf s/texto1/texto2/c

Da linha Da linha linilini até a linha até a linha linflinf pergunta se pergunta se pode substituir a pode substituir a primeira ocorrênciaprimeira ocorrência do do texto1 pelo texto2texto1 pelo texto2

As letras As letras cc e e gg podem ser combinadas. podem ser combinadas. lini,linf s/te[xs]to1/teto1/cglini,linf s/te[xs]to1/teto1/cg

Page 26: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2626

Definindo o ambiente do viDefinindo o ambiente do vi

O vi pode ser personalizado para o gosto, O vi pode ser personalizado para o gosto, tipo de arquivo sendo editado, etc.tipo de arquivo sendo editado, etc.

Para ver o seu ambiente atual digite Para ver o seu ambiente atual digite :set:set no no modo comando.modo comando.

Uma resposta possível seriaUma resposta possível seria

columns=80 lines=24 term=xtermcolumns=80 lines=24 term=xterm :set all:set all

mostra todas as opções em efeitomostra todas as opções em efeito

Page 27: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2727

Algumas opções de ambienteAlgumas opções de ambiente

Opção Abrev Descrição

autoindent ai Recua cada linha paramesmo nível da linha acima

number nu Numera linhas

showmatch sm Indica que (), {} estão empares

wordsearch ws Procuras não param no inícioe fim de arquivos

errorbells eb Apita em erros

Ignorecase ic Ignora caixa em procuras

Page 28: Vi 1 Editando com vi. vi 2 Por que vi? l Editar arquivos de configuração l Editar scripts de shell l Disponível em todas as distribuições l Necessita

vi vi 2828

Arquivo .exrcArquivo .exrc

Usado para criar ambientes personalizadosUsado para criar ambientes personalizados Exemplo de arquivoExemplo de arquivo

set number showmode

set wm=60

ab RJ Rio de Janeiro

ab NCE Núcleo de Computação Eletrônica

map q rG Lido pelo programa antes de iniciar a Lido pelo programa antes de iniciar a

execuçãoexecução