vim
===
所有資料整理自下述YT [Lecture 3: Editors (vim) (2020)
](https://www.youtube.com/watch?v=a6Q8Na575qc)
- ### mode
- normal mode
navigating the file and reading things
- insert mode
press i can become insert mode
insert mode press esc can come back normal mode
- replace mode
press R and you can go to replace mode
- visual mode
press v and you can go to visual mode
- line mode
use shift+V to Enter this mode
- block mode
Ctrl + V can enter this mode
- ### command-line
use : can enter this mode
- : w
wirtten the file and change the file data
- : quit (can be also use as :q)
quit the window I use now
- if i want to quit all the windows
I can use ":qa" which mean quit all
- : help
:help 後面加任何指令可以查詢他的用途
像是 :help :q 可以查詢如何用 :q
:help :w 可以查詢怎樣用 :w
查詢完要退出就一樣使用 :q 來處理。
- :sp
it can open a new window for the same buffer
- p.s. :help w 跟 :help :w 不同
前者是查W在normal mode 下面的用途
後者是查:w這個command的用途
- ctrl - V can also write ^V or <C-V>
- ^ = caret, < = angle bracket。
- ### navigate inside vim
h=left;
j=down by one line;
k=up one line;
l=right;
- but if i want move 4 at a time i can use
4+h=equal to I press four time h.
4+j=equal to I press four time j.
- other move key
w=move to next word;
b=back to last word;
E=move to end of the word;
0=move the begging of line
$=move to the end of line
^=move to the first non-empty character of line
ctrl+u=scroll up the whole page
ctrl+d=scroll down the whole page
Capital G(shift and g)= move all the ways down
gg =moves all the way up;
- whole screen control
l=move the lowest line of your screen;
m=move to the middle line of your screen;
h=move the the highest line of your screen;
- find and jump
F+a=find the first "a" before the line;
f+a=find the first "a" in the following line;
to=jump to the next o, and be one character before;
Ti=jump to the backward i, but one character after
- use % can jump between () or[]
- use / + anything you want to search
- Delete
- press "d" to delete the content
dw= will delete the word.
de= will delete end of the word.
dd=it will delete the whole line
- I can also combine d to other command
7dw=delete 7 words.
- press 'c' to become change the mode
ce= change end of the word,and enter insert mode.
cc= delete all of the line, and enter insert mode.
- press 'x' to delete single character
- press 'r' to replace the character
r+a=replace the current character to become a.
- undo and redo
click "u" can cover the movement u do.
click "ctrl+R" can redo the commnet again.
- about insert mode
- press "o"
create a newline and enter insert mode.
-press "O"(Capital O)
create a newline above and enter insert mode.
- about copy and paste
- press "y" for copy (Y stand for yank)
yw=it will copy the word and you can pree 'p'to paste it
yy=copy the whole line and you can use 'p' to paste it
- press "p" for paste
most of the time we use copy and paste with visual mode.
- press 'v' and you can use as the same in normal mode and press'y' to copy 'p' to paste it.
- press 'V'(capital V) and you can enter visual line mode, and can press 'y' to copy the whole line and press 'p' to paster the whole line you just copy.
- press 'C-V'(ctrl+v) and you can enter block mode to choose where you want to use select it as a rectangular.
- press 'v' and select the space you want and use 'shift + ~ ' and you can change the big letter to small and the small one to big letter.
- change content
- d2wi
delete two words and enter insert mode
- c2w
change 2 words
- ci[
use this i can change the words 'inside' the 'bracket'([)
- di(
delete the content inside (
- da(
It will delete 'all' inside parentheses() and include the parenthese
- repeat the same things
if you want repeat the same motion you just done.
you can press '.'
'jj.'meant you go down two lines and repeat what you do again.
- cw = dwi
- vim ~/.vimrc
上述指令可以使你自由的改變你的vim的版面,可以增加行數或是任何改變顯示,github上面會有很多人分享自己的vim版面,可以上去查看。