0:00:07.987,0:00:09.619 Você está logado[br]dentro do terminal 0:00:09.619,0:00:11.291 e, de repente,[br]tem a necessidade 0:00:11.291,0:00:14.459 de fazer alterações[br]nos arquivos de texto. 0:00:15.533,0:00:17.503 Todas as vezes[br]que precisar fazer isso, 0:00:17.503,0:00:22.288 a gente tem a necessidade[br]de utilizar um editor de texto. 0:00:22.288,0:00:24.500 O Linux possui diversos[br]editores de texto, 0:00:24.500,0:00:28.794 entre eles, nós temos[br]o VIM, o Emacs, o NANO 0:00:28.794,0:00:33.728 e uma série de outros que você pode[br]utilizar tanto no terminal Shell 0:00:33.728,0:00:35.925 como através[br]da interface gráfica. 0:00:35.925,0:00:41.219 Eu vou mostrar para vocês hoje[br]o editor de texto VIM, 0:00:41.219,0:00:43.016 um dos editores[br]mais utilizados 0:00:43.016,0:00:46.939 dentro das operações de edição[br]de arquivos de configuração, 0:00:46.939,0:00:49.813 criação de programas,[br]criação de scripts 0:00:49.813,0:00:51.657 em ambientes Linux. 0:00:52.461,0:00:54.120 O que é o VIM? 0:00:54.120,0:00:58.404 O VIM é um dos maiores editores[br]de textos existente hoje no Linux. 0:00:58.404,0:01:02.016 Ele tem o poder[br]de identificar diretamente 0:01:02.016,0:01:05.064 o tipo de arquivo[br]através da sua extensão. 0:01:05.064,0:01:08.801 Ele permite você ter[br]agilidade, velocidade 0:01:08.801,0:01:11.118 e conseguir desenvolver[br]programas e scripts 0:01:11.118,0:01:15.108 e alterar conteúdo de arquivos[br]de forma muito fácil e rápida. 0:01:16.007,0:01:17.765 Ele é um dos editores[br]mais requeridos 0:01:17.765,0:01:20.446 dentre as certificações[br]internacionais de Linux, 0:01:20.446,0:01:23.227 e, também, ele é o editor[br]que permite 0:01:23.227,0:01:28.027 você criar diversas[br]configurações personalizadas 0:01:28.027,0:01:31.424 na hora de fazer o uso[br]e operar o VIM. 0:01:31.424,0:01:32.455 Imagine o seguinte: 0:01:32.455,0:01:36.551 você está logado dentro do sistema[br]e precisa alterar um arquivo. 0:01:36.551,0:01:39.208 Nós não temos a interface gráfica[br]dentro do Linux, 0:01:39.208,0:01:41.523 nós não temos [br]como clicar em um mouse, 0:01:41.523,0:01:44.763 abrir um arquivo[br]e editá-lo, por exemplo, 0:01:44.763,0:01:46.532 num bloco de notas[br]ou no Word. 0:01:46.532,0:01:49.379 O que você tem é a necessidade[br]de usar um editor 0:01:49.379,0:01:51.439 que funcione[br]no ambiente Shell. 0:01:51.439,0:01:55.114 E o VIM, certamente, vai ser[br]uma das melhores escolhas 0:01:55.114,0:01:56.130 que você vai fazer. 0:01:57.804,0:02:02.455 Existem dois tipos[br]básicos de uso do VIM: 0:02:02.455,0:02:07.417 podemos utilizar o VIM,[br]que é o VI, apenas, 0:02:07.417,0:02:08.848 que é o VI puro, 0:02:08.848,0:02:12.765 ou você pode utilizar o VIM[br]utilizando uma máscara melhorada, 0:02:12.765,0:02:15.710 que é o VIM, 0:02:15.710,0:02:20.814 que significa "VI melhorado",[br]do português, ou "Vi IMproved". 0:02:22.674,0:02:28.414 Para a gente poder entender[br]um pouco mais do VI ou VIM, 0:02:28.414,0:02:31.628 nós vamos usá-lo[br]via linha de comando. 0:02:31.628,0:02:32.752 Aqui no terminal, 0:02:32.752,0:02:35.897 eu vou executar o comando "vi"[br]e vou dar um enter. 0:02:37.450,0:02:39.533 Por padrão, quando executo[br]o comando "vi", 0:02:39.533,0:02:43.661 ele traz para mim um arquivo[br]sem nenhum tipo de informação, 0:02:43.661,0:02:45.114 sem nenhum nome. 0:02:45.114,0:02:47.647 Aqui, nós vemos[br]a configuração do VI, 0:02:47.647,0:02:50.567 ele traz até mesmo[br]o nome "Vi IMproved", 0:02:50.567,0:02:54.785 mas a máscara melhorada ainda[br]não está aplicada no VI padrão. 0:02:54.785,0:02:57.739 O VI padrão do Debian[br]é chamado de "VI Tiny", 0:02:57.739,0:03:01.093 significa que alguns comandos[br]não vão funcionar 0:03:01.093,0:03:03.899 como funcionam[br]nos editores de texto comuns. 0:03:03.899,0:03:05.141 Exemplo: 0:03:05.141,0:03:07.395 se você quiser apagar[br]o conteúdo de um arquivo, 0:03:07.395,0:03:09.385 você, geralmente,[br]pressiona backspace. 0:03:09.385,0:03:12.792 O backspace não funciona[br]aqui dentro do VIM. 0:03:12.792,0:03:16.193 Se você quiser descer[br]nas linhas de um arquivo, 0:03:16.193,0:03:18.876 você usa, geralmente,[br]seta para baixo e seta para cima. 0:03:18.876,0:03:23.442 A seta para baixo e a seta para cima[br]não funcionam dentro do VI Tiny. 0:03:23.442,0:03:26.518 Para que esses comandos[br]funcionem dentro do VIM, 0:03:26.518,0:03:31.351 você precisa instalar a máscara[br]chamada "Environment", 0:03:31.351,0:03:33.939 que, aí, você traz[br]as melhorias para o VIM. 0:03:33.939,0:03:36.343 Vamos aprender, então,[br]a utilizar o VI Tiny, 0:03:36.343,0:03:37.324 que é o VI Puro, 0:03:37.324,0:03:42.061 o VIM padrão do Debian[br]e da maioria das distribuições Linux. 0:03:42.061,0:03:45.858 Aqui dentro do VI, eu tenho[br]algumas informações importantes. 0:03:45.858,0:03:48.288 Todas as vezes[br]que nós entramos no VI, 0:03:48.288,0:03:51.900 ele, por padrão, usa[br]o "modo comando". 0:03:51.900,0:03:55.698 O VI tem dois módulos[br]de operações principais: 0:03:55.698,0:03:57.069 um é o "modo comando", 0:03:57.069,0:04:01.797 que pode ser acionado[br]pela tecla ESC do seu teclado, 0:04:01.797,0:04:03.697 e o outro é[br]o "modo de inserção", 0:04:03.697,0:04:10.433 que pode ser acionado[br]pelas teclas I, A ou O. 0:04:11.104,0:04:12.377 Falaremos disso depois. 0:04:13.179,0:04:16.310 Aqui, quando abri o VI, [br]eu já entrei no modo comando. 0:04:16.310,0:04:18.360 Isso significa[br]que eu posso imputar 0:04:18.360,0:04:21.340 uma série de comandos[br]para esse editor. 0:04:21.340,0:04:23.082 E quais seriam[br]esses comandos? 0:04:23.082,0:04:26.198 Por exemplo,[br]eu posso salvar um arquivo 0:04:26.198,0:04:28.149 e o VI entende[br]que é um comando. 0:04:28.149,0:04:30.682 Eu posso substituir um caractere[br]aqui dentro 0:04:30.682,0:04:32.481 e ele vai entender[br]que é um comando. 0:04:32.481,0:04:35.225 Eu posso, por exemplo,[br]sair do próprio VI 0:04:35.225,0:04:36.917 e ele vai entender[br]que é um comando. 0:04:36.917,0:04:39.780 Eu posso copiar uma linha,[br]deletar uma linha inteira, 0:04:39.780,0:04:42.484 copiar uma palavra,[br]deletar uma palavra, 0:04:42.484,0:04:46.652 tudo isso ele entende[br]que são comandos para o VI. 0:04:46.652,0:04:49.575 Então, se eu não estiver[br]no modo de inserção, 0:04:49.575,0:04:51.827 que é o modo o qual eu[br]imputo os dados, 0:04:51.827,0:04:54.254 eu insiro dados[br]dentro do arquivo, 0:04:54.254,0:04:56.091 eu posso estar[br]no modo de comando. 0:04:56.091,0:04:57.683 Existem outros[br]modos do VI? 0:04:57.683,0:04:58.396 Existem. 0:04:58.396,0:05:00.886 Mas esses são[br]os modos principais. 0:05:00.886,0:05:04.703 Uma vez aqui dentro, eu tenho [br]algumas informações importantes. 0:05:04.703,0:05:05.599 Ele diz para mim: 0:05:05.599,0:05:10.149 "pressione :q + enter[br]para eu sair desse arquivo". 0:05:10.149,0:05:15.447 ":help" e o tipo de informação[br]que eu quero para procurar ajuda. 0:05:15.447,0:05:16.748 Eu tenho aqui,[br]por exemplo, 0:05:16.748,0:05:18.989 para não citar[br]as informações por padrão. 0:05:18.989,0:05:23.889 Então, todas as vezes que eu quiser[br]usar as opções de comando do VIM, 0:05:23.889,0:05:25.887 eu tenho que usar[br]os dois pontos. 0:05:25.887,0:05:30.863 Então, a ordem é tecla ESC, no canto[br]superior esquerdo do seu teclado, 0:05:30.863,0:05:31.826 dois pontos, 0:05:33.102,0:05:35.670 perceba que ele escreveu[br]os dois pontos aqui embaixo, 0:05:35.670,0:05:37.142 e o comando[br]que eu quero. 0:05:37.142,0:05:39.476 Vamos imaginar que eu[br]queira sair desse arquivo. 0:05:39.476,0:05:40.849 "Q" de quit. 0:05:40.849,0:05:43.358 Pronto, eu voltei[br]para o terminal. 0:05:43.358,0:05:46.169 Um detalhe importante é que toda[br]vez que eu abro um arquivo, 0:05:46.169,0:05:49.581 simplesmente passando o VI,[br]ele não tem nome. 0:05:49.581,0:05:53.318 Ele é um arquivo[br]totalmente inexistente. 0:05:53.318,0:05:56.688 Existe um buffer.[br]O que é um buffer? 0:05:56.688,0:06:00.147 Basicamente é um ambiente[br]que o VI vai armazenar 0:06:00.147,0:06:05.084 tudo aquilo que eu fizer[br]em memória dentro do ambiente, 0:06:05.084,0:06:07.726 mas ele não vai gravar[br]nada no disco. 0:06:07.726,0:06:10.157 Depois, ele vai[br]despejar tudo isso 0:06:10.157,0:06:14.101 dentro do seu HD,[br]caso você salve esse arquivo. 0:06:14.101,0:06:16.785 Ok, vamos voltar aqui[br]para o editor. 0:06:17.651,0:06:18.823 "vi" e enter. 0:06:20.075,0:06:22.349 Perceba que se eu der[br]um I de inserir, 0:06:22.349,0:06:23.645 ele não fez nada. 0:06:23.645,0:06:24.550 Por quê? 0:06:24.550,0:06:27.714 Porque eu estou usando[br]o VI Tiny, o VIM padrão. 0:06:27.714,0:06:31.557 Esse VIM não é muito amigável[br]e vocês vão ter, certamente, 0:06:31.557,0:06:34.379 grande dificuldade[br]para poder operá-lo. 0:06:34.379,0:06:35.733 Então, o que é[br]recomendado? 0:06:35.733,0:06:38.378 Que a gente[br]instale o VIM, 0:06:38.378,0:06:41.807 que traz uma máscara[br]chamada "Runtime", 0:06:41.807,0:06:44.043 que, automaticamente,[br]compatibiliza o VIM 0:06:44.043,0:06:46.116 com vários[br]outros editores. 0:06:46.116,0:06:49.696 Então, passará a funcionar seta[br]para baixo para descer no arquivo, 0:06:49.696,0:06:50.921 seta para cima[br]para subir, 0:06:50.921,0:06:52.911 seta para a esquerda[br]para ir à esquerda, 0:06:52.911,0:06:54.631 seta para direita[br]para ir à direita, 0:06:54.631,0:06:56.014 backspace para apagar 0:06:56.014,0:06:59.452 e uma série de outras teclas[br]funcionarão como funcionam, 0:06:59.452,0:07:02.489 por exemplo, no Word,[br]que é outro editor de arquivos, 0:07:02.489,0:07:05.154 no bloco de notas[br]e assim por diante. 0:07:05.154,0:07:08.013 Eu vou sair de dentro[br]do editor agora, 0:07:08.013,0:07:11.016 vou instalar essa máscara[br]para que a gente possa ter 0:07:11.016,0:07:15.958 um pouco mais de flexibilidade[br]nas operações dentro do VIM. 0:07:15.958,0:07:18.068 "ESC :q" 0:07:19.123,0:07:20.590 E vamos instalar. 0:07:20.590,0:07:23.902 "apt install vim" 0:07:26.111,0:07:29.461 Por padrão, todas as vezes, agora,[br]que eu chamar o comando VI, 0:07:29.461,0:07:33.939 na verdade, ele vai ser um atalho[br]para o comando VIM. 0:07:34.600,0:07:36.555 Quando eu dou um "vi"[br]e um enter, 0:07:37.228,0:07:40.292 na verdade, ele chamou[br]o comando "VIM". 0:07:40.292,0:07:42.668 Você pode olhar aqui e falar:[br]"mas não mudou nada." 0:07:42.668,0:07:44.291 Eu vou te provar[br]que mudou. 0:07:44.291,0:07:46.811 Quando nós pressionarmos[br]a tecla I de inserir, agora, 0:07:46.811,0:07:49.374 ele escreveu lá embaixo:[br]"Inserção". 0:07:49.374,0:07:51.597 Quando não tínhamos[br]essa máscara instalada, 0:07:51.597,0:07:54.225 nós pressionamos I[br]e não acontecia nada, 0:07:54.225,0:07:56.689 mas ele tinha entrado[br]no modo de inserção. 0:07:56.689,0:07:59.198 A diferença agora é que esse[br]VI é mais amigável, 0:07:59.198,0:08:01.980 esse VIM é mais friendly. 0:08:01.980,0:08:04.866 Ele é muito[br]mais fácil de usar. 0:08:04.866,0:08:07.135 Vamos imputar aqui[br]algumas informações. 0:08:07.135,0:08:10.038 Todas as vezes que eu pressiono I,[br]ele entra no modo inserção. 0:08:10.038,0:08:12.774 Pode perceber que, aqui[br]embaixo, escreveu "Inserção" 0:08:12.774,0:08:15.657 e eu posso digitar qualquer[br]coisa aqui dentro. 0:08:15.657,0:08:17.105 O Linux 0:08:17.913,0:08:22.841 é um sistema[br]open source. 0:08:24.496,0:08:26.781 A GPL possui 0:08:27.529,0:08:31.554 4 liberdades principais. 0:08:32.928,0:08:35.029 O rato roeu a roupa 0:08:36.176,0:08:38.093 do rei de Roma. 0:08:38.093,0:08:40.896 Eu posso inserir qualquer[br]informação aqui dentro. 0:08:40.896,0:08:43.074 Nesse momento,[br]esse arquivo não tem um nome. 0:08:43.074,0:08:46.319 Todas as informações[br]são armazenadas no buffer do VI. 0:08:46.319,0:08:48.701 Imagine que você acabou[br]de abrir o bloco de notas 0:08:48.701,0:08:52.055 e você não o salvou ainda[br]com nenhum nome. 0:08:52.055,0:08:53.765 É o mesmo critério. 0:08:53.765,0:08:56.165 Tudo o que você insere ali[br]não está sendo salvo. 0:08:56.165,0:08:59.187 Você tem um arquivo no bloco[br]de notas sem título. 0:08:59.187,0:09:01.897 Para que possa dar um nome[br]àquele arquivo dentro do bloco 0:09:01.897,0:09:03.435 de notas do Windows,[br]por exemplo, 0:09:03.435,0:09:05.550 você teria[br]que "salvar como". 0:09:05.550,0:09:08.647 Esse é o mesmo processo[br]dentro do VI. 0:09:08.647,0:09:12.417 Toda vez que eu abro o VI[br]e não informo o nome de um arquivo, 0:09:12.417,0:09:16.106 para que eu possa salvar todas[br]as modificações que fiz, 0:09:16.106,0:09:18.463 eu preciso[br]"salvar como". 0:09:19.124,0:09:21.793 E como eu "salvo como"[br]dentro do VI? 0:09:21.793,0:09:22.587 Simples. 0:09:22.587,0:09:25.371 Você vai pressionar[br]a tecla ESC. 0:09:25.371,0:09:28.833 Automaticamente,[br]nós entramos no modo comando. 0:09:28.833,0:09:31.049 ":w" 0:09:31.049,0:09:33.772 W é o comando[br]para gravar. 0:09:33.772,0:09:35.522 Todas as vezes[br]que você quiser gravar 0:09:35.522,0:09:37.505 uma modificação[br]dentro do VI, 0:09:37.505,0:09:40.553 o comando que você[br]vai dar é W, de "write". 0:09:40.553,0:09:45.149 E você vai informar para o VI[br]onde você quer salvar esse arquivo 0:09:45.149,0:09:47.519 e qual o nome[br]que você quer dar para ele. 0:09:47.519,0:09:50.555 Então, eu quero salvar esse arquivo[br]dentro do diretório 0:09:50.555,0:09:54.287 "/tmp/". 0:09:54.776,0:09:59.954 Vou dar o nome[br]de "teste.txt". 0:09:59.954,0:10:01.716 E vou dar o enter. 0:10:01.716,0:10:02.511 Pronto. 0:10:02.511,0:10:05.363 Perceba que ele escreveu[br]as informações aqui embaixo. 0:10:05.363,0:10:08.806 O novo arquivo [br]"/tmp/teste.txt" 0:10:08.806,0:10:13.344 possui 3 linhas[br]e 110 bytes gravados. 0:10:13.344,0:10:14.656 Maravilha! 0:10:14.656,0:10:16.487 Abri o VIM,[br]entrei no modo inserção, 0:10:16.487,0:10:21.845 coloquei as informações lá dentro[br]e salvei como "/tmp/teste.txt" 0:10:22.477,0:10:25.303 Feito tudo isso,[br]eu vou sair desse arquivo. 0:10:25.303,0:10:28.730 ESC, ":q" de "quit". 0:10:29.707,0:10:31.209 Voltamos para o terminal. 0:10:31.209,0:10:37.080 Se nós dermos o comando[br]"cat/tmp/teste.txt", 0:10:37.080,0:10:41.673 lá está todo o conteúdo que havia[br]inserido dentro do arquivo no VIM. 0:10:41.673,0:10:44.205 Agora, eu quero editar[br]esse arquivo novamente. 0:10:44.205,0:10:45.124 O que eu faço? 0:10:45.124,0:10:50.531 Agora sim, eu posso dar[br]um "vi/tmp/teste.txt" 0:10:50.531,0:10:53.718 e, automaticamente,[br]o conteúdo do arquivo foi aberto. 0:10:53.718,0:10:56.714 Esse conteúdo foi aberto[br]no modo de comando 0:10:56.714,0:10:59.757 e significa que, para eu poder[br]inserir novas informações, 0:10:59.757,0:11:03.361 eu tenho três ou quatro[br]opções possíveis. 0:11:03.361,0:11:06.664 Eu posso pressionar[br]a letra "I" de inserção. 0:11:06.664,0:11:09.287 Perceba que ele escreveu[br]"inserção" aqui embaixo 0:11:09.287,0:11:12.904 e o cursor permaneceu parado[br]no lugar dele. 0:11:12.904,0:11:15.456 Vou pressionar ESC. 0:11:15.456,0:11:18.509 Posso pressionar[br]a tecla "A". 0:11:19.442,0:11:24.182 Ele entrou no modo de inserção,[br]mas o cursor avançou um caractere. 0:11:24.182,0:11:28.920 Vou pressionar ESC[br]e posso pressionar a letra "O". 0:11:28.920,0:11:30.397 Ele entrou no modo[br]de inserção 0:11:30.397,0:11:32.777 e o cursor inseriu[br]uma nova linha em branco. 0:11:32.777,0:11:36.027 Esses são os três modos[br]que eu consigo entrar 0:11:36.027,0:11:41.678 nesse modo de inserção[br]utilizando A, I ou O, 0:11:41.678,0:11:43.038 dentro do VIM. 0:11:44.118,0:11:48.242 Agora, existem também[br]outros modos de operação no VIM, 0:11:48.242,0:11:50.902 como o modo[br]de visualização. 0:11:50.902,0:11:52.788 Para eu entrar no modo[br]de visualização, 0:11:52.788,0:11:54.645 eu vou apertar [br]a letra "V". 0:11:54.645,0:11:56.460 Ele escreve "visual". 0:11:56.460,0:11:58.886 O modo de visualização permite[br]com que, por exemplo, 0:11:58.886,0:12:01.038 eu selecione linhas. 0:12:01.038,0:12:03.577 Eu consigo selecionar,[br]por exemplo, essas três linhas 0:12:03.577,0:12:05.531 e, uma vez selecionadas[br]essas três linhas, 0:12:05.531,0:12:07.361 eu posso executar[br]qualquer comando. 0:12:07.361,0:12:10.381 Eu posso deletar[br]essas três linhas de uma vez. 0:12:10.381,0:12:12.880 Eu posso copiar essas[br]três linhas de uma vez. 0:12:12.880,0:12:17.151 Então, vou pressionar a tecla ESC[br]e a letra V de visualização. 0:12:17.895,0:12:20.785 Imagine que eu queira copiar[br]todo o conteúdo da linha 1. 0:12:20.785,0:12:25.339 Eu vou selecionar com a seta[br]para frente e pressiono a tecla Y. 0:12:26.033,0:12:28.379 Pronto, copiou a linha. 0:12:28.379,0:12:31.485 E para eu colar, eu posso ir[br]no lugar que eu quero, 0:12:31.485,0:12:33.100 no final do arquivo, 0:12:33.100,0:12:35.842 apertar a tecla ESC[br]para habilitar o modo comando 0:12:35.842,0:12:37.940 e pressionar a letra P. 0:12:38.566,0:12:43.461 Ele copiou a linha número 1[br]e colou a linha aqui embaixo. 0:12:43.461,0:12:46.405 Isso no modo[br]de visualização do VI. 0:12:47.515,0:12:50.985 Nós também podemos alternar[br]entre esses três modos, 0:12:50.985,0:12:53.170 à medida que seja necessário. 0:12:53.170,0:12:56.757 Por exemplo, eu posso dar I,[br]entrei no modo de inserção, 0:12:56.757,0:12:59.107 dar ESC, entrei no modo[br]de comando 0:12:59.107,0:13:01.080 e V para entrar[br]no modo de visual. 0:13:01.080,0:13:02.339 Detalhe importante: 0:13:02.339,0:13:05.731 se você está no modo comando[br]e aperta a letra V, 0:13:05.731,0:13:07.718 ele entra[br]no modo visual. 0:13:07.718,0:13:10.291 Se você está no modo comando[br]e aperta a letra I, 0:13:10.291,0:13:12.079 ele entra no modo[br]de inserção. 0:13:12.079,0:13:14.111 A letra A entra[br]no modo de inserção. 0:13:14.111,0:13:15.860 A letra O entra[br]no modo de inserção. 0:13:15.860,0:13:19.820 Agora, se eu estou no modo[br]de inserção e eu aperto a letra V, 0:13:20.514,0:13:22.341 ele vai digitar[br]a letra V. 0:13:24.261,0:13:26.693 Se eu apertar a letra I,[br]ele vai digitar a letra I. 0:13:26.693,0:13:29.714 Então, a gente precisa entender[br]em qual modo que nós estamos 0:13:29.714,0:13:32.251 para saber se eu estou[br]inserindo uma informação 0:13:32.251,0:13:34.619 ou se eu estou[br]enviando um comando. 0:13:34.619,0:13:38.026 Além disso, eu posso, simplesmente,[br]estar dentro desse arquivo 0:13:38.026,0:13:41.153 e, imagine que essas[br]duas linhas novas, 0:13:41.153,0:13:43.720 tanto essa linha aqui[br]quanto essa linha, 0:13:43.720,0:13:45.954 eu não queira[br]salvar esse conteúdo. 0:13:45.954,0:13:47.508 Eu abri o arquivo. 0:13:47.508,0:13:49.540 Fiz uma edição errada. 0:13:49.540,0:13:52.275 Eu não queria[br]fazer essa alterações. 0:13:52.275,0:13:54.540 Eu quero sair[br]desse arquivo sem salvar. 0:13:55.303,0:13:56.552 Nós já vimos[br]que o comando 0:13:56.552,0:13:58.747 que utilizamos[br]para sair do VI é o Q. 0:13:58.747,0:14:02.392 Então, se eu vier aqui,[br]pressionar ESC, ":q" 0:14:03.290,0:14:05.776 ele não deixa eu sair. 0:14:05.776,0:14:07.698 Por que isso[br]acontece? 0:14:07.698,0:14:11.081 Isso acontece porque todas[br]as vezes que você abre o editor VI 0:14:11.081,0:14:13.436 e você entra[br]no modo de inserção, 0:14:13.436,0:14:18.345 obrigatoriamente, ele entende[br]que você abriu o arquivo, 0:14:18.345,0:14:21.257 você entrou no modo de inserção,[br]você inseriu dados 0:14:21.257,0:14:23.797 e você não quer salvar,[br]é isso mesmo? 0:14:24.573,0:14:28.575 Se a resposta para essa pergunta[br]for: "sim, é isso mesmo", 0:14:28.575,0:14:31.724 você precisa forçar[br]o comando dentro do VI. 0:14:31.724,0:14:34.372 E o caractere que a gente[br]usa para forçar um comando 0:14:34.372,0:14:38.172 dentro do VI[br]é o caractere "!". 0:14:38.172,0:14:42.680 Então, eu vou vir aqui no terminal,[br]vou dar um ESC, ":", 0:14:42.680,0:14:45.372 o comando que eu quero[br]é "q" para sair 0:14:45.372,0:14:48.052 e eu tenho[br]que forçar com "!" 0:14:48.052,0:14:51.889 para poder sair desse arquivo[br]sem salvar essas duas linhas. 0:14:51.889,0:14:55.079 Detalhe importante:[br]a exclamação não é usada 0:14:55.079,0:14:57.311 apenas para sair[br]sem salvar. 0:14:57.311,0:15:02.666 Ela é um caractere para forçar[br]qualquer comando dentro do VI. 0:15:02.666,0:15:07.538 Então, por exemplo, eu posso querer[br]gravar forçando, "w!". 0:15:07.538,0:15:10.939 Eu posso querer sair[br]e salvar forçando, 0:15:10.939,0:15:14.265 W para gravar,[br]Q para sair e "!". 0:15:14.265,0:15:18.138 Então, a exclamação simplesmente[br]força a execução de um comando. 0:15:18.138,0:15:21.251 Nesse nosso exemplo,[br]eu quero que ele force sair 0:15:21.251,0:15:24.822 sem salvar essas duas linhas[br]aqui que nós inserimos. 0:15:24.822,0:15:27.868 E aí, eu uso ESC, ":q!" 0:15:27.868,0:15:30.214 Pronto, saí do arquivo. 0:15:30.214,0:15:32.783 Se eu voltar dentro[br]do arquivo novamente, 0:15:32.783,0:15:35.557 percebam que as duas[br]últimas linhas 0:15:35.557,0:15:39.623 que nós havíamos inserido[br]não foram salvas. 0:15:39.623,0:15:43.207 Esse é o VI, um dos editores[br]de texto mais utilizados no Linux. 0:15:43.207,0:15:46.910 Você viu como abrir, como sair,[br]como entrar no modo comando, 0:15:46.910,0:15:48.238 como entrar[br]no modo inserção 0:15:48.238,0:15:50.534 e como entrar no modo[br]de visualização. 0:15:50.534,0:15:54.451 Entendendo uma vez esses módulos,[br]certamente você, em pouco tempo, 0:15:54.451,0:15:59.187 vai passar a dominar o maior editor[br]de textos dos ambientes Linux.