Hello my dear coders,
You know how much I like VIM. In this video, I've tried to show all the necessary shortcuts to make a quick start with VIM. I've been using VIM for more than a year now. However, I must admit, I am still an amateur. VIM is not something that you can master completely. Dedicate two hard months to trying VIM, and you'll find that you can't give it up.
Many of you may encounter difficulties when downloading and setting up VIM, as I know from my own experience.
Join my Discord server to get help: / discord
Twitter: / gulnaroglus
👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻
.vimrc file: https://github.com/servetgulnaroglu/v...
👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻👨💻
⌨️ Keyboard: IQUnix OG80 Wormhole TTC ACE switches and Costar Stabilizers (5% discount)
https://iqunix.store/servetgulnaroglu
00:00 Downloading .vimrc file and setting up
.vimrc file is necessary if you want to have the same shortcuts and interface with me.
I explained how to setup in the github repo, verbally.
02:05 Basic Movements
h: Move cursor left.
j: Move cursor down.
k: Move cursor up.
l: Move cursor right.
03:20 Modes
Esc: Normal Mode
i: Insert text before the cursor
I: Insert text at the beginning of the line
a: Append text after the cursor
A: Append text at the end of the line
v: Visual Mode (character-wise)
V: Visual Mode (line-wise)
Ctrl+v: Visual Mode (block-wise)
:: Command-line Mode
r: Replace a single character
R: Replace mode (continuous replace)
07:12 Word Movements
w: Move to the start of the next word.
b: Move to the start of the current/previous word.
07:54 Line Movements
0: Move to the start of the line.
^: Move to the first non-blank character.
$: Move to the end of the line.
%: Jump to the matching brace or bracket.
10:45 Screen Movements
H: Move to the top of the screen.
M: Move to the middle of the screen.
L: Move to the bottom of the screen.
zz: Center the current line. I use it very often
zt: Move the current line to the top. (Also this one)
12:49 Paragraph and Block Movements
{: Start of the current paragraph/block.
}: End of the current paragraph/block.
13:45 File Movements
gg: Start of the file.
G: End of the file.
:\line_number\: Go to a specific line.
14:25 Jump Movements
gd: Go to definition.
ctrl-o: Previous location.
ctrl-i: Next location.
'm: Jump to mark 'm' (set with mm). I don’t use it too much
[g, ]g: Navigate diagnostics. Quite helpful, I use it all the time
F2_key: Rename occurrences.
Additional:
Shift 3: Hightlight All Occurences
Once you find out the ocuurences, you can navigate with ’n’
To clear the highlights use :noh (which is no highlight)
20:40 Scrolling
ctrl-u: Scroll up (half-screen).
ctrl-d: Scroll down (half-screen). somehow this doesn’t worjh
ctrl-b: Scroll up (full screen).
ctrl-f: Scroll down (full screen).
21:40 Search
/word: Search for a 'word'.
ge: Replace word under cursor. This is command that I created
22:50 Editing
diw: Delete current word.
yiw: Copy the current word.
*u : undo
*p: paste copied by yiw (pastes after the cursor)
*shift+p: paste before the cursor
24:40 Fold
zf: Fold at current indent level.
za: Toggle current fold.
25:38 NerdTree
CTRL+n: Toggle NERDTree.
27:06 Window Resizing
++: Increase window width.
—: Decrease window width.
Window Creation
*:new: Create new buffer horizontally
*:vnew: Create new buffer vertically
Window Switch
*CTRL+w+ (One of the hjkl): Switch the cursor between buffers
30:23 Buffers
gb: List buffers.
bd: Delete current buffer.
bd!: Delete current buffer without saving changes.
b buffer_number: Go to a specific buffer.
31:59 Session Commands
mks!: Create a session.
vim -S: Load a session.
32:34 File Operations
:w: Save file.
:q: Quit without saving.
:q!: Force quit without saving.
:wq: Save and quit.