zoukankan      html  css  js  c++  java
  • vim 命令

    vi是“Visual    interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以
    执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对
    其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等
    其他属性进行编排,它只是一个文本编辑程序。    vi没有菜单,只有命令,且命令繁多。
    Vi有三种基本工作模式:
    +        命令模式
    +        文本输入模式
    +        末行模式。

    命令行模式
    任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在
    shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式
    下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字
    符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完
    成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是
    Vi的合法命令,Vi会响铃报警。


    文本输入模式

    在命令模式下输入插入命令i、附加命令a    、打开命令o、修改命令c、取代命令r或替换命
    令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保
    存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即
    可。
    末行模式
    末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在
    显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待
    用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文
    件中等)。末行命令执行完后,Vi自动回到命令模式。例如:
    :sp    newfile
    则分出一个窗口编辑newfile文件。如果要从命令模式转换到编辑模式,可以键入命令a或
    者i;如果需要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模
    式,然后输入命令。


    vim基础操作
    vim是从    vi    发展出来的一个文本编辑器    。代码补完、编译及错误跳转等方便编程的功能特
    别丰富
    进入插入模式:
    i:    插入光标前一个字符    
    I:    插入行首    
    a:    插入光标后一个字符    
    A:    插入行未    
    o:    向下新开一行,插入行首    
    O:    向上新开一行,插入行首
    进入命令模式:
    ESC:从插入模式或末行模式进入命令模式
    移动光标:
    h:    左移    
    j:    下移    
    k:    上移    
    l:    右移
    M:    光标移动到中间行    
    L:    光标移动到屏幕最后一行行首    
    G:    移动到指定行,行号    -G
    w:    向后一次移动一个字    
    b:    向前一次移动一个字
    {:    按段移动,上移    
    }:    按段移动,下移
    Ctr-d:    向下翻半屏    
    Ctr-u:    向上翻半屏
    Ctr-f:    向下翻一屏    
    Ctr-b:    向上翻一屏
    gg:    光标移动文件开头    
    G:    光标移动到文件末尾
    删除命令:
    x:    删除光标后一个字符,相当于    Del    
    X:    删除光标前一个字符,相当于    Backspace
    dd:    删除光标所在行,n    dd    删除指定的行数    D:    删除光标后本行所有内容,包含光标所在字符    
    d0:    删除光标前本行所有内容,不包含光标所在字符
    dw:    删除光标开始位置的字,包含光标所在字符
    撤销命令:
    u:    一步一步撤销    
    Ctr-r:    反撤销
    重复命令:
    .:    重复上一次操作的命令
    文本行移动:
    >>:    文本行右移    
    <<:    文本行左移
    复制粘贴:
    yy:    复制当前行,n    yy    复制    n    行    
    p:    在光标所在位置向下新开辟一行,粘贴
    可视模式:
    v:    按字符移动,选中文本    
    V:    按行移动,选中文本可视模式可以配合    d,    y,    >>,    <<    实现对文本块的删除,复制,左右移动
    替换操作:
    r:    替换当前字符    
    R:    替换当前行光标后的字符
    查找命令:
    /:    str查找
    n:    下一个
    N:上一个
    替换命令:
    把abc全部替换成123
    末行模式下,将当前文件中的所有abc替换成123
    :%s/abc/123/g
    末行模式下,将第一行至第10行之间的abc替换成123
    :1,    10s/abc/123/g
    vim里执行    shell    下命令:
    末行模式里输入!,后面跟命令

    vim分屏操作
    分屏操作:
    sp:    上下分屏,后可跟文件名    
    vsp:    左右分屏,后可跟文件名
    Ctr+w+w:    在多个窗口切换
    启动分屏:
    1.使用大写O参数进行垂直分屏
    $    vim    -On    file1    file2    ...
    2.使用小写o参数进行水平分屏
    $    vim    -on    file1    file2    ...
    注:    n是数字,表示分屏的数量,n要大于等于文件个数
    关闭分屏
    1.关闭当前窗口
    ctrl+w    c
    2.关闭当前窗口,如果只剩最后一个,则退出vim
    ctrl+w    q
    编辑中分屏
    1.上下分割当前打开的文件
    ctrl+w    s
    2.上下分割,并打开一个新的文件
    :sp    filename
    3.左右分割当前打开的文件
    ctrl+w    v
    4.左右分割,并打开一个新的文件
    :vsp    filename
    分屏编辑中光标的移动
    vi中的光标键是h,j,k,l,要在各个屏之间切换,只需要先按一下ctrl+w
    1.把光标移动到上边的屏
    ctrl+w    k
    2.把光标移动到下边的屏
    ctrl+w    j
    3.把光标移动到右边的屏
    ctrl+w    l
    4.把光标移动到左边的屏
    ctrl+w    h
    5.把光标移动到下一个的屏
    ctrl+w    w
    移动分屏
    1.向上移动
    ctrl+w    K
    2.向下移动
    ctrl+w    J
    3.向右移动
    ctrl+w    L
    4.向左移动
    ctrl+w    H
    屏幕尺寸
    1.增加高度
    ctrl+w    +
    2.减少高度
    ctrl+w    -
    3.让所有屏的高度一致
    ctrl+w    =
    4.左加宽度
    ctrl+w    >
    5.右加宽度
    ctrl+w    <
    6.右增加n宽    (如:n=30)
    ctrl+w    n    <


    vim打造IDE
    简洁版IDE
    C+p:    生成tags
    C+]:    跳转到函数定义
    C+t:从函数定义返回
    C+o:在左侧打开文件列表
    F4:        在右侧打开函数列表
    C+n:补⻬函数,向下翻
    vimrc是vim的配置文件,可以修改两个位置
    1.    /etc/vim/vimrc
    2.~/.vimrc
    ~/.vimrc优先级高

  • 相关阅读:
    XML错误信息Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-4.0.xsd). For more information, right click on the message in the Problems View ...
    Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to 2.3.
    maven创建web报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-compiler-plugin:3.5.1:runtime Cause: error in opening zip file
    AJAX跨域
    JavaWeb学习总结(转载)
    JDBC学习笔记
    Java动态代理之JDK实现和CGlib实现
    (转)看懂UML类图
    spring boot配置使用fastjson
    python3下django连接mysql数据库
  • 原文地址:https://www.cnblogs.com/whybxy/p/8462840.html
Copyright © 2011-2022 走看看