SlideShare a Scribd company logo
1
@ k a i _ r i c h a r d
UNDERSTANDING VI(M)
2
@ k a i _ r i c h a r d
Currently on a mission to narrow the gap
between human thinking and computer
language
Kai Richard König
P A R T N E R @ B I T S P A R K
3
@ k a i _ r i c h a r d
Vi user for 10 years
Switched from textmate
I use VI(M) professionally for a long time
now
4
@ k a i _ r i c h a r d
Before falling in love with VI(M) I used
notepad++ and later textmate
5
@ k a i _ r i c h a r d
Manipulating text is the most fundamental skill a
programmer should have.
The better you are at it the faster you can
translate ideas and concepts into working code.
6
@ k a i _ r i c h a r d
VI(M) has a special
place among all
other editors
7
@ k a i _ r i c h a r d VI(M) has a special place among all other editors
8
@ k a i _ r i c h a r d VI(M) has a special place among all other editors
9
@ k a i _ r i c h a r d
What I hope you take away from this
> History of the first flamewar (emacs vs. vi)
> Understand the differences between emacs and vim
> And how to turn vim + shell into a workable IDE
10
@ k a i _ r i c h a r d
'Those who do not learn history are doomed to repeat it.'
11
@ k a i _ r i c h a r d
DEMO like it‘s 01.01.1970
12
@ k a i _ r i c h a r d
ed‘s ideas and limitation?
> Two distinct modes insert and command/normal
> No arrowkeys and no backspace
> Pain in the a$$ to work with
> No idea where the cursor is or what the document looks like
13
@ k a i _ r i c h a r d
A little History of Editors
ed sed
ex vi
emacs
1976
https://en.wikipedia.org/wiki/Editor_war
1991
vim
1970
14
@ k a i _ r i c h a r d
Operators and Motions are the building blocks
of text manipulation language in VIM
opertator:count:motion
d - delete
y - copy
c - change
/ - search
w - word
f - find
15
@ k a i _ r i c h a r d
The fundamental difference is how you execute
commands against text
In Emacs every command can be bound any keystroke –
e.g. `deleteWordUnderCursor()` can be CTRL+Shift+Y
In VI every keystroke is a command that can be
composed with other commands – e.g. `diw`
BTW: this resembles the UNIX philosophy more closely
16
@ k a i _ r i c h a r d
DEMO like it‘s 01.01.1990 – sort of
17
@ k a i _ r i c h a r d
You can turn VIM into an IDE with tmux and
some essential plugins
18
@ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
Don't put anything in your .vimrc you don't understand!
https://dougblack.io/words/a-good-vimrc.html
19
@ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
Don‘t be like me
20
@ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
https://github.com/Shougo/dein.vim
21
@ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
https://github.com/ctrlpvim/ctrlp.vim
https://github.com/scrooloose/nerdtree
22
@ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
https://github.com/tmux/tmux
23
@ k a i _ r i c h a r d
You wont succeed if you don‘t practice – but
don‘t be to hard on your self.
VI is not difficult it‘s just uncommon because we
are so used to the ideas of emacs
Start slow and ease into it - when using the shell to
change code use VI from time to time.
Don‘t go crazy with plugins.
24
@ k a i _ r i c h a r d
Thanks
ʕ •ᴥ•ʔ
25
@ k a i _ r i c h a r d
Questions?
26
@ k a i _ r i c h a r d
Slides and Links
Twitter: @kai_richard
Github: https://github.com/kairichard/
LinkedIn: https://www.linkedin.com/in/kairichard/

More Related Content

Similar to Understanding VI(M)

So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
Cloud Native Day Tel Aviv
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)
Paul Hopton
 
Viacheslav Eremin interview about DOT NET (eng lang)
Viacheslav Eremin interview about DOT NET (eng lang)Viacheslav Eremin interview about DOT NET (eng lang)
Viacheslav Eremin interview about DOT NET (eng lang)
Viacheslav Eremin
 
Angular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entreprise
LINAGORA
 
So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What? So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What?
Tesora
 
Migrating From Cpp To C Sharp
Migrating From Cpp To C SharpMigrating From Cpp To C Sharp
Migrating From Cpp To C SharpGanesh Samarthyam
 
C++ for hackers
C++ for hackersC++ for hackers
C++ for hackers
Franciny Salles
 
His162013 140529214456-phpapp01
His162013 140529214456-phpapp01His162013 140529214456-phpapp01
His162013 140529214456-phpapp01Getachew Ganfur
 
Glimworm 21-11-2013
Glimworm 21-11-2013Glimworm 21-11-2013
Glimworm 21-11-2013
relayr
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
Altinity Ltd
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it security
CESAR A. RUIZ C
 
Summer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptxSummer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptx
shokeenk14
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
benDesigning
 
Awesome application in 2014
Awesome application in 2014Awesome application in 2014
Awesome application in 2014
Codemotion
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin development
R-Cubed Design Forge
 
vpTech - Practical F# in Finance
vpTech - Practical F# in FinancevpTech - Practical F# in Finance
vpTech - Practical F# in Finance
Amin Khansari
 
C++ In One Day_Nho Vĩnh Share
C++ In One Day_Nho Vĩnh ShareC++ In One Day_Nho Vĩnh Share
C++ In One Day_Nho Vĩnh Share
Nho Vĩnh
 

Similar to Understanding VI(M) (20)

So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
So Your OpenStack Cloud is Built... Now What's Next - Walter Bentley - OpenSt...
 
[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)Glimworm 21 11-13 (1)
Glimworm 21 11-13 (1)
 
Viacheslav Eremin interview about DOT NET (eng lang)
Viacheslav Eremin interview about DOT NET (eng lang)Viacheslav Eremin interview about DOT NET (eng lang)
Viacheslav Eremin interview about DOT NET (eng lang)
 
MyReplayInZen
MyReplayInZenMyReplayInZen
MyReplayInZen
 
Angular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entreprise
 
So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What? So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What?
 
Migrating From Cpp To C Sharp
Migrating From Cpp To C SharpMigrating From Cpp To C Sharp
Migrating From Cpp To C Sharp
 
C++ for hackers
C++ for hackersC++ for hackers
C++ for hackers
 
His162013 140529214456-phpapp01
His162013 140529214456-phpapp01His162013 140529214456-phpapp01
His162013 140529214456-phpapp01
 
Glimworm 21-11-2013
Glimworm 21-11-2013Glimworm 21-11-2013
Glimworm 21-11-2013
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it security
 
Summer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptxSummer training PPT Manasv Singharia.pptx
Summer training PPT Manasv Singharia.pptx
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Awesome application in 2014
Awesome application in 2014Awesome application in 2014
Awesome application in 2014
 
C tutorials
C tutorialsC tutorials
C tutorials
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin development
 
vpTech - Practical F# in Finance
vpTech - Practical F# in FinancevpTech - Practical F# in Finance
vpTech - Practical F# in Finance
 
C++ In One Day_Nho Vĩnh Share
C++ In One Day_Nho Vĩnh ShareC++ In One Day_Nho Vĩnh Share
C++ In One Day_Nho Vĩnh Share
 

Recently uploaded

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 

Recently uploaded (20)

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 

Understanding VI(M)

  • 1. 1 @ k a i _ r i c h a r d UNDERSTANDING VI(M)
  • 2. 2 @ k a i _ r i c h a r d Currently on a mission to narrow the gap between human thinking and computer language Kai Richard König P A R T N E R @ B I T S P A R K
  • 3. 3 @ k a i _ r i c h a r d Vi user for 10 years Switched from textmate I use VI(M) professionally for a long time now
  • 4. 4 @ k a i _ r i c h a r d Before falling in love with VI(M) I used notepad++ and later textmate
  • 5. 5 @ k a i _ r i c h a r d Manipulating text is the most fundamental skill a programmer should have. The better you are at it the faster you can translate ideas and concepts into working code.
  • 6. 6 @ k a i _ r i c h a r d VI(M) has a special place among all other editors
  • 7. 7 @ k a i _ r i c h a r d VI(M) has a special place among all other editors
  • 8. 8 @ k a i _ r i c h a r d VI(M) has a special place among all other editors
  • 9. 9 @ k a i _ r i c h a r d What I hope you take away from this > History of the first flamewar (emacs vs. vi) > Understand the differences between emacs and vim > And how to turn vim + shell into a workable IDE
  • 10. 10 @ k a i _ r i c h a r d 'Those who do not learn history are doomed to repeat it.'
  • 11. 11 @ k a i _ r i c h a r d DEMO like it‘s 01.01.1970
  • 12. 12 @ k a i _ r i c h a r d ed‘s ideas and limitation? > Two distinct modes insert and command/normal > No arrowkeys and no backspace > Pain in the a$$ to work with > No idea where the cursor is or what the document looks like
  • 13. 13 @ k a i _ r i c h a r d A little History of Editors ed sed ex vi emacs 1976 https://en.wikipedia.org/wiki/Editor_war 1991 vim 1970
  • 14. 14 @ k a i _ r i c h a r d Operators and Motions are the building blocks of text manipulation language in VIM opertator:count:motion d - delete y - copy c - change / - search w - word f - find
  • 15. 15 @ k a i _ r i c h a r d The fundamental difference is how you execute commands against text In Emacs every command can be bound any keystroke – e.g. `deleteWordUnderCursor()` can be CTRL+Shift+Y In VI every keystroke is a command that can be composed with other commands – e.g. `diw` BTW: this resembles the UNIX philosophy more closely
  • 16. 16 @ k a i _ r i c h a r d DEMO like it‘s 01.01.1990 – sort of
  • 17. 17 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins
  • 18. 18 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins Don't put anything in your .vimrc you don't understand! https://dougblack.io/words/a-good-vimrc.html
  • 19. 19 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins Don‘t be like me
  • 20. 20 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins https://github.com/Shougo/dein.vim
  • 21. 21 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins https://github.com/ctrlpvim/ctrlp.vim https://github.com/scrooloose/nerdtree
  • 22. 22 @ k a i _ r i c h a r d You can turn VIM into an IDE with tmux and some essential plugins https://github.com/tmux/tmux
  • 23. 23 @ k a i _ r i c h a r d You wont succeed if you don‘t practice – but don‘t be to hard on your self. VI is not difficult it‘s just uncommon because we are so used to the ideas of emacs Start slow and ease into it - when using the shell to change code use VI from time to time. Don‘t go crazy with plugins.
  • 24. 24 @ k a i _ r i c h a r d Thanks ʕ •ᴥ•ʔ
  • 25. 25 @ k a i _ r i c h a r d Questions?
  • 26. 26 @ k a i _ r i c h a r d Slides and Links Twitter: @kai_richard Github: https://github.com/kairichard/ LinkedIn: https://www.linkedin.com/in/kairichard/

Editor's Notes

  1. Beore using VI i used textmate and before that i think it was notepad ++
  2. Beore using VI i used textmate and before that i think it was notepad ++
  3. I can talk a little bit about vim and share my experience with you but not at all would I call my self an advance user. But manipulating text is the most fundamental skill a programmer should have. The better you are at changing things to match you internal concept/idea the faster you are at translating ideas into working code.
  4. Backspace wan‘t invented yet that is vim tried to be effcient
  5. Then came the mouse and changed everything. Because it is easy to learn and does not require remembering keystrokes and movements, it only needs visual cortex which costs less energy and is easier to use. Make the metaphore with the champions chips of remembering stuff and the one strategy they use to put stuff into imaganiary places. When you are not inserting new code what are you doing?
  6. There are many motions, word-motion, text-motions, line motions - but the underlying syntax of the language stays the same. To gether these from commands