1 00:00:00,000 --> 00:00:02,590 >> [Seminário Vim] 2 00:00:02,590 --> 00:00:04,210 [Liu Brandon] [Harvard University] 3 00:00:04,210 --> 00:00:07,500 [Isto é CS50.] [CS50.TV] 4 00:00:07,500 --> 00:00:09,880 >> Hoje vai ser uma introdução ao Vim. 5 00:00:09,880 --> 00:00:12,310 Quantos de vocês já ouviu falar do Vim? 6 00:00:12,310 --> 00:00:15,620 O que você ouviu sobre o Vim? 7 00:00:15,620 --> 00:00:17,590 [Estudante] Ele resolve todos os seus problemas. 8 00:00:17,590 --> 00:00:19,450 [Brandon L.] Ele resolve todos os seus problemas. 9 00:00:19,450 --> 00:00:23,840 Qualquer outra coisa que vocês já ouviu falar sobre o Vim? Impressões? 10 00:00:23,840 --> 00:00:27,990 [Estudante] Quase todo mundo que eu falei com gosta de usar Vim. 11 00:00:27,990 --> 00:00:29,960 Oh, doce. 12 00:00:29,960 --> 00:00:31,090 [Estudante] Um monte de pessoas que eu conheço gostam de usar o Vim. 13 00:00:31,090 --> 00:00:35,050 Ok, isso é bom, porque um monte de pessoas em CS51 14 00:00:35,050 --> 00:00:38,000 começar a pegar Emacs porque Emacs tem um pouco melhor apoio 15 00:00:38,000 --> 00:00:40,100 para a linguagem que você vai usar em CS51, 16 00:00:40,100 --> 00:00:42,770 e eu me preocupo que as pessoas não o suficiente em Harvard usar Vim, 17 00:00:42,770 --> 00:00:46,190 então eu realmente tentar fazer um bom trabalho de incentivar o uso Vim. 18 00:00:46,190 --> 00:00:51,110 >> Mas aqui é uma história em quadrinhos xkcd clássico que vocês podem achar interessante. 19 00:00:51,110 --> 00:00:53,800 Vocês já utilizado Nano antes em tudo? 20 00:00:53,800 --> 00:00:57,380 Este quadrinhos diz Nano? Programadores reais usam Emacs. 21 00:00:57,380 --> 00:00:59,040 Hey, os programadores reais usar Vim. 22 00:00:59,040 --> 00:01:03,130 Não, programadores reais usar Ed que é isso, você não quero nunca mais usar Ed. 23 00:01:03,130 --> 00:01:05,990 É muito, muito velho e muito ruim, e os programadores usam reais 24 00:01:05,990 --> 00:01:08,440 uma agulha imantada e uma mão firme. 25 00:01:08,440 --> 00:01:16,010 E você pode ler o resto, mas é muito divertido. 26 00:01:16,010 --> 00:01:18,320 E o engraçado é que no final. 27 00:01:18,320 --> 00:01:20,310 Eles dizem: "Oh, sim, claro, há um comando Emacs para fazer isso." 28 00:01:20,310 --> 00:01:25,050 O bom e velho Cx Mc M-borboleta, que é uma espécie de um jab no Emacs 29 00:01:25,050 --> 00:01:28,520 porque Emacs é conhecido historicamente a ser um pouco inchado 30 00:01:28,520 --> 00:01:32,310 e tem comandos para quase nada, de modo que é uma espécie de piada para Emacs. 31 00:01:32,310 --> 00:01:35,320 >> O que é Vim? Vim é editor de texto de um programador avançado. 32 00:01:35,320 --> 00:01:40,040 Eu realmente quero fazer a distinção entre o editor de texto 33 00:01:40,040 --> 00:01:42,000 e algo como um processador de documentos. 34 00:01:42,000 --> 00:01:44,340 Microsoft Word é conhecido como um processador de documentos. 35 00:01:44,340 --> 00:01:49,090 Você pode definir as margens, as coisas negrito, sublinhado coisas, 36 00:01:49,090 --> 00:01:51,480 golpear com as coisas, mudar o tamanho da fonte e outros enfeites. 37 00:01:51,480 --> 00:01:54,380 Um editor de texto não faz nada mais do que apenas editar o texto. 38 00:01:54,380 --> 00:01:56,020 Literalmente você só tem caracteres. 39 00:01:56,020 --> 00:02:01,650 Não há nenhum tipo de estilo, tamanhos, fontes, cores, ou qualquer coisa assim. 40 00:02:01,650 --> 00:02:06,360 Tudo que você faz é editar texto, e Vim foi feito especialmente para a programação. 41 00:02:06,360 --> 00:02:09,240 Ele tem um monte de recursos internos em apenas para a programação. 42 00:02:09,240 --> 00:02:11,360 Ele foi projetado especificamente para a edição de texto eficiente. 43 00:02:11,360 --> 00:02:15,190 >> Em geral, o Vim é conhecido por ser basicamente o editor de texto rápido 44 00:02:15,190 --> 00:02:19,110 você pode eventualmente usar em comparação com qualquer outro editor de texto que é possível. 45 00:02:19,110 --> 00:02:22,480 Um monte de recursos do IDE-like não são construídas diretamente no Vim, 46 00:02:22,480 --> 00:02:26,850 por isso, se você já usou um IDE e você está acostumado a coisas como compilar e executar automaticamente 47 00:02:26,850 --> 00:02:30,880 ou depuração que está em seu IDE ou toda uma série de coisas diferentes 48 00:02:30,880 --> 00:02:32,290 Vim não vem com que, naturalmente, 49 00:02:32,290 --> 00:02:36,330 mas há toda uma série de plugins que você pode usar para adicionar esse tipo de funcionalidade para Vim. 50 00:02:36,330 --> 00:02:40,890 Vim por si só incide sobre a edição de texto e edição de texto faz muito, muito bem. 51 00:02:40,890 --> 00:02:43,340 E, finalmente, é muito personalizável e extensível, 52 00:02:43,340 --> 00:02:48,740 e, basicamente, o Vim tem sido em torno, ou Vi, Vim que é construído em cima, 53 00:02:48,740 --> 00:02:53,790 tem sido em torno de mais de 40 anos, e é um programa muito, muito profundo, 54 00:02:53,790 --> 00:02:58,850 e as pessoas vão usá-lo para toda a vida e nunca realmente dominar o programa em sua plenitude, 55 00:02:58,850 --> 00:03:01,530 e você vai sempre continuar a aprender ao longo de sua vida ao longo dos anos, 56 00:03:01,530 --> 00:03:03,390 sempre se tornando cada vez melhor. 57 00:03:03,390 --> 00:03:07,480 >> Basicamente não há fim para o que você pode aprender e quanto você pode melhorar com o Vim, 58 00:03:07,480 --> 00:03:09,300 o que é realmente emocionante. 59 00:03:09,300 --> 00:03:12,730 Você não quer vê-la como algo assustador, porque você pode se tornar muito, muito proficiente 60 00:03:12,730 --> 00:03:16,650 no vim em apenas algumas semanas, mas é como uma espécie de contínuo com 61 00:03:16,650 --> 00:03:18,870 você sempre pode aprender mais e aprender mais e fazer as coisas cada vez melhor, 62 00:03:18,870 --> 00:03:20,880 que é muito empolgante para mim. 63 00:03:20,880 --> 00:03:23,810 Este é um exemplo do que Vim parece. 64 00:03:23,810 --> 00:03:27,630 Este não é o meu. Você vai ver algumas demonstrações ao vivo agora. 65 00:03:27,630 --> 00:03:29,350 Este é um exemplo do que o Vim pode parecer. 66 00:03:29,350 --> 00:03:33,590 >> O que vamos fazer hoje é que vamos começar com 67 00:03:33,590 --> 00:03:35,260  uma vitrine rápida do que o Vim pode fazer. 68 00:03:35,260 --> 00:03:39,040 Vou fazer alguns truques e outros enfeites para vocês 69 00:03:39,040 --> 00:03:43,020 assim você pode ver por que eu gosto Vim tanto e por que pessoas como Vim tanto, 70 00:03:43,020 --> 00:03:46,470 e então a partir daí nós vamos entrar em uma introdução suave. 71 00:03:46,470 --> 00:03:49,530 Na verdade, ele vai ser um pouco rápido, uma introdução à Vim. 72 00:03:49,530 --> 00:03:53,410 Vou pedir a vocês o download de um arquivo de texto e de seguir junto comigo, se puder. 73 00:03:53,410 --> 00:03:58,080 Este é Vim, e aqui eu estou usando MacVim, 74 00:03:58,080 --> 00:04:00,520 por isso, se vocês têm Macs você pode querer considerar o uso de MacVim 75 00:04:00,520 --> 00:04:04,210 porque é uma versão gráfica do Vim, embora o Vim regular, 76 00:04:04,210 --> 00:04:06,210 o que está na sua linha de comando, funciona muito bem. 77 00:04:06,210 --> 00:04:09,890 Eu vou mostrar-lhe algumas dicas e truques aleatórios 78 00:04:09,890 --> 00:04:15,330 que você pode usar no Vim para mostrar-lhe por que é tão legal. 79 00:04:15,330 --> 00:04:18,940 >> Apenas algumas coisas aleatórias que eu vou passar. 80 00:04:18,940 --> 00:04:21,700 A primeira coisa é objetos de texto, e há alguns comandos em torno de objetos de texto, 81 00:04:21,700 --> 00:04:25,010 e eu vou te ensinar o que realmente texto objetos são mais detalhadamente mais tarde no seminário, 82 00:04:25,010 --> 00:04:30,050 mas, por exemplo, digamos que eu escrito o meu nome errado, 83 00:04:30,050 --> 00:04:32,380 Barndon Liu, e eu quero mudar isso. 84 00:04:32,380 --> 00:04:36,140 Tudo o que tenho a fazer é buscar o meu cursor em algum lugar, em meu nome e digite o comando 85 00:04:36,140 --> 00:04:38,900 CIW, e ele vai apagar todo o meu nome, me colocou em modo de inserção, 86 00:04:38,900 --> 00:04:41,050 e posso digitar meu nome e corrigi-lo. 87 00:04:41,050 --> 00:04:45,550 Da mesma forma, se eu quiser mudar alguma coisa dentro de aspas, há também um comando para isso. 88 00:04:45,550 --> 00:04:47,330 Eu posso apagar as coisas dentro de aspas. 89 00:04:47,330 --> 00:04:50,260 Não mais ter que clicar duas vezes, mover sua mão para o mouse, 90 00:04:50,260 --> 00:04:52,230 clique duas vezes e digite algo para trás dentro 91 00:04:52,230 --> 00:05:02,000 Você pode fazer tudo a partir do teclado, seja ele qual for. 92 00:05:02,000 --> 00:05:06,430 Ou, em alternativa, digamos que eu tenho essa tag de imagem dentro desta tag âncora. 93 00:05:06,430 --> 00:05:08,160 >> Vocês já coberto HTML em sala de aula ainda? 94 00:05:08,160 --> 00:05:10,570 Sim, talvez por isso eu quero apagar essa marca, 95 00:05:10,570 --> 00:05:13,080 que normalmente o que você tem a fazer é que você tem que usar o mouse 96 00:05:13,080 --> 00:05:16,040 e cuidadosamente destacar exatamente o que você deseja excluir e excluí-lo. 97 00:05:16,040 --> 00:05:21,320 Mas no Vim que é simplesmente dit, e você pode excluí-lo muito rapidamente, 98 00:05:21,320 --> 00:05:28,020 e eu vou explicar-lhe o que todos os comandos significam e como você usá-los em um segundo. 99 00:05:28,020 --> 00:05:30,320 Outro exemplo, eu tenho um código aqui, 100 00:05:30,320 --> 00:05:33,640 e digamos que eu quero para recuar o código, mas eu quero para recuar o código 101 00:05:33,640 --> 00:05:39,940 apenas dentro dos parênteses, e eu também pode recuar o código usando três comandos 102 00:05:39,940 --> 00:05:45,360 utilizando basicamente> iB. 103 00:05:45,360 --> 00:05:49,960 Outra coisa que é realmente legal sobre Vim é uma coisa chamada edição bloco visual. 104 00:05:49,960 --> 00:05:52,380 Eu não sei se vocês já queria destacar 105 00:05:52,380 --> 00:05:55,690 um bloco retangular de texto em seu código, por vezes, 106 00:05:55,690 --> 00:06:00,570 em vez de ter que fazer esse tipo de coisa estranha linha que se estende por todas as linhas diferentes. 107 00:06:00,570 --> 00:06:02,450 Por exemplo, no Vim você pode fazer isso. 108 00:06:02,450 --> 00:06:05,260 Posso destacar retângulos como esta, que é muito legal, 109 00:06:05,260 --> 00:06:07,950 mas, além disso, eu posso editar usando essa funcionalidade. 110 00:06:07,950 --> 00:06:12,050 Por exemplo, se eu quiser dar algum tipo de prefixo para todos os nossos nomes 111 00:06:12,050 --> 00:06:18,100 Posso destacar um bloco e, em seguida, acrescentar algo. 112 00:06:18,100 --> 00:06:22,060 >> Da mesma forma, eu também posso destacar este bloco e optar por excluí-lo, 113 00:06:22,060 --> 00:06:26,300 ou talvez eu vou destacar este bloco e alterá-lo para D porque nós somos todos os médicos. 114 00:06:26,300 --> 00:06:29,430 Seja o que for, você pode fazer todas essas coisas diferentes. 115 00:06:29,430 --> 00:06:31,270 Finalmente, dobrável é muito legal. 116 00:06:31,270 --> 00:06:33,840 Um monte de IDEs têm essa onde você pode dobrar diferentes funções fora da vista 117 00:06:33,840 --> 00:06:35,590 no caso de você não quer vê-los. 118 00:06:35,590 --> 00:06:40,120 Por exemplo, vamos supor que eu tenho esse monte de texto aqui, e eu realmente não quero vê-lo. 119 00:06:40,120 --> 00:06:42,710 Eu quero mantê-lo fora da vista, porque eu estou editando outra coisa no arquivo. 120 00:06:42,710 --> 00:06:50,580 Eu posso dobrá-la por isso é tudo desabou, 121 00:06:50,580 --> 00:06:52,150 e de que maneira ele está fora de vista, 122 00:06:52,150 --> 00:06:54,310 e eu posso editar outras coisas que estão na página, e isso é realmente grande. 123 00:06:54,310 --> 00:06:57,550 Você pode dobrar-se as funções e outros enfeites ou dobrar aulas quando você está programando 124 00:06:57,550 --> 00:06:59,380 apenas para mantê-los fora de vista quando você não estiver editando-os, 125 00:06:59,380 --> 00:07:04,330 e mais tarde, quando você quiser vê-los, você pode abri-los. 126 00:07:04,330 --> 00:07:09,260 E você pode vê-lo acaba de abrir tudo. 127 00:07:09,260 --> 00:07:11,220 Tabs, amortecedores, e janelas. 128 00:07:11,220 --> 00:07:13,260 Vim é muito legal em que 129 00:07:13,260 --> 00:07:16,280 normalmente em um monte de editores de texto só pode editar um arquivo de cada vez, 130 00:07:16,280 --> 00:07:18,960 como no Nano, ou talvez se você estiver usando o Bloco de Notas ou Gedit. 131 00:07:18,960 --> 00:07:21,470 Eu realmente nunca usei Gedit muito, mas pelo menos no Notepad + + 132 00:07:21,470 --> 00:07:26,700 você pode ter abas, mas Vim tem o conceito de abas, buffers e janelas. 133 00:07:26,700 --> 00:07:28,760 Por exemplo, você pode abrir um monte de novas guias. 134 00:07:28,760 --> 00:07:31,790 >> Você pode ver aqui no topo agora eu tenho um monte de abas, 135 00:07:31,790 --> 00:07:34,350 e posso fechá-las. 136 00:07:34,350 --> 00:07:37,550 Além disso, há o conceito de buffers, 137 00:07:37,550 --> 00:07:40,110 que é a idéia de que uma vez que você abriu um arquivo 138 00:07:40,110 --> 00:07:43,910 ele permanece vivo na memória temporária, e se você quer navegar para esse arquivo muito rapidamente 139 00:07:43,910 --> 00:07:46,290 você pode navegar até ele muito rapidamente dentro do tampão, bem como, 140 00:07:46,290 --> 00:07:51,890 e, além disso, dentro de um painel você pode também dividir sua janela acima em várias janelas. 141 00:07:51,890 --> 00:07:55,890 Por exemplo, se eu quero dividir essa janela se em várias janelas 142 00:07:55,890 --> 00:08:00,080 você pode ver aqui que eu possa ter o mesmo código duas vezes, 143 00:08:00,080 --> 00:08:03,800 e posso dividir mais e mais e mais, e agora ele não parece tão bom 144 00:08:03,800 --> 00:08:07,340 porque, por padrão, tenho o tamanho de janela padrão ser uma espécie de grande 145 00:08:07,340 --> 00:08:09,490 para que todos os outros são esmagados para fora, 146 00:08:09,490 --> 00:08:12,000 mas normalmente quando estou no meu computador e não neste projetor 147 00:08:12,000 --> 00:08:15,920 Eu posso ter vários painéis abertos ao mesmo tempo, o que é muito bom para 148 00:08:15,920 --> 00:08:21,450 edição de vários arquivos ao mesmo tempo. 149 00:08:21,450 --> 00:08:23,800 Você também pode ter coisas como selecionar e substituir, 150 00:08:23,800 --> 00:08:27,900 e nós vamos realmente cobrir que no seminário, 151 00:08:27,900 --> 00:08:29,250 então eu vou pular isso por enquanto. 152 00:08:29,250 --> 00:08:32,039 Você também pode interagir com a linha de comando em todos os tipos de formas diferentes. 153 00:08:32,039 --> 00:08:36,380 Por exemplo, se eu tenho algum tipo de lista aqui e quero classificá-lo- 154 00:08:36,380 --> 00:08:43,039 Eu não sei, vamos adicionar outra fruta, uva, 155 00:08:43,039 --> 00:08:45,450 e posso destacar esta usando a função de destaque 156 00:08:45,450 --> 00:08:48,980 e chamá-tipo, e ele vai resolver isso automaticamente para mim. 157 00:08:48,980 --> 00:08:52,150 >> Da mesma forma, se você estiver indo para a edição de CSS, o que eu presumo que você provavelmente estará fazendo 158 00:08:52,150 --> 00:08:54,190 para o seu projeto final, a maioria das pessoas fazem, 159 00:08:54,190 --> 00:09:00,200 e talvez você quer manter seu CSS organizado, classificando-os em ordem alfabética. 160 00:09:00,200 --> 00:09:04,410 Você também pode destacá-los e chamá-tipo, e vai classificá-los para você. 161 00:09:04,410 --> 00:09:07,380 Estes são alguns dos exemplos das coisas que Vim pode fazer, 162 00:09:07,380 --> 00:09:10,760 e você vai perceber que a principal coisa que eu realmente quero chamar a atenção para 163 00:09:10,760 --> 00:09:14,740 é que eu estou fazendo de tudo, desde o teclado, 164 00:09:14,740 --> 00:09:18,020 e se você é capaz de ver onde as minhas mãos são colocadas 165 00:09:18,020 --> 00:09:21,210 você também vai ver que as minhas mãos nunca passar da linha casa. 166 00:09:21,210 --> 00:09:24,790 Normalmente, quando você está editando texto que você geralmente tem que usar um mouse 167 00:09:24,790 --> 00:09:28,030 e clique em volta e tudo mais, e esse tipo de movimento arrasta para baixo 168 00:09:28,030 --> 00:09:32,280 e desperdiça tempo, ou talvez você está se movendo entre a linha de casa e as teclas de seta, 169 00:09:32,280 --> 00:09:35,620 e assim que você está se movendo para trás e para a frente como esse, que é um pouco pesado 170 00:09:35,620 --> 00:09:38,750 mas também reduz a velocidade, ea coisa é quando você ficar realmente bom no Vim 171 00:09:38,750 --> 00:09:42,350 tudo o que você quer fazer é feito sem ter que mover suas mãos 172 00:09:42,350 --> 00:09:50,730 a partir da linha de casa, o que é ótimo. 173 00:09:50,730 --> 00:09:54,870 Espere, eu vou abrir esta aplicação. Lá vamos nós. 174 00:09:54,870 --> 00:09:58,320 >> Agora você pode ver o que os comandos estão correndo para baixo da janela inferior direito. 175 00:09:58,320 --> 00:10:03,190 Todas as funções que eu acabei de mostrar coisas que estão incluídos por padrão com o Vim, 176 00:10:03,190 --> 00:10:06,820 mas há também um número enorme de plugins que você também pode usar 177 00:10:06,820 --> 00:10:08,390 para melhorar sua experiência Vim. 178 00:10:08,390 --> 00:10:10,540 Se você baixou os arquivos de configuração que eu incluídos, 179 00:10:10,540 --> 00:10:13,150 e há instruções sobre como instalá-los no PowerPoint 180 00:10:13,150 --> 00:10:17,840 e também no e-mail que enviei para fora, eu tenho cerca de 40 plugins instalados 181 00:10:17,840 --> 00:10:20,490 ou talvez 30 plugins, e cada um 182 00:10:20,490 --> 00:10:24,000 traz funcionalidades adicionais para o Vim que melhora sua experiência Vim. 183 00:10:24,000 --> 00:10:26,960 Por exemplo, um dos meus favoritos é algo chamado surround.vim, 184 00:10:26,960 --> 00:10:29,760 e que basicamente permite que você trabalhe com áreas 185 00:10:29,760 --> 00:10:32,200 ou delimitando personagens muito mais facilmente. 186 00:10:32,200 --> 00:10:35,960 >> Um exemplo, eu não sei se vocês já código em LaTeX, 187 00:10:35,960 --> 00:10:38,830 mas LaTeX é uma linguagem de composição de matemática que é utilizada para fazer 188 00:10:38,830 --> 00:10:42,950 muito bom de matemática bonito, e sempre que você quer algo para se parecer com a matemática 189 00:10:42,950 --> 00:10:47,050 você envolvê-la em cifrões, e digamos que eu estou escrevendo alguma equação como F = ma, 190 00:10:47,050 --> 00:10:49,240 e eu esqueci de envolvê-la em cifrões. 191 00:10:49,240 --> 00:10:58,270 Então eu posso destacar isso e envolvê-la em cifrões apenas como aquele. 192 00:10:58,270 --> 00:11:03,640 Alternativamente, Vim permite que você apague as coisas dentro de tags 193 00:11:03,640 --> 00:11:07,300 e excluir tags e outros enfeites, mas Vim por natureza 194 00:11:07,300 --> 00:11:10,400 não permite que você altere as etiquetas, assim, por exemplo, eu tenho essa tag div, 195 00:11:10,400 --> 00:11:13,060 e eu quero atualizar para HTML5 e usar uma nova tag de cabeçalho. 196 00:11:13,060 --> 00:11:22,290 Eu posso fazer a mudança em torno tag e tipo no cabeçalho, 197 00:11:22,290 --> 00:11:26,540 e vai mudar automaticamente que para mim. 198 00:11:26,540 --> 00:11:29,620 Da mesma forma, vamos dizer que temos algo em parênteses, 199 00:11:29,620 --> 00:11:33,230 e eu queria mudar isso a partir de parênteses em suportes ou algo parecido. 200 00:11:33,230 --> 00:11:36,520 Eu também posso mudar isso muito facilmente, digitando c para a mudança, 201 00:11:36,520 --> 00:11:39,330 s para surround, entre parênteses. 202 00:11:39,330 --> 00:11:42,170 Ah, eu acho que tem que digitá-lo mais rápido. 203 00:11:42,170 --> 00:11:45,380 Parênteses e chaves ou colchetes, e ele vai mudar automaticamente que, para mim, 204 00:11:45,380 --> 00:11:48,570 que é muito bom, caso contrário, normalmente é muito complicado. 205 00:11:48,570 --> 00:11:51,310 >> Isso é muito bom para alternar entre citação talvez único 206 00:11:51,310 --> 00:11:53,060 e cadeias de aspas duplas ou algo parecido. 207 00:11:53,060 --> 00:11:56,250 Esse é um exemplo de caso de uso. 208 00:11:56,250 --> 00:11:58,750 Há um plugin chamado Fugitive 209 00:11:58,750 --> 00:12:00,260 que se integra com o Git. 210 00:12:00,260 --> 00:12:03,000 Eu estou supondo que talvez vocês não usei Git que muito em CS50, 211 00:12:03,000 --> 00:12:05,530 mas você vai encontrar-se com Git mais e mais e mais, 212 00:12:05,530 --> 00:12:09,530 não só nas aulas ao longo de Harvard, mas também em postos de trabalho e outros enfeites, 213 00:12:09,530 --> 00:12:12,650 e, normalmente, você tem que alternar entre 214 00:12:12,650 --> 00:12:15,950 a linha de comando e Vim para interagir com Git, 215 00:12:15,950 --> 00:12:18,590 mas há plugins para integração com Git a partir do Vim 216 00:12:18,590 --> 00:12:23,020 e também para lhe dar ainda uma funcionalidade adicional no topo do Git. 217 00:12:23,020 --> 00:12:25,520 Há algo chamado NERDTree, que você pode usar para explorar 218 00:12:25,520 --> 00:12:27,860 as estruturas de arquivo de dentro do vim. 219 00:12:27,860 --> 00:12:31,710 >> Por exemplo, eu posso abrir NERDTree no painel direito, 220 00:12:31,710 --> 00:12:35,100 e basicamente você pode ver arquivos aleatórios 221 00:12:35,100 --> 00:12:38,720 e os impostos não-abertos, não olhe para os meus impostos. 222 00:12:38,720 --> 00:12:43,460 Você pode olhar para os arquivos e outros enfeites e abrir outros arquivos e assim por diante e assim por diante. 223 00:12:43,460 --> 00:12:47,610 E eu não vou entrar nesses outros plugins, para que possamos mergulhar basicamente em 224 00:12:47,610 --> 00:12:51,640 e começar a trabalhar no Vim, mas existem plugins que permitem que você 225 00:12:51,640 --> 00:12:55,420 comentar mais facilmente, plugins que permitem saltar entre arquivos com mais facilidade, 226 00:12:55,420 --> 00:12:57,820 plugins que lhe dão verificação de sintaxe de dentro Vim, 227 00:12:57,820 --> 00:13:00,210 que é muito legal, e dá-lhe a verificação de sintaxe 228 00:13:00,210 --> 00:13:03,710 para a maioria das línguas para a direita fora da caixa, 229 00:13:03,710 --> 00:13:07,460 coisas como parênteses do arco-íris, que é realmente muito, muito legal. 230 00:13:07,460 --> 00:13:09,110 Deixe-me dar um exemplo de que agora. 231 00:13:09,110 --> 00:13:11,150 >> Vamos ver. 232 00:13:11,150 --> 00:13:15,460 Aqui está um código aleatório que eu estava escrevendo, 233 00:13:15,460 --> 00:13:19,720 e você vai perceber que os colchetes e parênteses são todos coloridos, 234 00:13:19,720 --> 00:13:26,120 e parênteses e colchetes da mesma cor são combinados, o que é bom 235 00:13:26,120 --> 00:13:29,380 e às vezes melhora a legibilidade do seu código. 236 00:13:29,380 --> 00:13:32,030 Você também tem autocompletar, formatação tabular. 237 00:13:32,030 --> 00:13:37,240 Quando você tem algo que você quer obter todos os comentários para alinhar 238 00:13:37,240 --> 00:13:40,820 ou se você quiser fazer uma tabela em seu texto e você quiser 239 00:13:40,820 --> 00:13:43,870 ter tudo para se parecer com uma boa mesa, em vez de ter que formatar manualmente 240 00:13:43,870 --> 00:13:46,830 existem plugins que irão formatar isso para você e assim por diante e assim por diante. 241 00:13:46,830 --> 00:13:49,400 A lista vai sobre e sobre e sobre. 242 00:13:49,400 --> 00:13:53,890 Eu poderia passar horas a explorar todas as diferentes plugins Vim que existem, 243 00:13:53,890 --> 00:13:59,780 e é incrível o que está lá fora. 244 00:13:59,780 --> 00:14:05,880 >> Todas as perguntas até agora? Doce. 245 00:14:05,880 --> 00:14:10,180 Nesse caso, nós vamos começar a brincar com o Vim, 246 00:14:10,180 --> 00:14:12,620 e eu quero que vocês trabalham com algum Vim comigo 247 00:14:12,620 --> 00:14:17,650 assim você pode obter uma sensação para ela, e eu posso guiá-lo em seus primeiros passos de trabalho com o Vim 248 00:14:17,650 --> 00:14:20,590 porque um monte de gente ficar sobrecarregado quando abrem Vim para cima, 249 00:14:20,590 --> 00:14:24,730 e, por vezes, se você não sabe mesmo o comando para sair você não pode sequer sair da Vim, 250 00:14:24,730 --> 00:14:26,350 mas não é tão ruim assim. 251 00:14:26,350 --> 00:14:28,820 Você só precisa de alguns minutos de orientação de alguém que tenha usado Vim antes 252 00:14:28,820 --> 00:14:32,220 ou ler alguns tutoriais on-line, e você estará em seu caminho em nenhum momento. 253 00:14:32,220 --> 00:14:34,570 Aqui estão algumas instruções para instalar o Vim se você não tiver já. 254 00:14:34,570 --> 00:14:39,130 Você pode olhar para esses slides após a apresentação, se você quiser instalar mais coisas. 255 00:14:39,130 --> 00:14:42,660 >> Além disso, estas são algumas instruções para instalar os meus arquivos de configuração, 256 00:14:42,660 --> 00:14:48,230 e você também pode seguir estas instruções mais tarde, se você não tiver já. 257 00:14:48,230 --> 00:14:52,390 Se vocês pudessem ir a este link e baixar um arquivo de texto. 258 00:14:52,390 --> 00:14:56,640 O link levará você para este arquivo de texto, o que eu gostaria que você baixar e abrir no Vim, 259 00:14:56,640 --> 00:15:01,580 e há um monte de exercícios e outros enfeites lá que você pode seguir em torno de mim 260 00:15:01,580 --> 00:15:09,160 e começar a obter alguma prática com algumas das operações básicas no Vim. 261 00:15:09,160 --> 00:15:12,740 Boa. 262 00:15:12,740 --> 00:15:18,430 Enquanto você está abrindo-se que eu vou dar uma breve introdução a dois princípios muito importantes 263 00:15:18,430 --> 00:15:23,080 na edição Vim que são realmente importantes para compreender antes de mergulhar Vim, 264 00:15:23,080 --> 00:15:25,720 e isso é a edição e operadores e movimentos modal. 265 00:15:25,720 --> 00:15:28,600 Eu vou cobrir edição modal primeiro, e então nós vamos cobrir os operadores e os movimentos 266 00:15:28,600 --> 00:15:30,980 daqui a pouco. 267 00:15:30,980 --> 00:15:36,910 >> A primeira distinção fundamental entre o Vim e praticamente todos os outros 268 00:15:36,910 --> 00:15:39,870 editores de texto, de qualquer tipo é que Vim é um editor modal, 269 00:15:39,870 --> 00:15:42,260 eo que isso significa é quando você está usando o Vim 270 00:15:42,260 --> 00:15:44,120 você poderia estar em um dos muitos modos diferentes. 271 00:15:44,120 --> 00:15:46,590 Não há modo normal, não há modo de inserção, há o modo visual, 272 00:15:46,590 --> 00:15:50,790 assim por diante e assim por diante, ea coisa é, suas teclas assumir diferentes ações, 273 00:15:50,790 --> 00:15:54,160 assumir significados diferentes, dependendo do que o modo que você está dentro 274 00:15:54,160 --> 00:15:58,110 Apenas como exemplo, o modo normal é o modo que você está em quando você se movimentar, 275 00:15:58,110 --> 00:16:01,820 e por isso gostaria de usar a tecla J para mover para baixo, 276 00:16:01,820 --> 00:16:05,430 mas no modo de inserção, você pode usar a tecla J para realmente digitar J na tela, 277 00:16:05,430 --> 00:16:08,230 e é por isso que muitas pessoas ficam confusas, porque eles não estão acostumados a 278 00:16:08,230 --> 00:16:11,630 estar em modos diferentes o tempo todo, e assim eles vão estar digitando as coisas, 279 00:16:11,630 --> 00:16:14,490 e você está acostumado a ter tudo o que você digita aparecem na tela, 280 00:16:14,490 --> 00:16:18,370 mas no vim talvez o cursor se move em todo o lugar 281 00:16:18,370 --> 00:16:21,020 porque você está digitando caracteres estranhos, e de repente você começa 282 00:16:21,020 --> 00:16:24,710 deslocado para o modo de inserção, porque você digitou alguma chave 283 00:16:24,710 --> 00:16:27,150 que o coloca em modo de inserção, e, em seguida, o texto começa a voar para fora, 284 00:16:27,150 --> 00:16:29,940 para que as pessoas se confundem por causa disso. 285 00:16:29,940 --> 00:16:32,960 Mas você tem que manter o controle de qual modo você está dentro, 286 00:16:32,960 --> 00:16:35,260 e se você olhar para a barra de ferramentas muito inferior do Vim 287 00:16:35,260 --> 00:16:37,410 deve haver um indicador que lhe diz que o modo que você está no momento, 288 00:16:37,410 --> 00:16:39,350 que deve ser útil. 289 00:16:39,350 --> 00:16:42,650 >> Mas, em geral, os três modos principais que você deve saber sobre, 290 00:16:42,650 --> 00:16:46,440 existem apenas, provavelmente, 6 ou 7 ou 8 modos mais ou menos, 291 00:16:46,440 --> 00:16:49,180 mas você passar a maior parte do seu tempo em 3. 292 00:16:49,180 --> 00:16:52,150 A primeira coisa é o modo normal. Isto é onde você gasta a maior parte de seu tempo. 293 00:16:52,150 --> 00:16:55,620 Todas as teclas são registrados como uma espécie de comando, 294 00:16:55,620 --> 00:16:58,870 e nós vamos estar aprendendo muito desses comandos ao longo do dia de hoje. 295 00:16:58,870 --> 00:17:03,160 O outro modo é o modo de inserção, que é onde você realmente está digitando as coisas, 296 00:17:03,160 --> 00:17:06,410 e modo de inserção é basicamente o modo que você está normalmente acostumado. 297 00:17:06,410 --> 00:17:08,650 Você digita alguma coisa, e ele só vem na tela, 298 00:17:08,650 --> 00:17:11,800 e modo visual é algo que você pode fazer realce. 299 00:17:11,800 --> 00:17:14,750 Você viu anteriormente, onde, por vezes, eu estaria destacando texto 300 00:17:14,750 --> 00:17:21,900 e manipulá-lo de diferentes maneiras, e isso é um exemplo usando o modo visual. 301 00:17:21,900 --> 00:17:27,819 >> Vamos começar com os princípios absolutos que você precisa para sobreviver no Vim, 302 00:17:27,819 --> 00:17:30,610 e é basicamente estes 7 comandos aqui. 303 00:17:30,610 --> 00:17:34,250 HJKL são usados ​​para navegar ao redor do arquivo, 304 00:17:34,250 --> 00:17:37,140 e correspondem a esquerda, para baixo, para cima e para a direita, 305 00:17:37,140 --> 00:17:39,460 e você é livre para usar as setas do teclado, bem como, 306 00:17:39,460 --> 00:17:43,110 mas nós realmente encorajamos você a usar HJKL, tanto quanto possível 307 00:17:43,110 --> 00:17:46,690 porque a idéia é que, enquanto você estiver editando, você pode mover o documento 308 00:17:46,690 --> 00:17:49,350 , sem ter que deslocar entre as setas 309 00:17:49,350 --> 00:17:52,210 e onde você está digitando, o que é muito, muito bom. 310 00:17:52,210 --> 00:17:54,390 Você só quer passar alguns personagens acabou. 311 00:17:54,390 --> 00:17:58,020 Você não tem que mudar toda a sua mão sobre, e é uma espécie de bom ter isso. 312 00:17:58,020 --> 00:18:01,920 Alguns especialistas Vim realmente mapear suas chaves de seta para outras funções 313 00:18:01,920 --> 00:18:06,880 porque eles já têm HJKL, e eles podem usar suas teclas de seta para outras funções também. 314 00:18:06,880 --> 00:18:09,080 HJKL se move em torno de você, enquanto você está no modo normal. 315 00:18:09,080 --> 00:18:11,650 Se você quiser entrar em modo de inserção e digitar algo 316 00:18:11,650 --> 00:18:15,370 você pode pressionar i para o modo de inserção, e que o coloca no modo de inserção, 317 00:18:15,370 --> 00:18:17,820 e você pode digitar algo, e você digitar fuga 318 00:18:17,820 --> 00:18:20,270 para chegar a partir do modo de inserção de volta ao modo normal. 319 00:18:20,270 --> 00:18:23,280 Fuja sempre envia-lo de volta para o modo normal 320 00:18:23,280 --> 00:18:26,740 não importa o modo que você está, e se você quer sair 321 00:18:26,740 --> 00:18:29,760 você pode digitar: wq entrar, 322 00:18:29,760 --> 00:18:32,640 ea maneira que você pode se lembrar este é w stands para gravação, 323 00:18:32,640 --> 00:18:34,960 e q está para sair, então: wq, 324 00:18:34,960 --> 00:18:39,680 e cólon executa o comando, e assim: WQ entrar para executar o comando 325 00:18:39,680 --> 00:18:41,840 salva e sai. 326 00:18:41,840 --> 00:18:46,700 >> Se você abrir o arquivo para cima nós iremos até o primeiro exercício conjunto. 327 00:18:46,700 --> 00:18:49,450 Passo 1 está sobrevivendo no Vim, 328 00:18:49,450 --> 00:18:53,490 e espero que vocês todos têm esta aberta. 329 00:18:53,490 --> 00:18:58,460 Bom, e nós temos alguns exercícios simples para você se acostumar a usar essas chaves. 330 00:18:58,460 --> 00:19:03,000 HJKL realmente não parece intuitivo em primeiro lugar, 331 00:19:03,000 --> 00:19:08,710 e este é um dos blocos iniciais que as pessoas têm ao usar o Vim 332 00:19:08,710 --> 00:19:10,820 é usar essas teclas para navegar. 333 00:19:10,820 --> 00:19:13,650 Não é intuitivo, mas uma vez que você se acostumar com isso 334 00:19:13,650 --> 00:19:19,590 ele realmente integra na sua mente, e muitas pessoas encontram-se frequentemente 335 00:19:19,590 --> 00:19:23,550 usando J e K no Word ou também no Chrome, 336 00:19:23,550 --> 00:19:26,530 e, na verdade, as pessoas criaram este plugin Chrome chamado Vimium 337 00:19:26,530 --> 00:19:29,220 que você pode usar no Chrome ou Chromium para navegar pelo Chrome 338 00:19:29,220 --> 00:19:31,380 usando o seu teclado usando atalhos Vim-like, 339 00:19:31,380 --> 00:19:35,050 que as pessoas estão muito entusiasmados com isso, mas vá em frente e tentar uso 340 00:19:35,050 --> 00:19:41,720 HJKL para navegar entre os números apenas para que você possa se familiarizar 341 00:19:41,720 --> 00:19:45,660 com a forma como estas coisas funcionam. 342 00:19:45,660 --> 00:19:50,440 >> Depois de terminar isso, você também pode ir e brincar com este labirinto que eu criei 343 00:19:50,440 --> 00:19:53,580 apenas por diversão, e você pode classificar de seguir a linha pontilhada 344 00:19:53,580 --> 00:19:59,060 e tentar não bater contra as paredes 345 00:19:59,060 --> 00:20:07,860 e tentar fazê-lo até o fim do labirinto. 346 00:20:07,860 --> 00:20:11,840 Se você usar atalhos no Gmail ou qualquer número de diferentes aplicações 347 00:20:11,840 --> 00:20:15,130 você verá que J e K, por exemplo, são muitas vezes utilizados para mover para cima e para baixo, 348 00:20:15,130 --> 00:20:19,930 e que, basicamente, vem Vim essencialmente, então você tem J e K, 349 00:20:19,930 --> 00:20:22,690 e é muito bom porque você pode se mover para cima e para baixo, sem ter que 350 00:20:22,690 --> 00:20:26,210 mover sua mão para trás e para a frente a partir das teclas de seta. 351 00:20:26,210 --> 00:20:29,410 Agora vamos tentar entrar em modo de inserção e sair do modo de inserção. 352 00:20:29,410 --> 00:20:34,370 Você vai notar que agora o meu cursor é uma grande caixa, preto, 353 00:20:34,370 --> 00:20:37,300 e quando você vai para o modo de inserção você deve achar que 354 00:20:37,300 --> 00:20:39,670 ele se transforma em um cursor estreito como você está acostumado. 355 00:20:39,670 --> 00:20:43,730 Se você estiver usando o Vim no terminal você pode não achar que este é o caso 356 00:20:43,730 --> 00:20:46,970 porque o terminal não suporta este tipo de cursor fino, 357 00:20:46,970 --> 00:20:49,890 mas se você estiver usando MacVim ou GVim no Windows 358 00:20:49,890 --> 00:20:54,590 então você deve achar que ele se transforma em um cursor, e isso é um indicador visual muito rápido. 359 00:20:54,590 --> 00:20:58,270 É para você dizer se você está no modo normal ou no modo de inserção. 360 00:20:58,270 --> 00:21:02,890 >> Vamos ir em frente e tentar editar essa linha. 361 00:21:02,890 --> 00:21:06,220 Preencha-o com sua própria informação ou o que seja, 362 00:21:06,220 --> 00:21:11,750 e como você pode fazer isso é que você pode mover-se até o final do espaço em branco, 363 00:21:11,750 --> 00:21:16,040 digite i para entrar em modo de inserção, e você pode retroceder 364 00:21:16,040 --> 00:21:21,100 e digite seu nome, e quando terminar de digitar 365 00:21:21,100 --> 00:21:26,520 você pode pressionar escape para sair do modo de inserção, 366 00:21:26,520 --> 00:21:35,930 e você pode mover-se por aqui, tipo de inserção para excluir que, 367 00:21:35,930 --> 00:21:42,700 tipo de fuga para sair do modo de inserção, e você pode digitar: w entrar 368 00:21:42,700 --> 00:21:44,720 para salvar o arquivo. 369 00:21:44,720 --> 00:21:47,420 Você pode digitar apenas: w para salvar o arquivo. 370 00:21:47,420 --> 00:21:50,560 Você pode digitar apenas: q para sair sem salvar, 371 00:21:50,560 --> 00:21:53,750 ou você pode digitar: wq para salvar e sair. 372 00:21:53,750 --> 00:21:58,850 Concedido, não quer sair ainda, então você pode digitar: w. 373 00:21:58,850 --> 00:22:01,780 E talvez que parecia um pouco ineficiente a princípio 374 00:22:01,780 --> 00:22:05,600 porque para ir para aquele lugar que você tinha que digitar J um monte de vezes, 375 00:22:05,600 --> 00:22:08,670 L talvez um monte de vezes para chegar a esse ponto, 376 00:22:08,670 --> 00:22:11,260 e você tem que pressionar backspace um monte de vezes, e parecia realmente ineficiente 377 00:22:11,260 --> 00:22:13,260 enquanto que normalmente você provavelmente passar o mouse sobre lá, 378 00:22:13,260 --> 00:22:15,880 dê um duplo clique e começar a digitar, e, claro, 379 00:22:15,880 --> 00:22:19,190 a coisa é, quando você começa com o Vim e você só sabe que esses comandos básicos, 380 00:22:19,190 --> 00:22:22,810 sim, será um pouco mais lento, mas logo você aprende alguns comandos mais poderosos, 381 00:22:22,810 --> 00:22:26,380 que permitirá que você se mover através de documentos com muito mais rapidez, 382 00:22:26,380 --> 00:22:29,410 e você não terá que ter este uso muito complicado de 383 00:22:29,410 --> 00:22:34,330 Js repetindo e repetindo Ks e Ls e assim por diante e assim por diante. 384 00:22:34,330 --> 00:22:41,340 >> Todas as perguntas até agora? Sólido. 385 00:22:41,340 --> 00:22:44,000 Voltar para o PowerPoint. 386 00:22:44,000 --> 00:22:49,140 Agora vamos introduzir mais alguns comandos para o movimento avançado. 387 00:22:49,140 --> 00:22:52,680 Você experimentou ter que digitar talvez L muito ou H muito, 388 00:22:52,680 --> 00:22:57,200 e aqui estão mais alguns comandos que você pode usar para se mover mais rapidamente. 389 00:22:57,200 --> 00:23:02,990 Suponha-se que o cursor está no O mais no algum em "Este é um texto", 390 00:23:02,990 --> 00:23:06,840 e aqui estão mais 5 comandos que você pode usar para mover toda a linha com mais facilidade. 391 00:23:06,840 --> 00:23:09,820 Assim ^ e $ movê-lo para o início e fim de linha, 392 00:23:09,820 --> 00:23:14,300 e em algum momento, quando você aprender expressões regulares ou várias outras coisas 393 00:23:14,300 --> 00:23:17,390 você verá que este tipo de convenções são muito comuns. 394 00:23:17,390 --> 00:23:19,360 A ^ refere-se geralmente ao início da linha. 395 00:23:19,360 --> 00:23:21,090 A $ geralmente refere-se ao lado da linha. 396 00:23:21,090 --> 00:23:24,130 Estes são muito fáceis de lembrar, e da mesma forma, b, e, e w, 397 00:23:24,130 --> 00:23:28,340 eles são fáceis de lembrar, mas também porque b corresponde para trás ou começo, 398 00:23:28,340 --> 00:23:30,630 e corresponde ao final, o que é o fim da palavra, 399 00:23:30,630 --> 00:23:35,530 e w corresponde à próxima palavra, então w por palavra. 400 00:23:35,530 --> 00:23:37,750 E se você continuar escrevendo e ou continuar digitando w 401 00:23:37,750 --> 00:23:43,520 você percebe que você pode saltar entre as palavras, e é muito mais rápido do que apenas digitando l. 402 00:23:43,520 --> 00:23:46,600 >> Agora, o próximo passo é o Modelo de Operador-Motion. 403 00:23:46,600 --> 00:23:50,310 Esta é realmente uma das principais razões por que o Vim pode ser tão poderoso, 404 00:23:50,310 --> 00:23:54,890 e é porque você pode essencialmente compor diferentes elementos 405 00:23:54,890 --> 00:23:58,250 em funções mais poderosas, de modo geral 406 00:23:58,250 --> 00:24:01,000 quando você faz qualquer coisa no Vim você pode pensar nisso como 407 00:24:01,000 --> 00:24:03,280 combinando um operador com um movimento. 408 00:24:03,280 --> 00:24:07,310 Até agora temos apenas tratada com movimentos, como HJKL. 409 00:24:07,310 --> 00:24:10,770 Eles se movem em torno de você, e, em seguida, b e w, eles também se movem em torno de diferentes maneiras que você, 410 00:24:10,770 --> 00:24:14,600 mas nós ainda não passou a ser capaz de apagar as coisas ou mudar as coisas ou outros enfeites, 411 00:24:14,600 --> 00:24:19,320 e quando você combina operadores com movimentos, então você é capaz de ter 412 00:24:19,320 --> 00:24:22,510 muito mais poderosos efeitos, assim, por exemplo, 413 00:24:22,510 --> 00:24:26,360 se eu queria apagar 2 palavras, eu posso usar d para o operador de eliminação, 414 00:24:26,360 --> 00:24:29,420 e eu posso adicionar a 2 para indicar que eu quero excluir duas palavras, 415 00:24:29,420 --> 00:24:31,130 e então eu incluir um movimento. 416 00:24:31,130 --> 00:24:33,490 Eu poderia incluir w dizer excluir duas palavras. 417 00:24:33,490 --> 00:24:37,740 Eu poderia usar algo como J dizer excluir descendentes 2 vezes 418 00:24:37,740 --> 00:24:39,880 e excluir 2 linhas abaixo de mim. 419 00:24:39,880 --> 00:24:43,870 Eu poderia dizer d2b excluir para trás duas vezes, 420 00:24:43,870 --> 00:24:46,450 e há ainda mais movimentos do que os que eu mostrei aqui 421 00:24:46,450 --> 00:24:52,120 para realmente fazer a sua edição Vim muito mais poderoso. 422 00:24:52,120 --> 00:24:55,450 >> Estes são alguns dos mais populares ou os operadores mais comuns 423 00:24:55,450 --> 00:24:57,030 e são bastante fáceis de lembrar também. 424 00:24:57,030 --> 00:24:59,040 D para apagar, c para a mudança. 425 00:24:59,040 --> 00:25:01,560 C é basicamente a mesma coisa, exceto que como a mudança 426 00:25:01,560 --> 00:25:05,990 quando você usa c você automaticamente se colocar em modo de inserção depois. 427 00:25:05,990 --> 00:25:08,050 Normalmente, quando você usar a eliminação de usá-lo de modo normal, 428 00:25:08,050 --> 00:25:10,950 e depois de eliminar algo que você permanecer no modo normal. 429 00:25:10,950 --> 00:25:13,380 Mas se você quer mudar alguma coisa, você pode usar c 430 00:25:13,380 --> 00:25:15,960 para apagar alguma coisa e, em seguida, ir imediatamente para o modo de inserção 431 00:25:15,960 --> 00:25:17,740 para que você possa começar a digitar e corrigir alguma coisa. 432 00:25:17,740 --> 00:25:21,160 Y é para arrancar. 433 00:25:21,160 --> 00:25:25,130 É basicamente noção de cópia do Vim. 434 00:25:25,130 --> 00:25:29,220 Por exemplo, se eu quiser copiar os próximos 2 palavras que posso fazer y2w ou algo parecido, 435 00:25:29,220 --> 00:25:32,120 e v é para destacar, essencialmente. 436 00:25:32,120 --> 00:25:35,550 E também o que é muito legal é que se você digitar um operador duas vezes 437 00:25:35,550 --> 00:25:38,890 ele vai agir em uma linha inteira, então se eu quiser excluir uma linha inteira 438 00:25:38,890 --> 00:25:41,060 Eu posso digitar dd para eliminar toda a linha, 439 00:25:41,060 --> 00:25:47,370 ou se eu quiser copiar toda a linha que eu possa usar aa ou algo parecido. 440 00:25:47,370 --> 00:25:51,600 >> Vamos tentar mais um pouco. 441 00:25:51,600 --> 00:25:56,280 Há um exercício aqui para um operador de movimento avançada, bem 442 00:25:56,280 --> 00:25:59,230 e até mesmo algumas outras coisas que eu não vou cobrir no PowerPoint, hoje, 443 00:25:59,230 --> 00:26:02,250 mas você pode se sentir livre para olhar sobre eles mais tarde e brincar com eles 444 00:26:02,250 --> 00:26:05,990 e se familiarizar com eles. 445 00:26:05,990 --> 00:26:07,630 Operadores e movimentos. 446 00:26:07,630 --> 00:26:14,220 Por exemplo, suponha que existem essas duas palavras que você apenas deseja excluir na sentença. 447 00:26:14,220 --> 00:26:17,110 O que você quer fazer é que você vai querer certificar-se de que o seu 448 00:26:17,110 --> 00:26:21,000 cursor está no início da primeira palavra que deseja excluir, 449 00:26:21,000 --> 00:26:26,230 e você pode digitar o d2w, e ele vai apagar essas duas palavras para você. 450 00:26:26,230 --> 00:26:33,140 E usando esse comando exata, d2w, pode parecer um pouco complicado 451 00:26:33,140 --> 00:26:35,940 e sem sentido, mas que deveria expressar a idéia 452 00:26:35,940 --> 00:26:39,380 que você pode compor essas coisas diferentes, e também para o caso 453 00:26:39,380 --> 00:26:42,730 você acontecer para estar na situação, então você pode acabar usando dw ou d2w, 454 00:26:42,730 --> 00:26:45,600 que eu uso ocasionalmente. 455 00:26:45,600 --> 00:26:50,030 Dd e cc eu uso muito mais vezes, pois você pode agir em linhas inteiras. 456 00:26:50,030 --> 00:26:52,000 >> Por exemplo, digamos que eu tenho essa lista aleatória aqui, 457 00:26:52,000 --> 00:26:59,030 e talvez eu queira apagar a linha que diz Huskies, porque ele não se encaixa, apenas porque, 458 00:26:59,030 --> 00:27:01,200 e eu não quero que ele vá para o modo de inserção depois. 459 00:27:01,200 --> 00:27:03,530 Eu quero excluí-lo, caso em que eu poderia digitar dd, 460 00:27:03,530 --> 00:27:07,090 e que vai apagar toda a linha. 461 00:27:07,090 --> 00:27:11,680 Mas vamos dizer que agora há essa outra linha que deseja excluir 462 00:27:11,680 --> 00:27:16,850 mas eu também quero corrigi-lo e reescrevê-lo, caso em que eu vou tentar algo como cc, 463 00:27:16,850 --> 00:27:19,550 e que exclui toda a linha, mas me coloca em modo de inserção, como você pode ver, 464 00:27:19,550 --> 00:27:24,970 e eu posso corrigi-lo de lá. 465 00:27:24,970 --> 00:27:28,510 E há muitas, muitas maneiras diferentes você pode combinar operadores e movimentos, 466 00:27:28,510 --> 00:27:31,360 e como você usa Vim mais e mais você aprende mais sobre as formas diferentes 467 00:27:31,360 --> 00:27:36,300 Você pode usar esses comandos, e você vai se tornar cada vez melhor. 468 00:27:36,300 --> 00:27:40,180 Impressionante, agora aqui estão alguns outros comandos variados 469 00:27:40,180 --> 00:27:44,700 que também são muito, muito comumente usados ​​e também irá ajudá-lo a tornar-se melhor no Vim. 470 00:27:44,700 --> 00:27:48,780 >> Por exemplo, falamos sobre minúsculas v para o destaque visual. 471 00:27:48,780 --> 00:27:51,530 Podemos também usar V maiúsculo para a linha visuais destaque. 472 00:27:51,530 --> 00:27:55,880 Dessa forma, você pode destacar linhas inteiras de uma só vez com muito mais facilidade. 473 00:27:55,880 --> 00:27:59,180 Você pode usar o quando você está no modo normal para inserir basicamente uma nova linha 474 00:27:59,180 --> 00:28:03,620 abaixo da linha que você está atualmente em e colocá-lo em modo de inserção para começar a digitar. 475 00:28:03,620 --> 00:28:07,270 Você pode usar x minúsculo para apagar o caractere que está atualmente sob o cursor. 476 00:28:07,270 --> 00:28:10,230 Você também pode usar u para desfazer, que é uma espécie de bom, 477 00:28:10,230 --> 00:28:14,180 e você pode usar maiúsculo para adicionar ao final da linha atual, 478 00:28:14,180 --> 00:28:18,310 por isso, talvez o cursor está em algum lugar na linha, e você deseja adicionar ao fim da linha. 479 00:28:18,310 --> 00:28:21,150 Depois, você pode digitar o capital A para pular imediatamente para o fim da linha 480 00:28:21,150 --> 00:28:25,140 e entrar em modo de inserção para que você pode adicionar ao fim da linha. 481 00:28:25,140 --> 00:28:30,840 >> Eu acho que eu tenho mais alguns exercícios para que possamos experimentar. 482 00:28:30,840 --> 00:28:33,240 Na verdade, não, eu não sei. Não para aqueles. 483 00:28:33,240 --> 00:28:35,810 Mas temos mais alguns exercícios para a próxima seção que vamos ver. 484 00:28:35,810 --> 00:28:38,420 Mas esses que você pode experimentar a si mesmo também. 485 00:28:38,420 --> 00:28:45,610 Por exemplo, se você digitar v regular, você vai ter destaque regular que você está acostumado a gostar disso. 486 00:28:45,610 --> 00:28:49,800 Se você digitar no capital V, você pode obter linha completa destacando assim, 487 00:28:49,800 --> 00:28:55,850 ou se eu digitar o que basicamente vai abrir uma nova linha para mim, o que é bem legal. 488 00:28:55,850 --> 00:28:58,850 X eu posso usar para apagar os caracteres no cursor. 489 00:28:58,850 --> 00:29:00,800 Eu posso pressionar x um monte de vezes e apagar coisas. 490 00:29:00,800 --> 00:29:06,720 Eu posso pressionar u para desfazer tudo isso. 491 00:29:06,720 --> 00:29:09,600 Um, eu posso digitar uma para ir imediatamente para o fim da linha, 492 00:29:09,600 --> 00:29:14,040 e eu também incluiu algumas outras teclas agradáveis 493 00:29:14,040 --> 00:29:19,240 que você também pode olhar para após a apresentação de aprender alguns outros comandos. 494 00:29:19,240 --> 00:29:21,250 >> [Estudante] O que é substituição aproximadamente? 495 00:29:21,250 --> 00:29:23,050 [Brandon L.] substituição também é muito legal 496 00:29:23,050 --> 00:29:26,240 e, basicamente, se você ir a algum lugar, 497 00:29:26,240 --> 00:29:30,060 você sempre as pessoas realmente não usá-lo que muito mais nos dias de hoje, 498 00:29:30,060 --> 00:29:34,340 mas vocês jamais visto em Microsoft Word se você digitar inserção 499 00:29:34,340 --> 00:29:37,840 de repente você entrar neste modo estranho, onde cada personagem que você digita 500 00:29:37,840 --> 00:29:39,570 basicamente substitui o próximo personagem? 501 00:29:39,570 --> 00:29:41,020 Eu não sei se vocês já vi isso. 502 00:29:41,020 --> 00:29:43,250 Isto é semelhante ao que. 503 00:29:43,250 --> 00:29:47,150 Por exemplo, se eu quiser substituir o que eu tenho atualmente, por algum motivo 504 00:29:47,150 --> 00:29:51,300 Eu posso digitar no capital R, e agora eu vou estar no modo de substituição, como você pode ver no canto inferior esquerdo. 505 00:29:51,300 --> 00:29:58,380 Se eu digitar coisas ele substitui as coisas, e eu também pode retroceder, o que é legal, 506 00:29:58,380 --> 00:30:00,140 e posso desfazer isso. 507 00:30:00,140 --> 00:30:06,980 Eu não uso isso muito frequentemente, mas de vez em quando torna-se acessível. 508 00:30:06,980 --> 00:30:14,150 >> Vamos falar sobre os objetos de texto, que é uma das minhas coisas favoritas sobre Vim, honestamente. 509 00:30:14,150 --> 00:30:19,660 Objetos de texto são, basicamente, esta noção de definir algum tipo de pedaço de texto 510 00:30:19,660 --> 00:30:26,550 dentro do seu arquivo de texto, e eu vou passar por cima dessas teclas em primeiro lugar, 511 00:30:26,550 --> 00:30:29,860 e então eu vou dar-lhe algumas demonstrações para que você possa entender melhor o que isso significa. 512 00:30:29,860 --> 00:30:34,650 W refere-se a uma palavra, como um objeto de texto como uma palavra, 513 00:30:34,650 --> 00:30:36,480 então alguma palavra que você normalmente conhecemos, 514 00:30:36,480 --> 00:30:39,300 e se há sinais de pontuação que é ao lado da palavra 515 00:30:39,300 --> 00:30:43,490 então não vai incluir a pontuação geral. 516 00:30:43,490 --> 00:30:46,440 Mas, por exemplo, se você quiser incluir a pontuação por algum motivo 517 00:30:46,440 --> 00:30:49,080 ou você está fazendo algo que não é Inglês e que pretende incluir 518 00:30:49,080 --> 00:30:51,180 todos os personagens que são delineados por espaços em branco 519 00:30:51,180 --> 00:30:55,390 você também pode usar o capital W para obter tudo o que está rodeado por espaços em branco. 520 00:30:55,390 --> 00:30:58,510 Você também pode usar parênteses para referir-se a um objeto de texto 521 00:30:58,510 --> 00:31:00,170 que está dentro de um conjunto de parênteses. 522 00:31:00,170 --> 00:31:03,950 Você pode fazer a mesma coisa com colchetes, colchetes, 523 00:31:03,950 --> 00:31:06,450 chaves, e citações, bem como, e, finalmente, 524 00:31:06,450 --> 00:31:10,970 você também pode usar t para se referir a alguma tag. 525 00:31:10,970 --> 00:31:15,390 >> Deixe-me mostrar-lhe como que realmente joga fora. 526 00:31:15,390 --> 00:31:21,380 Por exemplo, este é o meu primeiro exemplo na minha vitrine. 527 00:31:21,380 --> 00:31:26,950 Há alguma palavra nesta frase que eu quero mudar, 528 00:31:26,950 --> 00:31:30,560 e nós conversamos sobre W sendo usado como um movimento, 529 00:31:30,560 --> 00:31:33,170 mas você também pode usá-lo como um objeto de texto assim. 530 00:31:33,170 --> 00:31:40,940 Por exemplo, uma maneira que eu poderia mudar o nome de Barack ou modificá-lo, basicamente, 531 00:31:40,940 --> 00:31:46,730 é que eu poderia ir para o início da palavra e digite c para a mudança e w por palavra, 532 00:31:46,730 --> 00:31:51,650 e que irá apagar a palavra inteira e colocá-lo em modo de inserção. 533 00:31:51,650 --> 00:31:54,240 Mas é muito chato para mim ter que ir para o início da palavra o tempo todo. 534 00:31:54,240 --> 00:31:56,530 Isso é realmente irritante. Eu não quero ter que fazer isso. 535 00:31:56,530 --> 00:32:00,390 Eu posso realmente estar em qualquer lugar dentro de seu nome 536 00:32:00,390 --> 00:32:03,930 e digite CIW, eo i significa interior, 537 00:32:03,930 --> 00:32:06,590 por isso, se eu digitar CIW ele representa a mudança em uma palavra, 538 00:32:06,590 --> 00:32:10,150 ou, em outras palavras, mude a palavra que eu estou atualmente dentro, 539 00:32:10,150 --> 00:32:13,280 e ele vai te dar exatamente o mesmo efeito. 540 00:32:13,280 --> 00:32:17,130 Você pode corrigir isso. 541 00:32:17,130 --> 00:32:21,390 >> Da mesma forma, talvez eu tenha algum caso como este 542 00:32:21,390 --> 00:32:27,920 onde, por algum motivo há alguns delimitadores ou algo assim, 543 00:32:27,920 --> 00:32:31,700 ou há alguns sinais de pontuação, e eu queria apagar a coisa toda. 544 00:32:31,700 --> 00:32:36,530 Se eu digitar no CIW ele vai apagar o que está dentro desses delimitadores, 545 00:32:36,530 --> 00:32:39,830 mas eu quero começar a coisa toda que está rodeado por espaços em branco, 546 00:32:39,830 --> 00:32:42,750 para que eu possa usar CIW para apagar a coisa toda. 547 00:32:42,750 --> 00:32:51,000 Vou escrever em cinco, fazer a mesma coisa e escreva em seis. 548 00:32:51,000 --> 00:32:53,670 Da mesma forma, se eu quiser mudar algo que está dentro dos parênteses 549 00:32:53,670 --> 00:32:58,340 Eu posso digitar ci) para apagar tudo o que está dentro dos parênteses 550 00:32:58,340 --> 00:33:05,460 e, em seguida, preencher o que eu quero fazer, como int argc, o que você quer fazer, 551 00:33:05,460 --> 00:33:07,330 e da mesma forma, a mesma coisa com aspas. 552 00:33:07,330 --> 00:33:13,130 Eu posso consertar texto que está dentro de aspas, 553 00:33:13,130 --> 00:33:21,540 e eu também pode mudar as coisas que estão dentro de tags. 554 00:33:21,540 --> 00:33:24,400 Será que isso faz sentido? 555 00:33:24,400 --> 00:33:27,020 >> Outra coisa que você pode fazer é que você não tem que usar c. 556 00:33:27,020 --> 00:33:30,690 Você também pode usar d se você deseja apagar o que está dentro dessas tags. 557 00:33:30,690 --> 00:33:35,370 Se eu quiser apagar o texto dentro de uma marca que eu posso usar dit para apagar essa marca. 558 00:33:35,370 --> 00:33:40,360 Posso também usar vit para destacar o que está dentro da tag, por exemplo. 559 00:33:40,360 --> 00:33:43,920 A outra coisa é em vez de usar i no meio, você também pode usar um, 560 00:33:43,920 --> 00:33:49,490 que significa para todos, por isso lembre-se que você usa i ele vai se referir ao objeto de texto 561 00:33:49,490 --> 00:33:52,260 ou usar um objeto de texto que está contido dentro de delimitadores, 562 00:33:52,260 --> 00:33:56,000 mas se você usar um que irá incluir esse texto, assim como o próprio delimitador. 563 00:33:56,000 --> 00:33:59,180 Por exemplo, se eu quero destacar este texto ea tag circundante 564 00:33:59,180 --> 00:34:05,390 Eu posso usar cuba, v para o destaque visual, um por todos e, em seguida, t para a marca. 565 00:34:05,390 --> 00:34:08,350 Você pode fazer algo assim também. 566 00:34:08,350 --> 00:34:15,810 Talvez eu queira excluir esta google.com com as aspas em torno dele, bem como, 567 00:34:15,810 --> 00:34:22,860 e eu posso usar algo como da "para apagar tudo isso, por exemplo. 568 00:34:22,860 --> 00:34:26,520 >> Todas as perguntas até agora? 569 00:34:26,520 --> 00:34:32,270 Eu percebo que estou dumping sobre um monte de comandos Vim de uma só vez, 570 00:34:32,270 --> 00:34:36,210 e este é, basicamente, porque eu quero expô-lo a todos os diferentes comandos 571 00:34:36,210 --> 00:34:39,480 e dar-lhe uma introdução para o que esses comandos fazem no vim. 572 00:34:39,480 --> 00:34:41,460 Mas o que vai ter que acontecer é quando você voltar 573 00:34:41,460 --> 00:34:44,250 você vai ter que escolher lentamente estes comandos, um por um. 574 00:34:44,250 --> 00:34:47,880 Você não quer se estressar, porque isso é muito grande. 575 00:34:47,880 --> 00:34:50,460 Se você quiser pegar Vim o que você realmente tem que fazer é 576 00:34:50,460 --> 00:34:53,590 começar com o primeiro conjunto básico, e eu quebrei-o em aulas para você 577 00:34:53,590 --> 00:34:57,830 que tornam mais fácil para você seguir, e tentar dominar cada conjunto de comandos 578 00:34:57,830 --> 00:35:00,400 , um por um, um de cada vez. 579 00:35:00,400 --> 00:35:03,500 É muita coisa para fazer tudo de uma vez, então o que você deve fazer quando você voltar é 580 00:35:03,500 --> 00:35:10,950 ir para a primeira lição, que é HJKL, o modo de inserção, escapar para o modo normal, 581 00:35:10,950 --> 00:35:13,790 e salvar e sair, e isso é tudo que você realmente precisa para sobreviver no Vim, 582 00:35:13,790 --> 00:35:15,220 e tenha muito, muito confortável com isso. 583 00:35:15,220 --> 00:35:18,270 E depois de alguns dias, uma vez que você está muito confortável com isso 584 00:35:18,270 --> 00:35:21,170 você deve passar para os operadores de movimento mais avançados, 585 00:35:21,170 --> 00:35:25,890 os movimentos mais avançada, e para os operadores e assim por diante e assim por diante. 586 00:35:25,890 --> 00:35:32,160 >> Eu sei que eu estou passando por muita coisa, mas eu quero ficar exposto a um monte de coisas diferentes. 587 00:35:32,160 --> 00:35:36,080 Mas no caso de você está pronto para o desafio, eu posso mostrar-lhe 588 00:35:36,080 --> 00:35:43,690 como você pode colocar tudo isso em conjunto, utilizando ao máximo o que acabamos de aprender, hoje, 589 00:35:43,690 --> 00:35:46,280 e você também pode acompanhar, se quiser, 590 00:35:46,280 --> 00:35:48,590 mas eu criei um pouco de exercício aleatória. 591 00:35:48,590 --> 00:35:51,140 Suponha que tenhamos algum tipo de lista como esta 592 00:35:51,140 --> 00:35:53,200 onde você tem esses blocos com nomes de pessoas, 593 00:35:53,200 --> 00:35:55,440 casas, anos, e as concentrações e outros enfeites, 594 00:35:55,440 --> 00:35:59,240 e você quer adicionar uma nova entrada para si mesmo. 595 00:35:59,240 --> 00:36:01,530 Qual é a melhor maneira de você fazer isso? 596 00:36:01,530 --> 00:36:03,240 Vamos fazê-lo assim. 597 00:36:03,240 --> 00:36:06,620 Por que não vamos primeiro destaque deste bloco. 598 00:36:06,620 --> 00:36:08,710 Você está indo para selecioná-lo, e nós pode pressionar y para arrancar-lo, 599 00:36:08,710 --> 00:36:11,180 então agora podemos basicamente copiar e colar este modelo primeiro 600 00:36:11,180 --> 00:36:16,500 sem ter que reescrever tudo do zero. 601 00:36:16,500 --> 00:36:20,390 Agora vou pressionar j para baixo um monte de vezes para ir para baixo, 602 00:36:20,390 --> 00:36:22,560 e eu vou pressionar p para colá-lo. 603 00:36:22,560 --> 00:36:26,990 Talvez eu vou adicionar algumas linhas extras de um espaço, 604 00:36:26,990 --> 00:36:31,130 e vamos dizer que agora eu quero mudar seu nome para alguém. 605 00:36:31,130 --> 00:36:36,220 Então eu posso ir aqui e digite C2W como antes para mudar esse nome. 606 00:36:36,220 --> 00:36:38,860 Bob Jones, quem sabe. 607 00:36:38,860 --> 00:36:41,470 Talvez se eu quiser mudar de casa eu posso ir para o meio aqui 608 00:36:41,470 --> 00:36:44,230 e digite CIW e colocar Cabot House. 609 00:36:44,230 --> 00:36:47,850 >> Aqui pode ser um exemplo de onde você pode querer considerar o uso de 610 00:36:47,850 --> 00:36:52,970 o modo de substituição para mudar seu ano da graduação, se quiser, 611 00:36:52,970 --> 00:36:54,890 ou também podemos usar CIW também. 612 00:36:54,890 --> 00:36:57,550 Não importa. 613 00:36:57,550 --> 00:37:07,180 Talvez você queira mudar o seu major. 614 00:37:07,180 --> 00:37:11,310 E isso é o que você faz. 615 00:37:11,310 --> 00:37:17,170 E talvez eu vou dar-lhe uma demonstração de que eu poderia fazer 616 00:37:17,170 --> 00:37:23,820 se eu fosse, se você continuar a aprender comandos mais avançados no Vim 617 00:37:23,820 --> 00:37:25,690 porque nós estamos apenas arranhando a superfície aqui, 618 00:37:25,690 --> 00:37:28,960 e eu poderia fazer esse tipo de edição ainda mais rápido do que eu já mostrei aqui 619 00:37:28,960 --> 00:37:32,860 porque eu sei que mais comandos que não tenham obtido a oportunidade de mostrar-lhe para hoje. 620 00:37:32,860 --> 00:37:37,500 Por exemplo, se eu quero destacar isso eu posso fazê-lo assim, 621 00:37:37,500 --> 00:37:39,960 mover para baixo. 622 00:37:39,960 --> 00:37:43,860 Eu adicionei meu próprio mapeamento 623 00:37:43,860 --> 00:37:48,100 basicamente destacar automaticamente coisas para mim 624 00:37:48,100 --> 00:38:02,610 e posso-eu não sei. 625 00:38:02,610 --> 00:38:05,260 Quer dizer, isso está apenas tentando mostrar-lhe que você pode realmente 626 00:38:05,260 --> 00:38:08,180 começar a editar as coisas mais rapidamente, especialmente quando você tem todos esses diferentes campos, 627 00:38:08,180 --> 00:38:10,620 e, normalmente, o que você poderia estar fazendo é uma espécie de clique 628 00:38:10,620 --> 00:38:13,530 e destacando e digitando. 629 00:38:13,530 --> 00:38:18,530 Você pode fazer tudo de uma vez, copiar e colar, 630 00:38:18,530 --> 00:38:21,640 se movendo para cima e para baixo entre o arquivo, 631 00:38:21,640 --> 00:38:24,060 apenas delimitando coisas, formatação coisas. 632 00:38:24,060 --> 00:38:29,670 Tudo isso pode ser feito muito, muito mais rapidamente no vim. 633 00:38:29,670 --> 00:38:32,580 >> Só uma última coisa que eu acho que pode ser muito bom, 634 00:38:32,580 --> 00:38:34,820 que é localizar e substituir. 635 00:38:34,820 --> 00:38:36,460 Aqueles de vocês que usaram atalhos do Gmail 636 00:38:36,460 --> 00:38:41,050 você também vai saber que se você digitar / ele envia-lo para a caixa de pesquisa, 637 00:38:41,050 --> 00:38:44,210 e em uma série de diferentes aplicações, em geral, você verá que a barra 638 00:38:44,210 --> 00:38:47,300 ou talvez controlar barra ou algo a ver com Slash 639 00:38:47,300 --> 00:38:49,870 vai colocá-lo em uma espécie de modo de pesquisa, 640 00:38:49,870 --> 00:38:53,240 e que também vem basicamente da Vim essencialmente 641 00:38:53,240 --> 00:38:58,670 porque o operador barra ou o comando barra permite que você insira 642 00:38:58,670 --> 00:39:01,770 algum tipo de cadeia de caracteres que você pode usar para pesquisar dentro do documento. 643 00:39:01,770 --> 00:39:05,350 Você pode n eo capital N para ir para a próxima ea ocorrência anterior, 644 00:39:05,350 --> 00:39:10,700 e você também pode usar algo semelhante ao procurar e substituir no documento. 645 00:39:10,700 --> 00:39:15,060 Vou te dar uma demonstração do que pode ser feito. 646 00:39:15,060 --> 00:39:18,200 >> Talvez se eu quiser encontrar todas as instâncias do puxão cadeia dentro deste documento 647 00:39:18,200 --> 00:39:23,310 Eu posso digitar / arranco, como você pode ver no canto inferior esquerdo, 648 00:39:23,310 --> 00:39:26,350 e quando digito entrar destaca todas as instâncias. 649 00:39:26,350 --> 00:39:34,160 Eu posso usar basicamente n saltar para trás e para frente entre todos os casos diferentes, 650 00:39:34,160 --> 00:39:40,420 e vamos supor que eu quero procurar e substituir puxão com alguma palavra aleatória 651 00:39:40,420 --> 00:39:42,180 que também no documento. 652 00:39:42,180 --> 00:39:47,070 I pode pressionar: para começar a digitar em algum tipo de comando dentro Vim, 653 00:39:47,070 --> 00:39:49,610 algum comando que é mais sofisticado do que se movimentar 654 00:39:49,610 --> 00:39:51,370 ou excluir ou algo parecido. 655 00:39:51,370 --> 00:39:56,860 Eu escrevo o sinal% a referir que eu quero usar este comando substituição 656 00:39:56,860 --> 00:39:58,230 em todo o documento. 657 00:39:58,230 --> 00:40:02,380 Digite s para substituição. Isto vem de PEARL essencialmente. 658 00:40:02,380 --> 00:40:07,040 E este próximo comando é um comando bastante normal que você vai encontrar em PEARL 659 00:40:07,040 --> 00:40:09,790 vez e em outras linguagens de programação que você vai 660 00:40:09,790 --> 00:40:13,170 provavelmente começar a aprender como você faz mais ciência da computação, 661 00:40:13,170 --> 00:40:20,130 e eu basicamente pode usar / digitar a /, digite a palavra que deseja localizar e substituir 662 00:40:20,130 --> 00:40:24,280 e, em seguida, digite outro / e digitar qualquer palavra que eu quero substituir a palavra com. 663 00:40:24,280 --> 00:40:27,450 Quem sabe, talvez nyancat. 664 00:40:27,450 --> 00:40:30,390 Eu faço isso, e então você vai ver que tudo foi substituído. 665 00:40:30,390 --> 00:40:34,000 >> Mas você vai perceber que há essa palavra aqui. 666 00:40:34,000 --> 00:40:37,620 Por alguma razão, alguns dos exemplos de puxão são substituídos, mas não todos, 667 00:40:37,620 --> 00:40:40,250 e isso é porque a forma como este tipo de linguagem foi escrito 668 00:40:40,250 --> 00:40:43,550 não só no vim, mas em outros lugares é que, quando você executar o comando de substituição 669 00:40:43,550 --> 00:40:46,470 ele só irá substituir a primeira ocorrência da palavra em cada linha, 670 00:40:46,470 --> 00:40:52,810 por isso, se eu quero realmente substituir todas as ocorrências da palavra em cada linha 671 00:40:52,810 --> 00:40:56,890 então eu tenho que fazer a mesma coisa, mas acrescentar bandeira ag no final, 672 00:40:56,890 --> 00:41:00,810 que significa global, e, em seguida, que vai realmente 673 00:41:00,810 --> 00:41:06,200 substituir todas as instâncias. 674 00:41:06,200 --> 00:41:09,710 E uma vez que você aprender as expressões regulares, há realmente um seminário CS50 675 00:41:09,710 --> 00:41:12,120 sobre expressões regulares, por isso, se você está curioso sobre as expressões regulares 676 00:41:12,120 --> 00:41:16,970 você também pode tirar desse seminário e aprender mais. 677 00:41:16,970 --> 00:41:19,920 >> Mas por exemplo, digamos que eu tenho uma lista de nomes como esta, 678 00:41:19,920 --> 00:41:23,920 e eu quero reorganizar-lo, de modo que em vez de ter sobrenome, vírgula, primeiro nome 679 00:41:23,920 --> 00:41:27,490 Eu quero reorganizar-lo assim que diz o primeiro nome, o espaço, sobrenome. 680 00:41:27,490 --> 00:41:30,750 Você pode realmente usar este comando aqui 681 00:41:30,750 --> 00:41:33,600 fazer, essencialmente, que para você, assim como você pode ver aqui 682 00:41:33,600 --> 00:41:37,170 começamos com um s, o que significa que nós queremos fazer um localizar e substituir, 683 00:41:37,170 --> 00:41:42,970 e então eu adicionei um sinalizador chamado \ v, que é algo chamado esta bandeira mágica 684 00:41:42,970 --> 00:41:45,810 Vim em que permite que você faça as expressões regulares com mais facilidade. 685 00:41:45,810 --> 00:41:49,370 Então a partir daí nós combinamos basicamente para toda a linha única 686 00:41:49,370 --> 00:41:55,960 que é da forma de um conjunto de palavras, vírgula, espaço e um conjunto de palavras ou um conjunto de letras. 687 00:41:55,960 --> 00:41:59,240 \ W + basicamente significa um ou mais caracteres, 688 00:41:59,240 --> 00:42:04,030 e os parêntesis são utilizados para captar estes grupos 689 00:42:04,030 --> 00:42:06,120 para que eu possa consultá-las mais tarde. 690 00:42:06,120 --> 00:42:09,910 Como você pode ver, uma vez que estes captura dois blocos de palavras 691 00:42:09,910 --> 00:42:11,690 que são separadas por uma vírgula, espaço 692 00:42:11,690 --> 00:42:15,510 então o que queremos substituí-lo com é que eu uso \ 2 e \ 1 693 00:42:15,510 --> 00:42:18,130 remeter para as palavras que foram capturados 694 00:42:18,130 --> 00:42:20,950 no comando real descoberta, 695 00:42:20,950 --> 00:42:24,970 e assim por \ 2 refere-se a tudo o que está contido no segundo conjunto de parênteses, 696 00:42:24,970 --> 00:42:28,140 \ 1 refere-se a tudo o que está contido no primeiro conjunto de parênteses, 697 00:42:28,140 --> 00:42:31,680 e como você pode ver, eu estou colocando 2 antes de 1 de separados por um espaço 698 00:42:31,680 --> 00:42:36,650 para tentar mudar o primeiro nome antes do sobrenome. 699 00:42:36,650 --> 00:42:38,380 Será que isso faz sentido? 700 00:42:38,380 --> 00:42:43,450 >> E o que posso fazer é que eu posso esconder estes primeiros, então eu só executar este comando sobre estas linhas, 701 00:42:43,450 --> 00:42:53,720 e então eu vou digitar este comando. 702 00:42:53,720 --> 00:42:57,050 Você pode ver que ele faz exatamente como dividido. 703 00:42:57,050 --> 00:42:59,400 E, novamente, isso é apenas arranhando a superfície, 704 00:42:59,400 --> 00:43:03,020 e se você vai para o seminário expressão regular, então eu tenho certeza que você vai aprender 705 00:43:03,020 --> 00:43:05,070 coisas muito mais diferentes que você pode fazer com expressões regulares, 706 00:43:05,070 --> 00:43:08,910 e isso, basicamente, começa a sugerir o que você pode realmente fazer com Vim 707 00:43:08,910 --> 00:43:10,850 se você realmente começar a se tornar um mestre nisso. 708 00:43:10,850 --> 00:43:14,520 Talvez você queira refazer alguma coisa, e você quiser encontrar todas as instâncias 709 00:43:14,520 --> 00:43:16,980 de alguma função que segue algum tipo de padrão de nomenclatura. 710 00:43:16,980 --> 00:43:18,570 Você quer mudar a maneira que está nomeado. 711 00:43:18,570 --> 00:43:21,140 Você pode escrever algum tipo de comando como este para fazer isso por você, 712 00:43:21,140 --> 00:43:23,850 e esse é o tipo de flexibilidade que você pode começar dentro de Vim 713 00:43:23,850 --> 00:43:30,210 que você simplesmente não vai conseguir em outros editores de texto. 714 00:43:30,210 --> 00:43:34,830 >> Isso cobre basicamente todas as coisas que eu queria ensinar-lhe hoje, em seminário de hoje, 715 00:43:34,830 --> 00:43:38,580 mas, novamente, eu realmente quero salientar que, se você quiser pegar o Vim 716 00:43:38,580 --> 00:43:42,120 é verdade que há uma curva de aprendizado um pouco maior no início. 717 00:43:42,120 --> 00:43:44,230 No começo você vai ser um pouco menos produtivos 718 00:43:44,230 --> 00:43:47,010 do que você provavelmente seria de outra forma, mas se você ficar com ela 719 00:43:47,010 --> 00:43:49,890 dentro de alguns dias ou algumas semanas, dependendo de quão rápido você aprende, 720 00:43:49,890 --> 00:43:56,300 você vai se tornar muito, muito mais rápido, e eu tentei dar-lhe uma demonstração 721 00:43:56,300 --> 00:43:59,070 sobre o que é capaz de Vim, mas eu realmente não ter a chance de mostrar-lhe 722 00:43:59,070 --> 00:44:03,230 o que acontece quando eu-for normalmente exemplo, na classe I tipo em minhas anotações com Vim. 723 00:44:03,230 --> 00:44:07,920 Isso porque eu posso trabalhar muito mais rápido no Vim do que eu com qualquer outro programa. 724 00:44:07,920 --> 00:44:14,480 É, literalmente, um aumento de produtividade de 2 ou 3 vezes no Vim comparação com outros programas, 725 00:44:14,480 --> 00:44:18,800 não só com a velocidade de edição de texto, mas também na forma como eu posso me movimentar o documento 726 00:44:18,800 --> 00:44:21,510 e do jeito que eu possa acessar outros arquivos no meu computador 727 00:44:21,510 --> 00:44:23,110 e salte entre eles e assim por diante e assim por diante. 728 00:44:23,110 --> 00:44:27,600 É só um realmente, realmente enorme aumento de produtividade. 729 00:44:27,600 --> 00:44:30,550 >> Mas quando você está aprendendo, você quer ter certeza de que você aprende uma coisa de cada vez, 730 00:44:30,550 --> 00:44:34,970 e tente não sobrecarregar-se com muitos comandos diferentes 731 00:44:34,970 --> 00:44:39,090 porque há um monte de comandos e um monte de diferentes atalhos que você pode aprender no vim. 732 00:44:39,090 --> 00:44:41,780 Você quer pegar um pouco de cada vez e ao longo dos anos 733 00:44:41,780 --> 00:44:48,990 gradualmente acumular uma compreensão cada vez maior de Vim. 734 00:44:48,990 --> 00:44:51,790 Se você quiser continuar a aprender mais, estes são alguns dos tópicos mais avançados 735 00:44:51,790 --> 00:44:55,900 você pode continuar a aprender sobre, e mesmo este mal arranha a superfície. 736 00:44:55,900 --> 00:44:59,050 Aqui estão alguns plugins populares que você pode se sentir livre para check-out e Google-los 737 00:44:59,050 --> 00:45:03,750 e brincar com eles, se você quiser e só ver que tipo de plugins estão lá fora. 738 00:45:03,750 --> 00:45:06,260 E, em seguida, no final da presente PowerPoint, incluo um grupo de ligações 739 00:45:06,260 --> 00:45:08,740 a vários recursos que você pode usar para aprender. 740 00:45:08,740 --> 00:45:12,700 Aqui estão um monte de links diferentes que você pode usar para começar com o Vim. 741 00:45:12,700 --> 00:45:15,150 Eles têm diferentes tutoriais e outros enfeites, 742 00:45:15,150 --> 00:45:17,770 e, finalmente, essas são algumas coisas mais avançadas que você pode usar 743 00:45:17,770 --> 00:45:19,790 verificar igualmente para fora, bem como, 744 00:45:19,790 --> 00:45:22,340 alguns moldes de tela e algumas técnicas mais avançadas no Vim 745 00:45:22,340 --> 00:45:26,450 e também algumas peças diferentes do código-fonte, você pode olhar para cima no GitHub 746 00:45:26,450 --> 00:45:28,760 só de olhar para os arquivos de configuração de outras pessoas 747 00:45:28,760 --> 00:45:32,710 ou olhar para plugins no vim e assim por diante e assim por diante. 748 00:45:32,710 --> 00:45:40,380 >> Isso é tudo que eu tenho para você. 749 00:45:40,380 --> 00:45:43,000 [CS50.TV]