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
30
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
38
Uma introdução em perfomance de Aplicações Web para impactar positivamente a vida de seus usuários
duduribeiro
0
46
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
72
Continuous Delivery
duduribeiro
0
44
Agility Through Continuous Delivery
duduribeiro
0
53
Hello Ruby
duduribeiro
2
73
Other Decks in Programming
See All in Programming
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
260
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
Ruby Parser progress report 2025
yui_knk
1
430
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
AI時代のUIはどこへ行く?
yusukebe
17
8.7k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
130
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
560
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
100
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
110
機能追加とリーダー業務の類似性
rinchoku
2
1.2k
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
470
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2k
Featured
See All Featured
Designing for Performance
lara
610
69k
Scaling GitHub
holman
463
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Fireside Chat
paigeccino
39
3.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Navigating Team Friction
lara
189
15k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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