vim详细操作

内容纲要
  • 一般命令模式:

    移动光标
    h或←光标向左移动一个字符
    j或↓光标向下移动一个字符
    k或↑光标向上移动一个字符
    l或→光标向右移动一个字符
    [Page Down]屏幕向下移动一页(常用)
    [Page Up]屏幕向上移动一页(常用)
    [Ctrl] + [d]屏幕向下移动半页
    [Ctrl] + [u]屏幕向上移动半页
    +光标移动到非空格符的下一行
    -光标移动到非空格符的上一行
    n[space]光标向后移动n个字符
    0或[Home]移动到此行首字符处(常用)
    $或[End]移动到此行尾字符处(常用)
    H光标移动到屏幕最上方行的首字符处
    M光标移动到屏幕中央行的首字符处
    L光标移动到屏幕最下方行的首字符处
    G移动到此文件的尾行(常用)
    nG移动到此文件的第n行(可配合:set nu)
    gg或1G移动到此文件的首行(常用)
    n[Enter]光标向下移动n行(常用)
    查找替换
    /word向光标之下寻找一个名称为word的字符串(常用)
    ?word向光标之上寻找一个名称为word的字符串
    n重复前一个查找的操作
    N反向重复前一个查找的操作
    :n1,n2s/word1/word2/g在n1与n2行之间寻找word1字符串并替换为word2(常用)
    :1,$s/word1/word2/g从首行到尾行寻找word1字符串并替换为word2(常用)
    :1,$s/word1/word2/gc上述操作替换前显示提示字符用以确认(常用)
    删除、复制、粘贴
    [Del]与[Backspace]向后与向前删除一个字符(常用)
    nx与nX连续向后与向前删除n个字符
    dd剪切光标所在行(常用)
    ndd剪切光标所在向下n行(常用)
    d1G剪切光标所在到首行的数据
    dG剪切光标所在到尾行的数据
    d$剪切光标所在处到该行尾字符
    d0剪切光标所在处到该行首字符
    yy复制光标所在行(常用)
    nyy复制光标所在向下n行(常用)
    y1G复制光标所在行到首行的所有数据
    yG复制光标所在行到尾行的所有数据
    y0复制光标所在字符到该行行首的所有数据
    y$复制光标所在字符到该行行尾的所有数据
    p与Pp为将数据粘贴在光标下一行,P为粘贴在光标上一行(常用)
    J将光标所在行与下一行的数据结合成同一行
    c重复删除多个数据
    u恢复前一个操作(常用)
    [Ctrl] + r重做上一个操作(常用)
    .重复前一个操作(常用)
  • 编辑模式:

    进入插入、替换
    i与Ii为从光标所在处插入;I为从所在行第一个非空格符处插入(常用)
    a与Aa为从光标所在下一个字符处插入;A为从光标所在行尾字符处插入(常用)
    o与Oo为在光标所在下一行处插入新一行;O为在光标所在上一行处插入新一行(常用)
    r与Rr只会替换光标处字符一次;R会一直替换光标处字符,直到按下Esc(常用)
    [Esc]退出编辑模式(常用)
  • 命令行模式:

    保存、退出
    :w将编辑的数据写入硬盘文件(常用)
    :w!文件只读时,强制写入
    :q退出vi(常用)
    :q!强制退出不保存
    :wq保存后退出,若为:wq!则为强制保存后退出(常用)
    ZZ若文件没有修改,则不保存退出;若文件已经修改,则保存退出
    :w[filename]另存新文件
    :r[filename]将filename文件内容加到光标所在行后面
    :n1,n2 w[filename]将n1到n2的内容保存为filename文件
    :! command暂时退出vi到命令行模式下执行command的显示结果
    环境修改
    :set nu显示行号
    :set nonu取消行号
  • 可视区块:

    按键意义
    v将光标经过的地方反白选择
    V将光标经过的行反白选择
    [Ctrl] + v可视区块,用矩形的方式选择数据
    y将反白的地方复制
    d将反白的地方删除
    p在光标处粘贴已复制区块
  • 多文件编辑:

    按键意义
    :n编辑上一个文件
    :files列出目前vim开启的所有文件
  • 多窗口功能:

    按键功能
    :sp [filename]打开一个新窗口,如果有加filename,表示在新窗口创建一个新文件,否则两个窗口同步显示
    [ctrl] + w + ↓先按下[ctrl]不放,在按下w后放开所有按键,之后再按下↓,则光标可移动到下方窗口
    [ctrl] + w + ↑同上,光标移动到上方窗口
    [ctrl] + w + q等价于:q
  • 关键词补全:

组合键补齐的内容
[ctrl] + x -> [ctrl] + n通过目前正在编辑的这个文件的内容文字作为关键词,予以补齐
[ctrl] + x -> [ctrl] + f以目前目录内的文件名作为关键词,予以补齐
[ctrl] + x -> [ctrl] + o以扩展名作为语法补充,以vim内置的关键词,予以补齐
  • 环境设置与记录:
    环境设置参数/th>
    :set nu / :set nonu设置与取消行号
    :set hlsearchhigh light serach(高亮度查找),设置是否将查找的字符串反白,默认值是hlsearch
    :set nohlsearch / :set autoindent / :set noautoindent自动缩进
    :set backup是否自动保存备份文件?一般是nobackup的,如果设置backup的话,那么当修改任何一个文件时,则源文件会被另存成一个文件名为filename~的文件
    :set ruler显示或不显示右下角状态栏说明
    :set showmode是否显示 --INSERT-- 之类的左下角状态栏字眼
    :set backspace=(012)为2时,可以删除任意值;0或1时,仅可删除刚刚输入的字符,无法删除原本已经存在的文字
    :set all显示目前所有的环境参数设置值
    :set显示与系统默认值不同的设置参数
    :syntax on / :syntax off是否依据程序相关语法显示不同颜色
    :set bg=dark / :set bg=light显示不同的颜色色调

留下评论

您的电子邮箱地址不会被公开。