Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Conquer the world with Vim & Tmux!
Search
ferdev
March 29, 2012
Programming
610
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Conquer the world with Vim & Tmux!
ferdev
March 29, 2012
Other Decks in Programming
See All in Programming
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
300
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
170
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
500
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
200
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
Security issues being discussed on Web Platforms
petamoriken
0
700
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
650
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
37k
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Talk to Developers About Accessibility
jct
2
540
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to make the Groovebox
asonas
2
2.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Being A Developer After 40
akosma
91
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Transcript
CONQUER the world with Vim & Tmux! @ferdev
HI! I’m @ferdev and i work at vizzuality
1. Why Vim? 2. The Path to Vim. 3. Using
Vim. 4. Mastering Vim. 5. Tmux
VIM
1. Why Vim?
Textmate, Eclipse, NetBeans, Visual Studio...
Reasons that move me to vim. - Continuous Textmate crashes.
- Bored of traditional editors. - Wanted to try something new.
PROs: - Fun. - Speed! - Comfort. - Mobility.
CONS: - Nothing!
2. The path to vim.
Vim isn't hard. Two weeks are enough.
None
First step: $ vimtutor
SECOND STeP: CONFIGURATION
Don't use janus - Complex - Opinionated - Makes you
lazy
BASIC CONFIG: - http://bit.ly/uxu5h9 - http://bit.ly/bFYbdU - http://bit.ly/aLfi5n - http://bit.ly/pGKwOU
Third step: - Practice! - Vim Golf - http://vimgolf.com/
3. USING vim.
Editing modes
InSERT some keys: - i (insert) - a (append) -
c (change) - <esc>, jk (exit mode)
Normal some keys: - j, k (up, down) - w,
e, b (words) - f (find) - t (until)
selection some keys: - v (normal) - V (lines) -
<ctrl>-v (columns) - <esc>, jk (exit mode)
Now, combine them!
example 1 vii: - v (visual selection) - i (inside
the same) - i (indentation level)
example 2 va‘: - v (visual selection) - a (around)
- ‘ (the single quotes)
example 3 2dt(: - 2 (2 times) - d (delete)
- t (until) - ( (the first parentheses)
Repeating commands - “.” is your friend :) - digits
before commands - Macros
COPY & PASTE - y (yank) - p (paste) -
c (change - yank) - d (deletes - yank) - x (delete char - yank) - http://bit.ly/rPLnDw
Panes & tabs - <leader>v (vertical pane) - <leader>h (horizontal
pane) - <leader>n (new tab) - <leader>0-9 (go to tab) - :tabc (close tab) - :tabo (close all tabs but this)
Find & replace - Regexp -:%s/pattern/replacement/
4. Mastering vim.
Know your config file
PLUGINS - zoomin - ack - ctrlp - vim-surround -
tslime (send commands to tmux)
VIM <3 git submodules Adding a new plugin: - $
git submodule add plugin_git_repo_url bundle/ plugin-folder Updating all plugins: - $ git submodule foreach git pull
Macros
TMUX
What is it?
It makes sense if you use the terminal *a lot*
pair programming
Panes, windows and sessions https://github.com/aziz/tmuxinator
warning for rails developers using tmuxinator: each rails server must
be configured to use different ports
Layouts
References https://github.com/Ferdev/vim https://github.com/Ferdev/dotfiles
VIM http://www.vim.org/ http://www.vimpusher.com/ http://bytefluent.com/vivify/ http://vimcasts.org/ https://github.com/cldwalker/vimdb http://learnvimscriptthehardway.stevelosh.com/ http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ http://robots.thoughtbot.com/post/13164810557/the-vim-learning-curve-is-a-myth
Tmux http://tmux.sourceforge.net/ http://robots.thoughtbot.com/post/19398560514/how-to-copy-and-paste-with-tmux-on- mac-os-x http://lucapette.com/rails/tmux-for-rails-developers/ via @eparreno