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
Conquer the world with Vim & Tmux!
Search
ferdev
March 29, 2012
Programming
8
600
Conquer the world with Vim & Tmux!
ferdev
March 29, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
600
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
10k
型で語るカタ
irof
0
130
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
110
Goで作る、開発・CI環境
sin392
0
240
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
450
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
13
4.7k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
920
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
920
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
780
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Writing Fast Ruby
sferik
628
62k
Bash Introduction
62gerente
613
210k
Making Projects Easy
brettharned
116
6.3k
Designing Experiences People Love
moore
142
24k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
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