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
19
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
18
Uma introdução em perfomance de Aplicações Web para impactar positivamente a vida de seus usuários
duduribeiro
0
40
Testes Automatizados para Web - Uma Introdução
duduribeiro
0
65
Continuous Delivery - On the real world
duduribeiro
0
86
An Introduction to Automated Web Testing
duduribeiro
3
61
Continuous Delivery
duduribeiro
0
36
Agility Through Continuous Delivery
duduribeiro
0
43
Hello Ruby
duduribeiro
2
62
Other Decks in Programming
See All in Programming
◯◯エンジニアになった理由
gessy0129
PRO
0
580
推しの夫に恋のGPS「ときメーター」#M5Stack #IoT #M5JPTour2024
riyu
0
220
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
140
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
3
110
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.1k
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
100
グローバルなソフトウェアテスト組織における課題と戦略 / Challenges and Strategies in a Global Software Testing Organization #mf_techday
imtnd
0
220
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
3
150
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
470
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
seike460
PRO
5
270
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
180
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
5
1.4k
Featured
See All Featured
Done Done
chrislema
181
16k
Documentation Writing (for coders)
carmenintech
65
4.3k
GraphQLとの向き合い方2022年版
quramy
43
13k
A Philosophy of Restraint
colly
202
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.9k
Typedesign – Prime Four
hannesfritz
39
2.3k
Practical Orchestrator
shlominoach
185
10k
Adopting Sorbet at Scale
ufuk
73
8.9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building Adaptive Systems
keathley
37
2.1k
Designing Experiences People Love
moore
138
23k
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