I am starting this new journey into the world of VIM, with a hope that this time the mistakes of my past attempts will be rectified. This journey's goal is pre-decided so that there is no deviation from the plan of learning VIM.
In the last attempt of learning VIM, I was doing the classic mistakes of learning vim as described by Mr. Bram Moolenaar in this video, that is, Learn every feature the editor offers and use the most efficient command all the time.
The approach this time will be learning a little bit of commands in VIM and apply it daily for a few days, as it becomes part of the muscle memory move to the next set. In addition, I have also set my goals for this 100 Days to have a razor sharp focus and not deviating.
The goal of this 100DaysofVim are:-
- Edit text effectively.
- Scroll and move in a file quickly.
- Navigate source code with ctags and key board shortcuts.
- Edit multiple files using buffers.
- No use of any vim plugins.
- Read and understand the vim help system.
- Integrate debugging with source code navigation in VIM.
Day 16 | Thursday 21 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Editing a file
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
-
Nothing significant progress today.
Day 15 | Wednesday 20 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Starting Vim
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Understood about the default spell checking mechanism of VIM.
-
Will post the key bindings soon.
Day 14 | Tuesday 19 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Special Ex characters
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Most of the Special EX char, can be used with the
:edit
command -
The Vimcast from wrapping and this completely went over the head, will revisit again.
Day 13 | Monday 18 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Ranges
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
-
Understanding Wrapping is little difficult in VIM.
Day 12 | Wednesday 13 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Command-line editing
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
Day 11 | Tuesday 12 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Various commands
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Configured the
netrw
to behave like a File Explorer. -
Took help from these links
Day 10 | Monday 11 March 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help about Quickfix commands
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Quickfix commands
- We need a arguments called
makeprg
to be configured. - C program's by default have
make
as themakeprg
. - Python program can configure
makeprg
aspyflakes
- We can even configure this pased on the
ftplugin
- We need a arguments called
-
VimCast
- How to change directory while editing a file
Day 09 | Thursday 28 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Learned about
s
: =xi
: delete a char and insert modeS
:=^C
: delete line and insert mode.
-
Read the Options help, did not understand and word.
Day 08 | Wednesday 27 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
-
Learned about
g;
andg,
: Navigate the change list in forward and backward direction.CTRL + 0
,CTRL + I
: Navigate the jump list in forward and backward direction.
Day 07 | Tuesday 26 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
-
Learned about session when reading the Key Mapping section of vim help.
mksession hello.vim
vim -S hello.vim
Day 06 | Monday 25 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
Day 05 | Friday 22 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
- Completed the course Udemy | Vim MasterClass | Jason Cannon
- Received the course completion certificate.
- Received the course completion certificate.
Thoughts¶
- Learned about the gVIM clipboard buffers
"+
and"*
- Tab's command
:tabe
: open a tab with file nameCTRL-W T
: move current split into a tab.tabc
: close current tabtabo[nly]
: one 1 tab open.gT
andgt
: to switch between tabs.tabmove
: move tabs
-
Completed these help topics
- Visual Mode
- Text Object
Day 04 | Thursday 21 February 2019¶
Days Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Lecture on buffers from Udemy | Vim MasterClass | Jason Cannon
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Learned about the various windows commands.
CTRL +w s
or :sp `: horizontal splitCTRL +w v
:vsp
: vertical split:only
: closes all window except the active one- Navigation is done by
CTRL + w w
,CTRL + w h
,CTRL + w j
,CTRL + w k
,CTRL + w l
- Resize windows
CTRL + w +
,CTRL + w -
, increase or decrease the size by 1 lineCTRL + W _
,CTRL + w |
, increase size of current window in height and width
- Moving window is done by
CTRL + w R
,CTRL + w H
,CTRL + w J
,CTRL + w K
,CTRL + w L
- like
bufdo
we have a commandwindo
which works only on opened window.
-
Studied the Complex Changes from vim helps, did not understood much from this.
Day 03 | Wednesday 20 February 2019¶
Today's Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Lecture on buffers from Udemy | Vim MasterClass | Jason Cannon
Thoughts¶
- Learned about these buffers commands.
:buffers
or:ls
:bn
or:bnext
:bp
or:bprevious
:bf
or:bfirst
:bl
or:blast
CTRL + ^
: last open buffers:set hidden
:qall!
:wall!
:badd
:bd
:bufdo
:Explore
-
Studied the Changing Text from Vim help.
cc
,S
,C
,s
all work on line.CTRL + A
andCTRL + X
has a very nice implementation.:ce
,:le
&:ri
changes the alignment of line, center, left and right.
Day 2 | Tuesday 19 February 2019¶
Today's Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
- Saw 1 screen cast from VimCast | Episodes
Thoughts¶
- Studied the Copying and Moving text. section of vim help.
_
behaves the same as^
without a count preceding it. When count is preceding it, this behaves asj
.-
While learning about vim help file, I found that all the commands which are similar are generally kept together.
Day 1 | Monday 18 February 2019¶
Today's Progress¶
- Complete the
vimtutor
exercise. - Studied the quick reference in vim help.
Thoughts¶
- Few commands which was very good.
- Using
C
to change the text from the cursor till end of line. - Using
D
to delete the text from the cursor till end of line.
- Using
-
Few Insert Mode commands.
CTRL-T
: insert one shiftwidth of indent in front of line.CTRL-D
: deletes one shiftwidth of indent in front of line.
References¶
- How To Learn Vim: A Four Week Plan
- 100daysOfX
- YouTube | 7 Habits For Effective Text Editing 2.0
- VimCast | Episodes