VIM Tutor

作者: bowen_wu | 来源:发表于2023-03-13 18:38 被阅读0次

    Modal editing

    • Normal(<ESC>): for moving around a file and making edits
    • Insert(i): for inserting text
    • Replace(R): for replacing text
    • Visual: for selecting blocks of text
      1. plain(v):
      2. line(V):
      3. block(<C-v>):
    • Command-line(:): for running a command

    Command-line

    This mode has many functionalities, including opening, saving, and closing files, and quitting Vim.

    • :q quit(close window)
    • :w save('write')
    • :wq save and quit
    • :e {filename} open file for editing
    • :ls show open buffers
    • help {topic} open help
      1. :help :w opens help for the :w command
      2. :help w opens help for the w movement

    Movement

    • Basic movement: hjkl(left, down, up, right)
    • Words: w(next word), b(beginning of word), e(end of word)
    • Lines: 0(beginning of line), ^(first non-blank character), $(end of line)
    • Screen: H(top of screen), M(middle of screen), L(bottom of screen)
    • Scroll: Ctrl-u(up), Ctrl-d(down)
    • File: gg(beginning of file), G(end of file)
    • Misc: %(corresponding item)(Type % to find a matching ),], or })
    • Find: f{character}, t{character}, F{character}, T{character}
      1. find/to forward/backward {character} on the current line
      2. ,/; for navigating matches
    • Search: /{regex}, n/Nfor navigating matches
    • Type CTRL-O to takes you back to OLDER positions
    • Type CTRL-I to takes you back to NEWER positions.
    • Type CTRL-W to jump from one window to another.

    Edits

    For manipulating/deleting text, want to use something more than backspace.

    • s substitute character(equal to cl)
    • ~ flips the case of a character

    Modifiers

    You can use modifiers to change the meaning of a noun, Some modifiers are i, which means "inner" or "inside", and a, which means "around"

    • ci( change the contents inside the current pair of parentheses
    • ci[ change the contents inside the current pair of square backets
    • da' delete a single-quoted string, including the surrounding single quotes

    Multiple windows

    • :sp/:vsp to split window
    • <Ctrl-W-hjkl>: change window to left/up/down/right

    Insert mode

    • Type o to open a line BELOW the cursor and start Insert mode.
    • Type O to open a line ABOVE the cursor.
    • Type i to insert text BEFORE the cursor.
    • Type a to insert text AFTER the cursor.
    • Type A to insert Text after the end of the line.
    • Type I to insert Text BELOW the start of the line.

    Search

    • Typing / followed by a phrase searches FORWARD for the phrase.
    • Typing ? followed by a phrase searches BACKWARD for the phrase.
    • Type n to find the NEXT occurrence in the same direction.
    • Type N to find the BEFORE occurrence in the same direction.

    Undo & Redo

    • To undo previous actions, type u
    • To undo all the changes on a line, type U
    • To undo the undo's, type CTRL-R

    Substitute

    • To substitute new for the first old in a line type :s/old/new
    • To substitute new for all 'old's on a line type :s/old/new/g
    • To substitute phrases between two line #'s type :#,#s/old/new/g
    • To substitute all occurrences in the file type :%s/old/new/g
    • To ask for confirmation each time add 'c' :%s/old/new/gc

    Set options

    Typing ":set xxx" sets the options 'xxx'. Options are:

    • 'ic' 'ignorecase' ignore upper/lower case when searching
    • 'is' 'incsearch' show partial matches for a search parase
    • 'hls' 'hlsearch' highlight alll matching phrases
    • Prepend 'no' to seitch an option off: ":set noic"

    Operate file

    Common

    • <operator> [<number>] <motion>

    <operator> - is what to do.

    • d - is the delete operator
    • c - is the change operator
    • y - is the yank(copy) operator

    <number> - is an optional count to repeat the motion.

    <motion> - moves over the test to operate on.

    • w - until the start of the next word, EXCLUDING its first character.
    • e - to the end of the current word, INCLUDING the last character.
    • $ - to the end of the line, INCLUDING the last character.

    Special

    • Type dd to delete a whole line.
    • Type cc to delete the word and places you in Insert mode for the whole line.

    Replace

    • Type r to replace the character under the cursor.
    • Type R to enter Replace mode until <ESC> is pressed.

    Delete

    • Press x to delete the character under the cursor.

    Paste

    • Type p to put previously deleted text after the cursor.

    Others

    • Type :! followed by an external command to execute that command.

    相关文章

      网友评论

          本文标题:VIM Tutor

          本文链接:https://www.haomeiwen.com/subject/nfgcrdtx.html