Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
vi vi 11
Editando com viEditando com vi
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
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
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
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
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
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 ~ ~ ~
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
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.
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
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..
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
vi vi 1313
Desfazendo um comandoDesfazendo um comando
Voltar ao modo comando com ESCVoltar ao modo comando com ESC
Digitar Digitar uu
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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