LEARNING VIM: BEGINNER ADVICE AND LESSONS...

Post on 10-Mar-2020

12 views 0 download

transcript

LEARNING VIM:BEGINNER ADVICE AND

LESSONS LEARNEDBY VASYL NAKVASIUK, 2016

@VAXXXA

VI(BILL JOY, 1976)

VIM(BRAM MOOLENAAR 1991)

NEOVIM(THIAGO DE ARRUDA, 2014)

WHY VIM?

HIGHLY CUSTOMIZABLERUNS EVERYWHERE

TRY SOMETHING NEWINVESTING IN YOURSELF

FEEL QUITE AT HOMEHAVE FUN

VIM MODES

VIM MODES

NORMAL MODEINSERT MODEVISUAL MODE

YUMMY FEATURES

OPERATOR + TEXT OBJECTTHE DOT COMMAND

OPERATORSd – delete (also cut)c – change (delete, then place in insert mode)y – yank (copy)v – visually select

gu – make lowercasegU – make uppercaseg~ – swap case

TEXT OBJECTS

TEXT OBJECT = PREFIX + OBJECT

TEXT OBJECTS

TEXT OBJECT PREFIXa – select "a"n objecti – select an "inner" object

TEXT OBJECTS

OBJECTw – wordW – WORDs – sentencep – paragraph]   [ – [] block)   (   b – () block>   < – <> block}   {   B – {} blockt – tag block'   "   ` – quoted string

MAGIC COMMANDS

NUMBER  +  OPERATOR  +  TEXT OBJECT/MOTION

MAGIC COMMANDS

C I WD A }V I TC I )Y I "

C A TD A P

THE DOT COMMANDREPEAT SINGLE MOTION (LAST CHANGE)

THE DOT COMMANDNOW YOU CAN REPEAT EVERYTHING LIKE A BOSS

LEARNING CURVES

BEFORE YOU START, YOUSHOULD KNOW

BEFORE YOU START, YOU SHOULD KNOW

DIFFERENT FROM EVERYTHING YOU'VE USED BEFOREDON'T START AT WORK

DON'T USE ARROW KEYSBREAK UP WITH YOUR MOUSEUSE ALWAYS A BETTER WAY

DON'T COPY SOMEONE ELSE'S CONFIGURATIONDON'T USE 100500 PLUGINS

FIND YOUR VIM MENTOR/GURU/JEDI

VIMTUTOR$ VIMTUTOR:TUTOR

MUST HAVE PLUGINSFZF.VIM

MUST HAVE PLUGINSNERDTREE

LEARNING VIM ISA PROCESS, NOT AN

ACTION

LINKSCHEATSHEETS:

Vi / Vim Graphical Cheat Sheet ( )Vim Cheat Sheet for Programmers ( )Beautiful VIM Cheat Sheet ( )

http://goo.gl/6XhdEyhttp://goo.gl/KDSniy

http://goo.gl/oekJAK

OTHER:

Free screencasts about the Vim ( )Awesome Vim plugins ( )VIM Adventures ( )

http://vimcasts.org/http://vimawesome.com/

http://vim-adventures.com/

THE END

THANK YOU FOR ATTENTION!Vasyl NakvasiukEmail: vaxxxa@gmail.comTwitter: @vaxXxaGithub: vaxXxa

THIS PRESENTATION:Source: https://github.com/vaxXxa/talks

Live: http://vaxXxa.github.io/talks