• Vim常用命令


    
    

    基本命令

    :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 file
    gg move the cursor to the begining of the file
    L move the cursor to the bottom of the screen
    :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
    x Delete current cursor char

    搜索

    /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 with somethingelse

    替换

    :%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

    选项卡/窗口

    :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

    标记

    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

    http://www.cnblogs.com/lhb25/p/130-essential-vim-commands.html

  • 相关阅读:
    选择排序
    转:ASP.NET MVC中Unobtrusive Ajax的妙用
    转:MVC 下导航超链接本页面高亮的一种解决方案
    转载:iOS 推送的服务端实现
    转载:Unobtrusive JavaScript in ASP.NET MVC 3 隐式的脚本在MVC3
    待实践三:MVC3下 路由的测试 使用 RouteDebug.dll 来测试判断路由是否符合
    待实践二:MVC3下的3种验证 (1)前台 jquery validate验证 (2)MVC实体验证 (3)EF生成的/自己手写的 自定义实体校验(伙伴类+元素据共享)
    待实践一:仿造博客园后台上传头像并切图生成缩略图fine uploader.js jcrop.js
    Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
    Linq 时间对比陷阱坑
  • 原文地址:https://www.cnblogs.com/ibyte/p/5906487.html
Copyright © 2020-2023  润新知