Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vim introduction
Search
Dmitrijs Vrublevskis
July 12, 2014
Programming
1
98
Vim introduction
https://plus.google.com/events/cv8rtf625f5hc8jn6qmhpsb2nho
Dmitrijs Vrublevskis
July 12, 2014
Tweet
Share
More Decks by Dmitrijs Vrublevskis
See All by Dmitrijs Vrublevskis
Cypher Editor
fylmtm
0
140
Cypher in JetBrains IDE
fylmtm
0
180
Adopting Neo4j @ Enterprise scale
fylmtm
0
65
League of Graphs \w Neo4j
fylmtm
0
1.4k
Performance & Stability testing \w Gatling
fylmtm
0
220
Neo4j Magic Adventures
fylmtm
1
180
Google I/O 2014 - Web updates
fylmtm
0
140
Other Decks in Programming
See All in Programming
Flatt Security XSS Challenge 解答・解説
flatt_security
0
590
バグを見つけた?それAppleに直してもらおう!
uetyo
0
210
ドメインイベント増えすぎ問題
h0r15h0
2
540
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
400
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
130
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
360
情報漏洩させないための設計
kubotak
5
1.2k
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
230
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
8
1.8k
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
210
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
710
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
180
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
940
The World Runs on Bad Software
bkeepers
PRO
66
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Scaling GitHub
holman
459
140k
Music & Morning Musume
bryan
46
6.3k
It's Worth the Effort
3n
183
28k
GitHub's CSS Performance
jonrohan
1030
460k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Site-Speed That Sticks
csswizardry
2
220
Transcript
Vim introduction @Dmitrijs Vrublevskis
About me • Developer @ “Transact PRO” • Unhappy with
PHP • In love with Ruby • Believe in Linux
Backup plan https://www.codebox.io
Intro • Programmer's text editor • Released publicly in 1991
• Based on the vi editor • Vim is a tool, the use of which must be learned. • Shortcuts & no-mouse
My use cases • Ruby (Rails) development (sometimes) • One-time
source editing (bugfixes, types and etc) • Editing via SSH (nginx, apache, hosts and etc) • Diff (rarely) • Development (Intellij IDEA plugin)
$ vim file.txt § - command sequences for pro
<esc> <esc> <esc> <esc> <ctrl-c> <ctrl-c> <ctrl-c> <ctrl-c>
Modes • Insert • Normal ! • Visual • Command
Modes[Insert] 1. Insert A. Cursor - <i> B. Append -
<a> C. On new line - <o> 2. Type text 3. Exit - <ctrl-c>
Modes[Normal] • Left - <h> - <left_arrow> • Right -
<l> - <right_arrow> • Down - <j> - <down_arrow> • Up - <k> - <up_arrow> ! • § 5l • § 2j
Modes[Normal] • Word - <w> • End word - <e>
• Back word - <b> • Find - <f><any_letter_to_find> ! • § F2e • § t”
Modes[Normal] • Delete under cursor - <x> • Replace -
<r><letter> • Delete - <d><motion> • Change - <c><motion> • Motion - <w>|<e>|<h> … ! • § d5k • § ca”
Modes[Visual] • Visual - <v> • Line visual - <shift-v>
• Block visual - <ctrl-v>
Modes[Command] • Write - <:><w> • Quit - <:><q> •
Write and quit - <:><w><q> • Write and quit - <:><x> • Quit without save - <:><q><!> • Search - </><pattern><enter> • Next / Prev - <n> / <N>
Useful • § <c><i><“> - Delete all in “” and
put in insert mode. • § <d><t><)> - Delete all till first ‘)’ • § <i><text><.> - Write some text and repeat • § <F><(> - Move cursor to first ‘(‘, backwards
Learn vim • http://www.viemu.com/ a_vi_vim_graphical_cheat_sheet_tutorial.html • http://vim-adventures.com/ • https://www.shortcutfoo.com
Vim projects • http://neovim.org/ - New next generation • https://github.com/gmarik/Vundle.vim
- Plugin manager • https://github.com/Valloric/YouCompleteMe - Autocompletion • https://github.com/FylmTM/dotfiles/blob/master/ vim/vimrc - Mine ‘.vimrc’
None