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
38
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
71
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
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
130
TypeScriptでDXを上げろ! Hono編
yusukebe
3
860
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
2
1.3k
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
220
階層化自動テストで開発に機動力を
ickx
1
420
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
220
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
150
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
210
テスト駆動Kaggle
isax1015
1
880
「App Intent」よくわからんけどすごい!
rinngo0302
1
120
Porting a visionOS App to Android XR
akkeylab
0
910
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.7k
The Invisible Side of Design
smashingmag
301
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Embracing the Ebb and Flow
colly
86
4.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
850
YesSQL, Process and Tooling at Scale
rocio
173
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.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!
mail@cadu.dev https://cadu.dev