SlideShare a Scribd company logo
1 of 30
Download to read offline
Keynote
                                ujihisa.vim#2
                                Nov 19, 2011
                              Tatsuhiro Ujihisa




Saturday, November 19, 2011
How to be a good
                           programmer



Saturday, November 19, 2011
Agenda
               • me
               • goal
               • steps



Saturday, November 19, 2011
• @ujm
               • github/ujihisa
               • Vim Hacks author
               • ~/.vimrc: 1729 lines
               • plugins
                • vital.vim
                • blogger.vim
                • unite-*, and neco-*
Saturday, November 19, 2011
• Vancouver, Canada
               • HootSuite Media inc
               • Vim Workshop (Kansai) 1 ~ 10
               • VimKaigi 2010
               • ujihisa.vim#1
               • MacVim
Saturday, November 19, 2011
• Vim
                • 13/14 ~ 27
               • Supervisor
                • @kana1



Saturday, November 19, 2011
(Naming matters)
               • Bad names
                • simple-*
                • easy-*
                • quick-*
               • subjective adjectives

Saturday, November 19, 2011
How to be a good
                           programmer



Saturday, November 19, 2011
Saturday, November 19, 2011
Steps
               • (non-vimmer)
               • Lv1
               • Lv2
               •     Lv3
               •     Lv4
               •     Lv5

               •     Lv6

               •     Lv7

               •     Lv8




Saturday, November 19, 2011
Mostly for beginners



Saturday, November 19, 2011
Lv1
               • vimtutor'ed
                • $ vimtutor ja
               • hjkl
               • <esc> i a
               • :w :q :wq
               •v y p
Saturday, November 19, 2011
Lv2
               • No need for visual mode
               • motions
                • y}
               • text-objects
                • daw

Saturday, November 19, 2011
Lv2 (cont'd)
               • neocomplcache.vim
                • auto complete
               • vimrc: plugin configs



Saturday, November 19, 2011
EP/FP
               • HP/MP
               • Eye sight point/power
               • Finger (pinky) point/power
               • Don't use your eyes too much
               • Don't use your fingers too much
Saturday, November 19, 2011
Lv3
               • many plugins
                • aesthetics for plugins
               • quickrun.vim
               • vimrc
                • key mappings
                • commands
Saturday, November 19, 2011
Key mapping battle
               • insert mode → normal mode
                • <ESC>
                • <C-[>
                • jj
                • (etc)
Saturday, November 19, 2011
Lv4
               • unite.vim
                • file_rec
               • your vim plugins
                • github / vim.org
               • vimrc
                • draft of functions
Saturday, November 19, 2011
Vim script
               • VimScript
               • Vimscript
               • Vim script



Saturday, November 19, 2011
Lv5
               • more unite.vim
                • third party unite plugins
               • more neocomplcache.vim
                • third party neco plugins
               • vimshell

Saturday, November 19, 2011
Lv6
               • shell is vimshell
               • frequent bug report w/ patch
               • tool driven development
               • vital.vim


Saturday, November 19, 2011
Shell script
               • = Vim script




Saturday, November 19, 2011
Lv7
               • Vim inside




Saturday, November 19, 2011
Lv8




Saturday, November 19, 2011
Lv9




Saturday, November 19, 2011
Lv10




Saturday, November 19, 2011
Lv11




Saturday, November 19, 2011
ujihisa.vim
                               Keynote



Saturday, November 19, 2011
I got married
               • 10 days ago
               • she will come here in an hour




Saturday, November 19, 2011
ujihisa.vim
                               Keynote



Saturday, November 19, 2011

More Related Content

Viewers also liked (6)

Real World Haskell: Lecture 5
Real World Haskell: Lecture 5Real World Haskell: Lecture 5
Real World Haskell: Lecture 5
 
Building fast webapps, fast - Velocity 2010
Building fast webapps, fast - Velocity 2010Building fast webapps, fast - Velocity 2010
Building fast webapps, fast - Velocity 2010
 
From Javascript To Haskell
From Javascript To HaskellFrom Javascript To Haskell
From Javascript To Haskell
 
Real World Haskell: Lecture 6
Real World Haskell: Lecture 6Real World Haskell: Lecture 6
Real World Haskell: Lecture 6
 
Real World Haskell: Lecture 3
Real World Haskell: Lecture 3Real World Haskell: Lecture 3
Real World Haskell: Lecture 3
 
From Ruby to Haskell (Kansai Yami RubyKaigi)
From Ruby to Haskell (Kansai Yami RubyKaigi)From Ruby to Haskell (Kansai Yami RubyKaigi)
From Ruby to Haskell (Kansai Yami RubyKaigi)
 

More from ujihisa

vimconf2013
vimconf2013vimconf2013
vimconf2013
ujihisa
 
vimshell made other shells legacy
vimshell made other shells legacyvimshell made other shells legacy
vimshell made other shells legacy
ujihisa
 
CoffeeScript in hootsuite
CoffeeScript in hootsuiteCoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2
ujihisa
 
Ruby Kansai49
Ruby Kansai49Ruby Kansai49
Ruby Kansai49
ujihisa
 
Hootsuite dev 2011
Hootsuite dev 2011Hootsuite dev 2011
Hootsuite dev 2011
ujihisa
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
 
Hacking Parse.y with ujihisa
Hacking Parse.y with ujihisaHacking Parse.y with ujihisa
Hacking Parse.y with ujihisa
ujihisa
 
Ruby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisaRuby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisa
ujihisa
 
All About Metarw -- VimM#2
All About Metarw -- VimM#2All About Metarw -- VimM#2
All About Metarw -- VimM#2
ujihisa
 
Itc2008 Ujihisa
Itc2008 UjihisaItc2008 Ujihisa
Itc2008 Ujihisa
ujihisa
 
Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008
ujihisa
 
From Java To Haskell P
From Java To Haskell PFrom Java To Haskell P
From Java To Haskell P
ujihisa
 

More from ujihisa (20)

vimconf2013
vimconf2013vimconf2013
vimconf2013
 
KOF2013 Minecraft / Clojure
KOF2013 Minecraft / ClojureKOF2013 Minecraft / Clojure
KOF2013 Minecraft / Clojure
 
vimshell made other shells legacy
vimshell made other shells legacyvimshell made other shells legacy
vimshell made other shells legacy
 
Text Manipulation with/without Parsec
Text Manipulation with/without ParsecText Manipulation with/without Parsec
Text Manipulation with/without Parsec
 
CoffeeScript in hootsuite
CoffeeScript in hootsuiteCoffeeScript in hootsuite
CoffeeScript in hootsuite
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2
 
Ruby Kansai49
Ruby Kansai49Ruby Kansai49
Ruby Kansai49
 
Hootsuite dev 2011
Hootsuite dev 2011Hootsuite dev 2011
Hootsuite dev 2011
 
LLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, JapanLLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, Japan
 
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
 
Hacking parse.y (RubyConf 2009)
Hacking parse.y (RubyConf 2009)Hacking parse.y (RubyConf 2009)
Hacking parse.y (RubyConf 2009)
 
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
 
Hacking Parse.y with ujihisa
Hacking Parse.y with ujihisaHacking Parse.y with ujihisa
Hacking Parse.y with ujihisa
 
Ruby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisaRuby Kansai #35 About RubyKaigi2009 ujihisa
Ruby Kansai #35 About RubyKaigi2009 ujihisa
 
Kof2008 Itll
Kof2008 ItllKof2008 Itll
Kof2008 Itll
 
All About Metarw -- VimM#2
All About Metarw -- VimM#2All About Metarw -- VimM#2
All About Metarw -- VimM#2
 
Itc2008 Ujihisa
Itc2008 UjihisaItc2008 Ujihisa
Itc2008 Ujihisa
 
Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008Agile Web Posting With Ruby / Ruby Kaigi2008
Agile Web Posting With Ruby / Ruby Kaigi2008
 
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
 
From Java To Haskell P
From Java To Haskell PFrom Java To Haskell P
From Java To Haskell P
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Keynote ujihisa.vim#2

  • 1. Keynote ujihisa.vim#2 Nov 19, 2011 Tatsuhiro Ujihisa Saturday, November 19, 2011
  • 2. How to be a good programmer Saturday, November 19, 2011
  • 3. Agenda • me • goal • steps Saturday, November 19, 2011
  • 4. • @ujm • github/ujihisa • Vim Hacks author • ~/.vimrc: 1729 lines • plugins • vital.vim • blogger.vim • unite-*, and neco-* Saturday, November 19, 2011
  • 5. • Vancouver, Canada • HootSuite Media inc • Vim Workshop (Kansai) 1 ~ 10 • VimKaigi 2010 • ujihisa.vim#1 • MacVim Saturday, November 19, 2011
  • 6. • Vim • 13/14 ~ 27 • Supervisor • @kana1 Saturday, November 19, 2011
  • 7. (Naming matters) • Bad names • simple-* • easy-* • quick-* • subjective adjectives Saturday, November 19, 2011
  • 8. How to be a good programmer Saturday, November 19, 2011
  • 10. Steps • (non-vimmer) • Lv1 • Lv2 • Lv3 • Lv4 • Lv5 • Lv6 • Lv7 • Lv8 Saturday, November 19, 2011
  • 11. Mostly for beginners Saturday, November 19, 2011
  • 12. Lv1 • vimtutor'ed • $ vimtutor ja • hjkl • <esc> i a • :w :q :wq •v y p Saturday, November 19, 2011
  • 13. Lv2 • No need for visual mode • motions • y} • text-objects • daw Saturday, November 19, 2011
  • 14. Lv2 (cont'd) • neocomplcache.vim • auto complete • vimrc: plugin configs Saturday, November 19, 2011
  • 15. EP/FP • HP/MP • Eye sight point/power • Finger (pinky) point/power • Don't use your eyes too much • Don't use your fingers too much Saturday, November 19, 2011
  • 16. Lv3 • many plugins • aesthetics for plugins • quickrun.vim • vimrc • key mappings • commands Saturday, November 19, 2011
  • 17. Key mapping battle • insert mode → normal mode • <ESC> • <C-[> • jj • (etc) Saturday, November 19, 2011
  • 18. Lv4 • unite.vim • file_rec • your vim plugins • github / vim.org • vimrc • draft of functions Saturday, November 19, 2011
  • 19. Vim script • VimScript • Vimscript • Vim script Saturday, November 19, 2011
  • 20. Lv5 • more unite.vim • third party unite plugins • more neocomplcache.vim • third party neco plugins • vimshell Saturday, November 19, 2011
  • 21. Lv6 • shell is vimshell • frequent bug report w/ patch • tool driven development • vital.vim Saturday, November 19, 2011
  • 22. Shell script • = Vim script Saturday, November 19, 2011
  • 23. Lv7 • Vim inside Saturday, November 19, 2011
  • 28. ujihisa.vim Keynote Saturday, November 19, 2011
  • 29. I got married • 10 days ago • she will come here in an hour Saturday, November 19, 2011
  • 30. ujihisa.vim Keynote Saturday, November 19, 2011