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
Follow my leader
Search
nelstrom
January 29, 2014
Technology
2.3k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Follow my leader
nelstrom
January 29, 2014
More Decks by nelstrom
See All by nelstrom
Modelling State Machines with Ragel
nelstrom
11
25k
Vimprint - A Vim Keystroke Parser
nelstrom
1
1.2k
When & why you should stay out of visual mode
nelstrom
1
3.8k
Vim - Precision editing at the speed of thought
nelstrom
29
6k
This is the problem
nelstrom
1
300
Progressive enhancement - a barrier to progress?
nelstrom
1
660
Other Decks in Technology
See All in Technology
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
1
180
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
100
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
440
継続的なAIコスト最適化
bgpat
1
230
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
540
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
590
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
0
330
The seven pitfalls of AI (revised version)
ufried
0
290
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
140
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Making Projects Easy
brettharned
120
6.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Product Roadmaps are Hard
iamctodd
55
13k
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>