SlideShare a Scribd company logo
Stockholm Syndrome
with Vim
or how I learned to love the editor
Futurice Tech Weekly July 6th 2018
Juhis

@hamatti
…
What are we not talking ‘bout today?
Plugins
How to configure your vim
How to use vim
Things that every editor has
What are we talking ‘bout today?
Vim as a Language
(aka. why using vim is not a memory game)
:q
(or :wqa!)
Before we start
Vim as a Language
Modes
Motions
Verbs
Vim as a Language
Modes
Motions
Verbs
Vim Modes
Normal (ESC)
Visual (v)
Insert (i)
Vim as a Language
Modes
Motions
Verbs
Vim as a Language
<number><command><text object or motion>
Motions
h, j, k, l = left, down, up, right
w, e, b = word
{, } = paragraph
f, F, /, ? = search
t = next occurrence
^, $ = start of the line, end of the line
gg, G = start of file, end of file
:[number] = move to line
Vim as a Language
Modes
Motions
Verbs
delete

change

yank
around

inner
gu = convert to lowercase

gU = convert to upper case

g~ = toggle case
Verbs
. = repeat
q = record macro
: = execute command
Extra
Command-based

=> I can record and rerun my actions
Great options to manipulate text/
code/data
Why do I ❤ vim
https://stackoverflow.com/questions/1218390/what-is-your-most-productive-
shortcut-with-vim/1220118#1220118
https://laracasts.com/series/vim-mastery
https://vim-adventures.com/
https://medium.com/@mkozlows/why-atom-cant-replace-vim-433852f4b4d1
http://learnvimscriptthehardway.stevelosh.com/
https://pragprog.com/book/dnvim/practical-vim (thanks @cfricke!)
http://vimcasts.org/ (thanks @cfricke!)
Resources
Thank you!
Futurice Tech Weekly July 6th 2018
Juhis

@hamatti

More Related Content

More from Juha-Matti Santala

PyCon Estonia: Contemporary Documentation
PyCon Estonia: Contemporary DocumentationPyCon Estonia: Contemporary Documentation
PyCon Estonia: Contemporary Documentation
Juha-Matti Santala
 
Contemporary Documentation - HelsinkiJS
Contemporary Documentation - HelsinkiJSContemporary Documentation - HelsinkiJS
Contemporary Documentation - HelsinkiJS
Juha-Matti Santala
 
Contemporary Documentation - TampereJS
Contemporary Documentation - TampereJSContemporary Documentation - TampereJS
Contemporary Documentation - TampereJS
Juha-Matti Santala
 
The Art of Side Projects
The Art of Side ProjectsThe Art of Side Projects
The Art of Side Projects
Juha-Matti Santala
 
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
Juha-Matti Santala
 
PyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
PyCon CZ 2019 Lightning Talk: 7 Days to OstravaPyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
PyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
Juha-Matti Santala
 
I teach, therefore I learn
I teach, therefore I learnI teach, therefore I learn
I teach, therefore I learn
Juha-Matti Santala
 
Inspiration, Learning and Experimentation in Codepen
Inspiration, Learning and Experimentation in CodepenInspiration, Learning and Experimentation in Codepen
Inspiration, Learning and Experimentation in Codepen
Juha-Matti Santala
 
You should have FOMO: What you're missing out if you're still using Python 2.7
You should have FOMO: What you're missing out if you're still using Python 2.7You should have FOMO: What you're missing out if you're still using Python 2.7
You should have FOMO: What you're missing out if you're still using Python 2.7
Juha-Matti Santala
 
OuluES Human Accelerator: Dream Workshop
OuluES Human Accelerator: Dream WorkshopOuluES Human Accelerator: Dream Workshop
OuluES Human Accelerator: Dream Workshop
Juha-Matti Santala
 
Minimum Viable Product: the workshop
Minimum Viable Product: the workshopMinimum Viable Product: the workshop
Minimum Viable Product: the workshop
Juha-Matti Santala
 
Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging
Juha-Matti Santala
 
Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of DebuggingHappy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging
Juha-Matti Santala
 
Dream Workshop @ Boost Human Accelerator
Dream Workshop @ Boost Human AcceleratorDream Workshop @ Boost Human Accelerator
Dream Workshop @ Boost Human Accelerator
Juha-Matti Santala
 
Communities in Marketing - Perjantaipresis
Communities in Marketing - PerjantaipresisCommunities in Marketing - Perjantaipresis
Communities in Marketing - Perjantaipresis
Juha-Matti Santala
 
Why the fuck would anyone hire you - how to make yourself appealing at the jo...
Why the fuck would anyone hire you - how to make yourself appealing at the jo...Why the fuck would anyone hire you - how to make yourself appealing at the jo...
Why the fuck would anyone hire you - how to make yourself appealing at the jo...
Juha-Matti Santala
 
Pitching 101
Pitching 101Pitching 101
Pitching 101
Juha-Matti Santala
 

More from Juha-Matti Santala (17)

PyCon Estonia: Contemporary Documentation
PyCon Estonia: Contemporary DocumentationPyCon Estonia: Contemporary Documentation
PyCon Estonia: Contemporary Documentation
 
Contemporary Documentation - HelsinkiJS
Contemporary Documentation - HelsinkiJSContemporary Documentation - HelsinkiJS
Contemporary Documentation - HelsinkiJS
 
Contemporary Documentation - TampereJS
Contemporary Documentation - TampereJSContemporary Documentation - TampereJS
Contemporary Documentation - TampereJS
 
The Art of Side Projects
The Art of Side ProjectsThe Art of Side Projects
The Art of Side Projects
 
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
“Graphical Perception and Graphical Methods for Analyzing Scientific Data” - ...
 
PyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
PyCon CZ 2019 Lightning Talk: 7 Days to OstravaPyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
PyCon CZ 2019 Lightning Talk: 7 Days to Ostrava
 
I teach, therefore I learn
I teach, therefore I learnI teach, therefore I learn
I teach, therefore I learn
 
Inspiration, Learning and Experimentation in Codepen
Inspiration, Learning and Experimentation in CodepenInspiration, Learning and Experimentation in Codepen
Inspiration, Learning and Experimentation in Codepen
 
You should have FOMO: What you're missing out if you're still using Python 2.7
You should have FOMO: What you're missing out if you're still using Python 2.7You should have FOMO: What you're missing out if you're still using Python 2.7
You should have FOMO: What you're missing out if you're still using Python 2.7
 
OuluES Human Accelerator: Dream Workshop
OuluES Human Accelerator: Dream WorkshopOuluES Human Accelerator: Dream Workshop
OuluES Human Accelerator: Dream Workshop
 
Minimum Viable Product: the workshop
Minimum Viable Product: the workshopMinimum Viable Product: the workshop
Minimum Viable Product: the workshop
 
Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging
 
Happy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of DebuggingHappy Little Accidents - The Art of Debugging
Happy Little Accidents - The Art of Debugging
 
Dream Workshop @ Boost Human Accelerator
Dream Workshop @ Boost Human AcceleratorDream Workshop @ Boost Human Accelerator
Dream Workshop @ Boost Human Accelerator
 
Communities in Marketing - Perjantaipresis
Communities in Marketing - PerjantaipresisCommunities in Marketing - Perjantaipresis
Communities in Marketing - Perjantaipresis
 
Why the fuck would anyone hire you - how to make yourself appealing at the jo...
Why the fuck would anyone hire you - how to make yourself appealing at the jo...Why the fuck would anyone hire you - how to make yourself appealing at the jo...
Why the fuck would anyone hire you - how to make yourself appealing at the jo...
 
Pitching 101
Pitching 101Pitching 101
Pitching 101
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

Stockholm syndrome: or how I learned to love the editor