Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vim inside VSCode
Search
Cadu Ribeiro
January 16, 2020
Programming
0
29
Vim inside VSCode
Cadu Ribeiro
January 16, 2020
Tweet
Share
More Decks by Cadu Ribeiro
See All by Cadu Ribeiro
DevContainers: Facilitando o Setup de ambientes de desenvolvimento
duduribeiro
0
37
Uma introdução em perfomance de Aplicações Web para impactar positivamente a vida de seus usuários
duduribeiro
0
45
Testes Automatizados para Web - Uma Introdução
duduribeiro
0
70
Continuous Delivery - On the real world
duduribeiro
0
91
An Introduction to Automated Web Testing
duduribeiro
3
70
Continuous Delivery
duduribeiro
0
44
Agility Through Continuous Delivery
duduribeiro
0
53
Hello Ruby
duduribeiro
2
72
Other Decks in Programming
See All in Programming
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
380
Benchmark
sysong
0
280
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
640
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
600
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
210
NPOでのDevinの活用
codeforeveryone
0
460
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
620
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
460
童醫院敏捷轉型的實踐經驗
cclai999
0
200
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
340
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Adopting Sorbet at Scale
ufuk
77
9.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Fireside Chat
paigeccino
37
3.5k
For a Future-Friendly Web
brad_frost
179
9.8k
It's Worth the Effort
3n
185
28k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Transcript
VsCode + Vim Productivity +1
Carlos Ribeiro https:!//cadu.dev ☕
None
None
None
None
O que é o VsCode?
O que é o VIM?
None
None
Por que usar Vim?
Por que usar Vim no VSCode?
Instalando!
None
Primeiros passos
Vim e seus modos
Insert Mode Normal Mode Visual Mode Digitar textos e nossos
códigos Navegar e manipular Selecionar texto e editar
Exercício: exer_01.txt
Normal Mode
Navegando com hjkl k l h j i: Ir para
insert mode ESC, CTRL+C, CTRL+[: Voltar para o normal mode
None
Exercício: exer_02.txt
Navegando no painel “Go to File” CTRL+p CTRL+n
dica
Join lines High Low Middle J, H e L são
diferentes de j, h e l Navegar na tela
Exercício: exer_03.txt
Resumo • Usar hjkl para movimentar • Usar o i
para ir para o modo de inserção • Usar ESC para voltar para o modo normal • Usar HLM para scrollar o cursor na tela e J para juntar linhas
Movimentos
Movimentando
word motion
word end of word back gend of backward word
Exercício: exer_04.rb
O que é uma palavra?
• Sequência de letras, dígitos e números • Sequência de
caracteres não branco
1 isso são quatro palavras 2 isso também ... ===
O que é uma PALAVRA?
hello_world(1, 2) word WORD
WORD END OF WORD BACK gEND OF BACKWARD WORD
Exercício: exer_04.rb
find motion
find Find backward find until find unTil backward f{character}
Exercício: exer_04.rb
repetindo a busca
; próxima , anterior depois da busca:
Exercício: exer_04.rb
Mais movimentos horizontais
0 ir para o começo da linha ^ ir para
o primeiro caracter não branco da linha $ ir para o fim da linha g_ ir para o último caracter não branco da linha
Exercício: exer_05.rb
Movimentando
{ pular o parágrafo } pular o parágrafo para trás
CTRL+D scrollar meia página para baixo CTRL+U scrollar meia página para cima
Exercício: exer_06.rb
Procurando
/{pattern} procurar pattern ?{pattern} procurar pattern para trás * procurar
pela palavra do cursor # procurar pela palavra do cursor para trás n repetir busca N repetir busca para trás
Exercício: exer_06.rb
Contadores
5j ir 5 caracteres para baixo 5l ir 5 caracteres
para direita {count}{command} exemplos 2; executar ; 2 vezes 2f_ buscar segundo _ na linha
TIP: Relative Numbers
Indo para a definição
go to definition go to file CTRL+- voltar para o
trecho que você estava anteriormente
Exercício: exer_07.{js,rb}
Mais movimentos
gg ir para o topo do arquivo G ir para
o fim do arquivo {linha}gg ir para linha específica % ir para o correspondente ( { [ …
Exercício: exer_06.rb
Resumo • Aprendemos alguns movimentos mais eficientes que os básicos
hjkl • Fazer buscas • Contadores
Operadores
{operador}{count}{movimento}
d5j deletar 5 linhas para baixo ct( alterar do cursor
atual até o primeiro ( exemplos dw deletar a palavra
change delete yank put (paste) g{case} mudar case > mover
para direita < mover para esquerda
x = dl apagar caracter no cursor alguns atalhos X
= dh apagar caracter anterior ao cursor s = ch mudar caracter no cursor e entrar no Insert mode r trocar caracter no cursor e não entrar no IM
Exercício: exer_08.rb
Dobrar o operador
dd deletar a linha inteira cc alterar a linha inteira
yy copiar a linha inteira
Operadores com versões capitalizadas
D deletar do cursor até o fim da linha Y
copiar a linha inteira P colar atrás do cursor C alterar do cursor até o fim da linha
Exercício: exer_08.rb
Text Objects
{operador}{a|i}{text-object}
Text objects sentence word paragraph put (paste) tag ‘"` quotes
b ou ( ou ) blocos cercado por parênteses B ou { ou } blocos cercado por chaves < ou > blocos cercado por < > [ ou ] blocos cercado por []
Exercício: exer_09.rb
Exercício: exer_10.html
Vim surround
:ds deletar no entorno :cs mudar o entorno :ys adicionar
entorno
Exercício: exer_09.html
Exercício: exer_10.html
O comando .
Exercício: exer_11.txt
Desfazer e Refazer
u desfazer a ultima alteração CTRL+R refazer
Exercício: exer_11.txt
Resumo • Movimentos são muito úteis combinados com os operadores
• Text-Objects são movimentos especiais que descrevem documentos e são eficientes combinado com os operadores • O comando de repetição • Desfazer e Refazer
Escrevendo
insert append INSERT at start of line APPEND at end
of line open line below OPEN line above gi volta para o insert no último lugar que você deixou
Exercício: exer_12.txt
CTRL+h deletar último caracter digitado CTRL+w deletar última palavra digitada
CTRL+u deletar última linha digitada
Exercício: exer_13.txt
Visual Mode
v entrar no modo visual - caracter V entrar no
modo visual - linha CTRL+v entrar no modo visual - bloco
Exercício: exer_14.rb
Repetindo operações em busca
gn próximo resultado com seleção visual gN resultado anterior com
seleção visual
Exercício: exer_16.txt
copiar&colar com registradores
" unnamed register a-z named register 0 yank register 1-9
cut register
“{register}{operation}{motion}
“ayy copiar a linha para o registrador a exemplos “byaw
copiar a palavra para o registrador b “bp colar registrador b
Exercício: exer_17.txt
Multiplos cursores
CMD+D adiciona outro cursor com a mesma seleção da palavra
atual
Exercício: exer_18.rb
Ex commands
:edit {arquivo relativo} editar arquivo :write gravar arquivo :quit fechar
arquivo
Divisões (splits)
:sp ou CTRL+W S split horizontal :vsp ou CTRL+W V
split vertical
Navegando nas divisões
:CTRL+[h,j,k,l] Mover para a divisão (h: esquerda, l: direita, etc)
Abas (tabs)
:tabnew {arquivo} abrir o arquivo em nova aba :tabnext ir
para a próxima aba :tabprevious ir para a aba anterior :tabonly fechar todas as outras abas
Mapeamento customizado e a tecla Leader
THANK YOU!
[email protected]
https://cadu.dev