SlideShare ist ein Scribd-Unternehmen logo
1 von 62
The Vim Survival
Guide
Ben McCormick
Windsor Circle
Twitter: @ben336
Blog: http://benmccormick.org
Who Am I?
• Software Engineer at Windsor Circle
• Vim user since 2013
• Wrote a series of blogs on Vim in 2014
So What Is Vim?
• Open Source Text editor created in 1991, based
on an earlier text editor (vi) created in 1976 for
UNIX
• Terminal based, but can be used in UI
• Some variation on it or vi is shipped in ~all *nix
operating systems
• Charityware
So What Is Vim?
What To Expect
• Intro: Context + History
• Part 1: Surviving Vim
• Why?
• How?
• Part 2: Using Vim
• Why?
• How?
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation
Vim’s Reputation: Fair
Criticism
• Tough initial learning curve
• Truly bad defaults (Bad beginner UX)
• Alien for most modern users
Vim’s Reputation: Myths
• Too old to be relevant
• Not really efficient
• Tough learning curve lasts forever
• Bad (power user) UX
Editor Wars
• Vi vs Emacs
• Many more options now
• But Vim stands apart
vi IDEs
Vim has different ideas about:
• Shortcut keys
• Copy and paste
• File system integration / management
• Configuration
• Keyboard vs mouse use
• Naming conventions
Why use Vim at all?
• Ubiquitous
• Many other editors don't run in a terminal
Surviving Vim: Minimal
knowledge
• Vim is a modal editor
• Vim has a visual editor and a command prompt
(ex) editor
What is a modal editor?
• Commands are contextual
• Depending on what mode you’re in different
keystrokes do different things
What is a modal editor?
In this mode, typing `dd`
deletes the current line
In this mode, typing `dd`
writes out 2 ds
at the start of the line
Vim Modes
• Normal Mode
• Insert Mode
• Visual Mode
• Others (less important)
Normal mode
• “Normal”
• default when Vim is opened
• Keystrokes are commands
• From other modes use `esc` to switch to normal
mode
Insert Mode
• More normal for modern users
• Keystrokes insert text
• commands are possible with key combinations
• From normal mode use `i` to switch to insert
mode
Visual Mode
• For Highlighting/text selection
• keystrokes are commands
• From normal mode use `v` to switch to visual
mode
Ex Commands / Command
Prompt
• From normal mode `:` to
trigger ex commands
• File menu equivalent
• Used for opening, closing files
and the editor, find and
replace, command line
integration, more
Starting Vim
Opening Files
• :e/:edit to open a new file
• :sp/:split or :vs/:vsplit for opening in a split
Opening Files
Closing Files
• :w/:write to save
• :q/:quit or :qall/:quitall to quit
• :wq to save and quit
• :q! to force quit with unsaved changes
Closing Files
Navigating Files
• Encourages use of hjkl instead of the arrow keys
• Arrow keys still work
• Mouse might or might not work depending on
your environment
Navigating Files
https://commons.wikimedia.org/wiki/File:QWERTY-home-keys-position.svg
Navigating Files
Vim Survival
• Remember that Vim is modal
• Insert mode is “normal editing” mode
• Normal mode is “command mode”
• :w to save, :q to quit, :q! to quit decisively :)
Resources
• vimtutor
• vim-adventures.com
Using Vim for real
Why use Vim over
[Sublime/Atom/VS/IntelliJ/XCode/etc]
?
• A beautiful editing language
• Command Line living
• Top notch flexibility and configurability
Caveats
• Bad defaults
• Learning Curve
• Low UI polish
• Plugin Development
Vim as language
• Motions: hjkl, w, b
• Verbs: d, v
Vim as language
• dh -> delete one character to the left
• dl -> delete one character to the right
• dw -> delete to the start of the next word
• db -> delete back to the start of the current word
Vim as language
Vim as language
• More Motions: G/gg, f<char>
• More Verbs: gU, c
Vim as language
• dG - delete everything to the end of the file
• gUf. - all-caps to the next `.`
• cw - delete to the start of the next word, and then
enter insert mode to replace the text
Vim as language
• Text objects: iw, i(
• Double verbs apply to the whole line
Vim as language
• di( - delete everything inside the current parens
• gUiw - all-caps the current word
• dd - delete the current line
• cc -delete the current line and move to insert
mode
Vim as language
Vim as language
• verb + motion/text object -> action
• Each new command you learn works with
existing concepts
• Everyone has their own “accent”
Vim as Language: Repetition
• dot command `.` repeats the previous action
(combo of verb and motion/text object)
• You can use plain motions in between
Vim as Language: Repetition
• dw to delete to the start of the next word
• `..` to repeat 2 more times
Vim as Language: Repetition
Vim as a modern editor
• Fixing bad defaults comes through configuration
in ~/.vimrc file
• Control look and feel, custom commands
• https://dotfiles.github.io/
Vim as a modern editor
Vim as a modern editor
• Feature parity with other editors comes through
plugins
• http://vimawesome.com/
• Many plugin managers with Github compatibility
(pathogen, vundle, vim-plug)
• Plugins are ~100% open source, you can make your
own!
Vim as a modern editor
Vim as a modern editor
Vim as a modern editor
Vim as a modern editor
• Fuzzy-finder
• Linting
• Git Integration
• AutoComplete
• Status bars
• Command line integration
Resources
• Practical Vim by Drew Neil
• vimcasts.org
• http://benmccormick.org/learning-vim-in-2014/
Vim Language Elsewhere
• Neovim: a rethinking of Vim
• Vim modes: Sublime, Atom, IntelliJ, Visual Studio
• Command Line: vim modes for bash, zsh, fish
• Elsewhere: Gmail has vi-inspired shortcuts
Questions?
Ben McCormick
Windsor Circle
Twitter: @ben336
Blog: http://benmccormick.org

Weitere ähnliche Inhalte

Was ist angesagt?

Using VueJS in front of Drupal 8
Using VueJS in front of Drupal 8Using VueJS in front of Drupal 8
Using VueJS in front of Drupal 8Brian Ward
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDocker, Inc.
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかShohei Okada
 
Unit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaUnit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaAndrey Kolodnitsky
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみToshihiro Nakamura
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java Ahmed HARRAK
 
Introduction to Vim, the text editor
Introduction to Vim, the text editorIntroduction to Vim, the text editor
Introduction to Vim, the text editorVysakh Sreenivasan
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introductionPankaj Dubey
 
How WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularHow WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularBoyan Mihaylov
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
 
SQLアンチパターン読書会 第10章 サーティワンフレーバー
SQLアンチパターン読書会 第10章 サーティワンフレーバーSQLアンチパターン読書会 第10章 サーティワンフレーバー
SQLアンチパターン読書会 第10章 サーティワンフレーバーtkfuji
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Yukiko Kato
 
LanguageStore - Nominal vs Verbal
LanguageStore - Nominal vs VerbalLanguageStore - Nominal vs Verbal
LanguageStore - Nominal vs VerbalLanguageStore
 
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!Maria Vaz König
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with KarateTakanori Suzuki
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud FoundryKazuto Kusama
 

Was ist angesagt? (20)

Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Using VueJS in front of Drupal 8
Using VueJS in front of Drupal 8Using VueJS in front of Drupal 8
Using VueJS in front of Drupal 8
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
 
Unit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaUnit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and Karma
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
 
Selenium WebDriver avec Java
Selenium WebDriver avec Java Selenium WebDriver avec Java
Selenium WebDriver avec Java
 
Introduction to Vagrant
Introduction to VagrantIntroduction to Vagrant
Introduction to Vagrant
 
Introduction to Vim, the text editor
Introduction to Vim, the text editorIntroduction to Vim, the text editor
Introduction to Vim, the text editor
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
How WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularHow WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for Angular
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
 
SQLアンチパターン読書会 第10章 サーティワンフレーバー
SQLアンチパターン読書会 第10章 サーティワンフレーバーSQLアンチパターン読書会 第10章 サーティワンフレーバー
SQLアンチパターン読書会 第10章 サーティワンフレーバー
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】
 
LanguageStore - Nominal vs Verbal
LanguageStore - Nominal vs VerbalLanguageStore - Nominal vs Verbal
LanguageStore - Nominal vs Verbal
 
Geb with spock
Geb with spockGeb with spock
Geb with spock
 
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!
Brille, Tasche, Tuch, Kopftuch - anziehen? ausziehen? : NEIN!
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundryコンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
 

Andere mochten auch

Andere mochten auch (18)

Manual 793 d
Manual 793 dManual 793 d
Manual 793 d
 
793D caterpillar
793D caterpillar793D caterpillar
793D caterpillar
 
793 c xq
793 c xq793 c xq
793 c xq
 
Introduction to Vim
Introduction to VimIntroduction to Vim
Introduction to Vim
 
Vim Rocks!
Vim Rocks!Vim Rocks!
Vim Rocks!
 
How to become a practical Vim user
How to become a practical Vim userHow to become a practical Vim user
How to become a practical Vim user
 
How To Access Code In Large w/ Vim
How To Access Code In Large w/ VimHow To Access Code In Large w/ Vim
How To Access Code In Large w/ Vim
 
TMUX Rocks!
TMUX Rocks!TMUX Rocks!
TMUX Rocks!
 
Vim, the Way of the Keyboard
Vim, the Way of the KeyboardVim, the Way of the Keyboard
Vim, the Way of the Keyboard
 
Power poin perswnt
Power poin perswntPower poin perswnt
Power poin perswnt
 
Live with cli(bash)
Live with cli(bash)Live with cli(bash)
Live with cli(bash)
 
Dettol Dish Washer
Dettol Dish WasherDettol Dish Washer
Dettol Dish Washer
 
Komatsu manual camion minero
Komatsu manual camion mineroKomatsu manual camion minero
Komatsu manual camion minero
 
vim - Tips and_tricks
vim - Tips and_tricksvim - Tips and_tricks
vim - Tips and_tricks
 
Camion minero 797b
Camion minero 797bCamion minero 797b
Camion minero 797b
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
Vimbar
VimbarVimbar
Vimbar
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 

Ähnlich wie Vim survival guide

Effective text editing with vim
Effective text editing with vimEffective text editing with vim
Effective text editing with vimxprayc
 
Vim - for newbies, by Roy Osherove
Vim - for newbies, by Roy OsheroveVim - for newbies, by Roy Osherove
Vim - for newbies, by Roy OsheroveRoy Osherove
 
Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)MohsinHusenManasiya
 
computer languages
computer languagescomputer languages
computer languagesRajendran
 
Different types of Editors in Linux
Different types of Editors in LinuxDifferent types of Editors in Linux
Different types of Editors in LinuxBhavik Trivedi
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...Gaetano Giunta
 
ITCP PRACTICAL-1.pptx
ITCP PRACTICAL-1.pptxITCP PRACTICAL-1.pptx
ITCP PRACTICAL-1.pptxHemantJadhao3
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovimShougo
 
[artifactconf] Github for People Who Don't Code
[artifactconf] Github for People Who Don't Code[artifactconf] Github for People Who Don't Code
[artifactconf] Github for People Who Don't CodeChristopher Schmitt
 
Linux network manager configure
Linux network manager configureLinux network manager configure
Linux network manager configureInfoExcavator
 
Linux network manager configuration
Linux network manager configurationLinux network manager configuration
Linux network manager configurationMd Meherab Hossen
 
lectuer 21-22.pptx
lectuer 21-22.pptxlectuer 21-22.pptx
lectuer 21-22.pptxpoonam256394
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the FutureOnivim: Modal Editing from the Future
Onivim: Modal Editing from the FutureBryan Phelps
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokersGaetano Giunta
 
scaling compiled applications - highload 2013
scaling compiled applications - highload 2013scaling compiled applications - highload 2013
scaling compiled applications - highload 2013ice799
 
Augusta Linux User Group - Vim Introduction
Augusta Linux User Group - Vim IntroductionAugusta Linux User Group - Vim Introduction
Augusta Linux User Group - Vim IntroductionKeith Pickett
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsBill Malchisky Jr.
 

Ähnlich wie Vim survival guide (20)

Vim Basics
Vim BasicsVim Basics
Vim Basics
 
Effective text editing with vim
Effective text editing with vimEffective text editing with vim
Effective text editing with vim
 
Vim - for newbies, by Roy Osherove
Vim - for newbies, by Roy OsheroveVim - for newbies, by Roy Osherove
Vim - for newbies, by Roy Osherove
 
Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)
 
computer languages
computer languagescomputer languages
computer languages
 
Different types of Editors in Linux
Different types of Editors in LinuxDifferent types of Editors in Linux
Different types of Editors in Linux
 
Emacs tutorial
Emacs tutorialEmacs tutorial
Emacs tutorial
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
 
ITCP PRACTICAL-1.pptx
ITCP PRACTICAL-1.pptxITCP PRACTICAL-1.pptx
ITCP PRACTICAL-1.pptx
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
 
[artifactconf] Github for People Who Don't Code
[artifactconf] Github for People Who Don't Code[artifactconf] Github for People Who Don't Code
[artifactconf] Github for People Who Don't Code
 
Linux network manager configure
Linux network manager configureLinux network manager configure
Linux network manager configure
 
Linux network manager configuration
Linux network manager configurationLinux network manager configuration
Linux network manager configuration
 
lectuer 21-22.pptx
lectuer 21-22.pptxlectuer 21-22.pptx
lectuer 21-22.pptx
 
Onivim: Modal Editing from the Future
Onivim: Modal Editing from the FutureOnivim: Modal Editing from the Future
Onivim: Modal Editing from the Future
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokers
 
scaling compiled applications - highload 2013
scaling compiled applications - highload 2013scaling compiled applications - highload 2013
scaling compiled applications - highload 2013
 
Augusta Linux User Group - Vim Introduction
Augusta Linux User Group - Vim IntroductionAugusta Linux User Group - Vim Introduction
Augusta Linux User Group - Vim Introduction
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
Small Screen Development
Small Screen DevelopmentSmall Screen Development
Small Screen Development
 

Mehr von Ben McCormick

A Second Set Of Eyes: Getting The Most From Code Reviews
A Second Set Of Eyes: Getting The Most From Code ReviewsA Second Set Of Eyes: Getting The Most From Code Reviews
A Second Set Of Eyes: Getting The Most From Code ReviewsBen McCormick
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With JestBen McCormick
 
Decorators Lightning Talk for Triangle JavaScript
Decorators Lightning Talk for Triangle JavaScriptDecorators Lightning Talk for Triangle JavaScript
Decorators Lightning Talk for Triangle JavaScriptBen McCormick
 
Component Based Development
Component Based DevelopmentComponent Based Development
Component Based DevelopmentBen McCormick
 

Mehr von Ben McCormick (6)

A Second Set Of Eyes: Getting The Most From Code Reviews
A Second Set Of Eyes: Getting The Most From Code ReviewsA Second Set Of Eyes: Getting The Most From Code Reviews
A Second Set Of Eyes: Getting The Most From Code Reviews
 
Saving Time By Testing With Jest
Saving Time By Testing With JestSaving Time By Testing With Jest
Saving Time By Testing With Jest
 
Gatsby intro
Gatsby introGatsby intro
Gatsby intro
 
Decorators Lightning Talk for Triangle JavaScript
Decorators Lightning Talk for Triangle JavaScriptDecorators Lightning Talk for Triangle JavaScript
Decorators Lightning Talk for Triangle JavaScript
 
Backbonemeetup
BackbonemeetupBackbonemeetup
Backbonemeetup
 
Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
 

Kürzlich hochgeladen

Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 

Kürzlich hochgeladen (20)

Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 

Vim survival guide

Hinweis der Redaktion

  1. Hi everybody. Isn’t this exciting? I’m thankful to get to have a cool event like this in the Triangle. My name is Ben, and I’m going to be talking about Vim today. This talk is a bit different than some of the other talks here practical not theory I’m talking about a 25 year old piece of software, not something new and shiny To start, lets take a quick poll: How many of you have heard of Vim? How many of you have used Vim? How many of you use Vim regularly? Cool. Something for each of you etc
  2. yes I’m the type of geek who decides to write long blog posts about a text editor
  3. Text editor - general purpose, writing code, editing text files, writing prose Donate to help children in Uganda (about a million dollars) Vi - created by Bill Joy Vim - Bram Moolenaar
  4. Text editor - general purpose, writing code, editing text files, writing prose Vi - created by Bill Joy Vim - Bram Moolenaar
  5. Title of the talk is Vim Survival Guide Why ever NEED to use Vim Why you’d ever WANT to use Vim One thing we need to talk about first
  6. Learning curve starts hard and stays hard
  7. Even the people who use it can find it very frustrating
  8. Simple things aren’t simple True story, I actually got an email a few weeks ago from somebody who decided to write this book for real and put it on Amazon. He wanted me to review the book.
  9. Complicated and Scary!! / lots of arbitrary memorization
  10. Take the Jedi skeptic POV: It was great in the old days
  11. Vim users are annoying and not as productive as they think
  12. The thing is… a lot of people use and care about Vim
  13. Initial learning curve
  14. Initial learning curve
  15. Emacs - lightweight, fast text editors, with pluggable functionality, that you control with complex key combinations
  16. Shortcut keys - modal editors Copy and paste - multiple clipboards, doesn’t integrate smoothly with modern OSes by default Very text based rather than UI based in terms of file system integration, splits and buffer list rather than tabs (yes tabs are a thing but they’re weird) Way more stuff is configurable than other editors, way more stuff requires configuration than other editors This is a keyboard driven show Buffer rather than file, delete/yank/put rather than cut/copy/paste, edit/write/ rather than open/save
  17. Ubiquitous - make sure to point out that servers still matter for the windows folks in the audience
  18. Visual editor (you can see the text of the file and change it) Command prompt editor (you can enter commands)
  19. select, command line ex-mode
  20. Examples: x in normal mode, delete current character j in normal mode , go down
  21. ctrl + w will delete the word before the cursor
  22. :e /edit
  23. :e /edit
  24. :e /edit
  25. Controversial statement: This is a dumb way to use Vim if you don’t care about using Vim
  26. FF advance setting warning screen seems appropriate
  27. G - bottom gg - top
  28. G - bottom gg - top
  29. in word in parens
  30. G - bottom gg - top
  31. Neovim - currently similar to vim may evolve Vim modes - the editing language in a more modern frame