zoukankan      html  css  js  c++  java
  • 常用的130个vim命令

    最近VIM用的也越来越多了...因为确实在慢慢的把win下的编辑习惯转成unix下的编辑习惯..._vimrc也在不断的完善中先贴一下平时在VIM中使用中的命令...有很多也是我没有掌握的

    (估计也是转的)原帖地址:http://www.oschina.net/news/43167/130-essential-vim-commands

    基础 

    :e filename Open filename for edition
    :w Save file
    :q Exit Vim
    :q! Quit without saving
    :x Write file (if changes has been made) and exit
    :sav filename Saves file as filename
    . Repeats the last change made in normal mode
    5. Repeats 5 times the last change made in normal mode

    在文件中移动

    k or Up Arrow move the cursor up one line
    j or Down Arrow move the cursor down one line
    e move the cursor to the end of the word
    b move the cursor to the begining of the word
    0 move the cursor to the begining of the line
    G move the cursor to the end of the line
    gg move the cursor to the begining of the file
    L move the cursor to the end of the file
    :59 move cursor to line 59. Replace 59 by the desired line number.
    20| move cursor to column 20.
    % Move cursor to matching parenthesis
    [[ Jump to function start
    [{ Jump to block start

    剪切、复制和粘贴

    y Copy the selected text to clipboard
    p Paste clipboard contents
    dd Cut current line
    yy Copy current line
    y$ Copy to end of line
    D Cut to end of line

    搜索

    /word Search word from top to bottom
    ?word Search word from bottom to top
    * Search the word under cursor
    /cstring Search STRING or string, case insensitive
    /jo[ha]n Search john or joan
    /< the Search the, theatre or then
    /the> Search the or breathe
    /< the> Search the
    /< ¦.> Search all words of 4 letters
    // Search fred but not alfred or frederick
    /fred|joe Search fred or joe
    /<dddd> Search exactly 4 digits
    /^ {3} Find 3 empty lines
    :bufdo /searchstr/ Search in all open files
    bufdo %s/something/somethingelse/g Search something in all the open buffers and replace it withsomethingelse

    替换

    :%s/old/new/g Replace all occurences of old by new in file
    :%s/onward/forward/gi Replace onward by forward, case unsensitive
    :%s/old/new/gc Replace all occurences with confirmation
    :2,35s/old/new/g Replace all occurences between lines 2 and 35
    :5,$s/old/new/g Replace all occurences from line 5 to EOF
    :%s/^/hello/g Replace the begining of each line by hello
    :%s/$/Harry/g Replace the end of each line by Harry
    :%s/onward/forward/gi Replace onward by forward, case unsensitive
    :%s/ *$//g Delete all white spaces
    :g/string/d Delete all lines containing string
    :v/string/d Delete all lines containing which didn’t contain string
    :s/Bill/Steve/ Replace the first occurence of Bill by Steve in current line
    :s/Bill/Steve/g Replace Bill by Steve in current line
    :%s/Bill/Steve/g Replace Bill by Steve in all the file
    :%s/^M//g Delete DOS carriage returns (^M)
    :%s/ / /g Transform DOS carriage returns in returns
    :%s#<[^>]+>##g Delete HTML tags but keeps text
    :%s/^(.*) 1$/1/ Delete lines which appears twice
    Ctrl+a Increment number under the cursor
    Ctrl+x Decrement number under cursor
    ggVGg? Change text to Rot13

    大小写

    Vu Lowercase line
    VU Uppercase line
    g~~ Invert case
    vEU Switch word to uppercase
    vE~ Modify word case
    ggguG Set all text to lowercase
    gggUG Set all text to uppercase
    :set ignorecase Ignore case in searches
    :set smartcase Ignore case in searches excepted if an uppercase letter is used
    :%s/<./u&/g Sets first letter of each word to uppercase
    :%s/<./l&/g Sets first letter of each word to lowercase
    :%s/.*/u& Sets first letter of each line to uppercase
    :%s/.*/l& Sets first letter of each line to lowercase

    读写文件

    :1,10 w outfile Saves lines 1 to 10 in outfile
    :1,10 w >> outfile Appends lines 1 to 10 to outfile
    :r infile Insert the content of infile
    :23r infile Insert the content of infile under line 23

    文件浏览器

    :e . Open integrated file explorer
    :Sex Split window and open integrated file explorer
    :Sex! Same as :Sex but split window vertically
    :browse e Graphical file explorer
    :ls List buffers
    :cd .. Move to parent directory
    :args List files
    :args *.php Open file list
    :grep expression *.php Returns a list of .php files contening expression
    gf Open file name under cursor

    和 Unix 系统交互

    :!pwd Execute the pwd unix command, then returns to Vi
    !!pwd Execute the pwd unix command and insert output in file
    :sh Temporary returns to Unix
    $exit Retourns to Vi

    对齐

    :%!fmt Align all lines
    !}fmt Align all lines at the current position
    5!!fmt Align the next 5 lines

    Tabs/Windows

    :tabnew Creates a new tab
    gt Show next tab
    :tabfirst Show first tab
    :tablast Show last tab
    :tabm n(position) Rearrange tabs
    :tabdo %s/foo/bar/g Execute a command in all tabs
    :tab ball Puts all open files in tabs
    :new abc.txt Edit abc.txt in new window

    分屏显示

    :e filename Edit filename in current window
    :split filename Split the window and open filename
    ctrl-w up arrow Puts cursor in top window
    ctrl-w ctrl-w Puts cursor in next window
    ctrl-w_ Maximize current window vertically
    ctrl-w| Maximize current window horizontally
    ctrl-w= Gives the same size to all windows
    10 ctrl-w+ Add 10 lines to current window
    :vsplit file Split window vertically
    :sview file Same as :split in readonly mode
    :hide Close current window
    :­nly Close all windows, excepted current
    :b 2 Open #2 in this window

    自动完成

    Ctrl+n Ctrl+p (in insert mode) Complete word
    Ctrl+x Ctrl+l Complete line
    :set dictionary=dict Define dict as a dictionnary
    Ctrl+x Ctrl+k Complete with dictionnary

    Marks

    m {a-z} Marks current position as {a-z}
    ' {a-z} Move to position {a-z}
    '' Move to previous position

    缩写

    :ab mail mail@provider.org Define mail as abbreviation of mail@provider.org

    文本缩进

    :set autoindent Turn on auto-indent
    :set smartindent Turn on intelligent auto-indent
    :set shiftwidth=4 Defines 4 spaces as indent size
    ctrl-t, ctrl-d Indent/un-indent in insert mode
    >> Indent
    << Un-indent
    =% Indent the code between parenthesis
    1GVG= Indent the whole file

    语法高亮

    :syntax on Turn on syntax highlighting
    :syntax off Turn off syntax highlighting
    :set syntax=perl Force syntax highlighting
  • 相关阅读:
    HDU 4024 Dwarven Sniper’s hunting(数学公式 或者是二分)
    二分图最大匹配总结
    HDU 4022 Bombing (STL应用)
    HDU 1847 Good Luck in CET4 Everybody!(组合博弈)
    HDU 1556 Color the ball(树状数组)
    HDU 4023 Game(博弈)
    HDU 1406 完数(水题)
    HDU 4021 24 Puzzle
    Oracle 多表查询优化
    【编程之美】字符串移位包含的问题(续)
  • 原文地址:https://www.cnblogs.com/Felix-F/p/3256547.html
Copyright © 2011-2022 走看看