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
Follow my leader
Search
nelstrom
January 29, 2014
Technology
10
2.2k
Follow my leader
nelstrom
January 29, 2014
Tweet
Share
More Decks by nelstrom
See All by nelstrom
Modelling State Machines with Ragel
nelstrom
11
24k
Vimprint - A Vim Keystroke Parser
nelstrom
1
1.2k
When & why you should stay out of visual mode
nelstrom
1
3.6k
Vim - Precision editing at the speed of thought
nelstrom
29
5.8k
This is the problem
nelstrom
1
270
Progressive enhancement - a barrier to progress?
nelstrom
1
630
Other Decks in Technology
See All in Technology
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
390
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
LLMを搭載したプロダクトの品質保証の模索と学び
qa
1
1.1k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
3
200
S3アクセス制御の設計ポイント
tommy0124
3
210
AIがコード書きすぎ問題にはAIで立ち向かえ
jyoshise
1
790
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
680
Modern Linux
oracle4engineer
PRO
0
170
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
510
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Writing Fast Ruby
sferik
628
62k
Code Review Best Practice
trishagee
71
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Music & Morning Musume
bryan
46
6.8k
Into the Great Unknown - MozCon
thekraken
40
2k
RailsConf 2023
tenderlove
30
1.2k
Context Engineering - Making Every Token Count
addyosmani
3
63
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Producing Creativity
orderedlist
PRO
347
40k
Transcript
28th January, 2014 Drew Neil @nelstrom FOLLOW my <LEADER>
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Using <leader> let mapleader = "," nnoremap <leader><space> :noh<cr>
https://github.com/AndrewRadev/splitjoin.vim/issues/14
VIM’S GRAMMAR and its blind-spots
operator operator d d y y > > delete line
yank line indent line
operator motion d w y $ > G delete word
yank from cursor to EOL indent to end of file
operator non-motion d p d o same as :diffput same
as :diffget <op> <cmd> AVAILABLE!
operator non-motion y s surround.vim c o unimpaired.vim c x
exchange.vim
operator-1 operator-2 d c c d <op1> <op2> <nop> <nop>
AVAILABLE!
TEXT-OBJECTS have vacancies
{i,a} object i “ a ) i t inside double-quotes
around parentheses inside XML tag
None
{i,a} object i <alpha> a <alpha> AVAILABLE! AVAILABLE!
{i,a} object {i,a} l {i,a} e {i,a} r vim-textobj-line vim-textobj-entire
vim-textobj-rubyblock
https://github.com/kana/vim-textobj-user/wiki
NAMESPACED MAPS have vacancies
None
namespace command g w z a reformat selected text toggle
fold open/closed {[,]} c jump to prev/next diff
None
namespace command g c {[,]} o commentary.vim unimpaired.vim {[,]} {u,x,y}
unimpaired.vim
USELESS COMMANDS are useless
None
SUPERCHARGE built-in commands
namespace command g f rails.vim
OVERRIDE COMMANDS that are meant to be overridden
executes `formatprg` = {motion} executes `equalprg` gq {motion}
None
Using formatprg let &formatprg=“pandoc -f html -t markdown” executes `formatprg`,
filtering text through pandoc gq {motion}
28th January, 2014 Drew Neil @nelstrom FOLLOW my <LEADER>