If you know the contents of this article, you will be able to ** basic operations and Vim-like things **.
For example ... Fast cursor movement, Intuitive deletion of the range you want to delete, etc.
What I learned in Udemy's Vim Master class.
** I think it is suitable for those who "know how to switch between command mode and insert mode, but don't know anything else" **.
For those who say "What's that?", Please see the above Vim Master class and Video around here. VimMaster class is highly recommended.
1. Move cursor (command mode) 2. Delete / Overwrite 3. Display adjustment 4. Edit (Command Mode / Insert Mode / Macro) 5. Replace / Search 6. Save / Exit 7. Specify range 8. VISUAL mode
--Move the cursor in command mode.
| Key | What you want to do |
|---|---|
| j | To the bottom line |
| 2j moves down 2 lines(Same for khl) | |
| k | To the top line |
| h | To the left |
| l | To the right |
| Key | What you want to do |
|---|---|
| w | To the next word |
| b | To the previous word |
| $ | To the end of the line |
| 0 | To the beginning of the line |
| G, :$<enter> | Move to the end of the sentence |
| gg, :1<enter> | Move to the beginning of the sentence |
| 50G, 50gg, :50<enter> | Move to line 50 |
| ctrl + f | to the next page(forward) |
| ctrl + b | To the previous page(back) |
| Key | What you want to do |
|---|---|
| x | Delete the character on the cursor |
| X (shift + x) | Delete to the left of the cursor |
| You can replace the current cursor position with the character to the right with xp(p is paste) | |
| r "c" | The character of the current cursor"c" (Any single letter)Replace with |
| ex) make->For modification to take, move the cursor to m and rt |
| Key | What you want to do |
|---|---|
| dw | Delete one word |
| 3dw | Delete 3 words |
| D (shift + d) | Delete from the current position to the end of the line |
| d$Same meaning as | |
| d0 | Delete from the current position to the beginning of the line |
| dj | Delete current line and lines below it |
| dk | Delete current line and lines above it |
| j,k isMove cursorSame meaning as the item of | |
| dd | Delete current line(Including line breaks) |
| 10dd | Delete 10 lines from the current line |
| :10,20d<enter> | Deleted lines 10 to 20 |
| d/"hoge" | From the current cursor"hoge"Delete up to the front of |
| "/"Means search.hogeIs | |
| dt. | Next from the current cursor position.Delete up to (.Is OK with your favorite character) |
| t is next to the current line"."Point to the cursor position immediately before | |
| das | Delete the sentence where the cursor is currently placed |
| s represents sentense It means that a is like all. That is, delete all sentence->Delete one sentence |
|
| dap | Delete paragraph 1 |
| p represents paragraph | |
| di](or[) | [...]Delete inside(Place the cursor in parentheses) |
| ci](or[) | [...]After deleting the inside, go to insert mode |
| Key | What you want to do |
|---|---|
| c | Enter insert mode after deletion. You can use the command in the same way as d |
| For example ci[Then[]Delete the characters in and then enter insert mode | |
| C | Insert mode by deleting from the current position to the end of the line (Corresponds to D deleting from the current position to the end of the line) |
| cc | Delete the current line and go to Insert mode (Corresponds to dd deleting the current line) |
| cw | Delete the word on the current cursor and go to Insert mode |
| cD, c$ | Insert mode by deleting the characters after the current cursor |
| Key | What you want to do |
|---|---|
| R(shift + r) | When you type a character, the character at the current cursor position is replaced with the character you typed. |
| <esc>Return to command mode with |
| Key | What you want to do |
|---|---|
| z<enter> | Move the cursor to the top of the screen |
| zz | Move the cursor to the center of the screen |
| Key | What you want to do |
|---|---|
| . | Repeat the last edit |
| u | Undo last edit(Windows Ctrl+z) |
| Ctrl + r | ReDo (Windows Ctrl+y) |
| p | From the current cursorRight sidePaste to |
| P (shift + p) | From the current cursorleftPaste to |
| Key | What you want to do |
|---|---|
| i | Go to Insert mode at the current character position |
| I | Move to the beginning of the current line and go to Insert mode |
| a | Go one character forward to Insert mode |
| ex) $Use this when you want to insert at the end of a sentence after moving with | |
| A | Move to the end of the current line and go to Insert mode |
| o | Change to Insert mode with a line break below the current line |
| 5o "hoge" <esc> | From the current line down"hoge"5 lines added |
| O (shift + o) | Insert mode with a line break on one line |
| J (shift + j) | Remove the line break at the end of the current line and insert one space. |
| In other words, add one space between the current line and the next line and combine them. | |
| gJ | Remove line breaks without inserting space |
| Key | What you want to do |
|---|---|
| qa | Start recording macro in a register (part a is b,c,d,...And any register name is OK) |
| q | Stop recording macros |
| @a | Play a register macro |
| :10,30 normal @a <enter> | a macro for register 10-Applies to line 30 |
| ":10,30"Is 10-Means line 30 |
| Key | What you want to do |
|---|---|
| f + c (One character) | Next to the current linecMove to |
| ;The next character in the line, ","To the previous character | |
| t + c (One character) | Next to the current linecofTo the frontMove |
| * | Move to the position where the word on the current cursor appears next(Search by exact word match) |
| Key | What you want to do |
|---|---|
| :%s/hoge/fuga/g | The whole sentencehogeTofugaConversion to. Multiple times in one linehogeReplace even if (/First in line without ghogeOnly replace) |
| :1,5s/hoge/fuga/ | 1-Up to the 5th linehogeBy replacing. In addition, it should be noted%Is 1,$Represents |
| :/cat/,/dog/s/hoge/fuga/g | catWhendogOf the line betweenhogeTofugaReplace with |
| :/cat/,$s/hoge/fuga/g | catAfter thathogeTofugaReplace with |
--Use backslashes (\) to escape special characters (/ &!. ^ * $ ?).
--For example, if you want to replace "INCL \ hoge.txt" with fuga.md, enter:% s/INCL \\ hoge/fuga \ .md/g and enter
-[Supplement] \ is the same as
--For the selection range, refer to Specify Range (@Link in Page).
| Key | What you want to do |
|---|---|
| :wq | Save and exit vim |
| :q! | Exit without saving. Ignore changes. |
| :w | Save(vim does not quit) |
-Used in combination with another command such as:% s
| Key | What you want to do |
|---|---|
| :10,20 | 10-Up to line 20 |
| :% | Whole sentence |
| :.,$ | From the current position to the end of the sentence |
| .Is the line at the current cursor position,$Means the end of the sentence |
| Key | What you want to do |
|---|---|
| v | Visual mode(Select by character) |
| Shift + v | Visual Line mode(Select by line) |
| ctrl + v | Visual Block mode(Select with rectangle) |
| gv | Reproduce the previous selection |
Recommended Posts