zoukankan      html  css  js  c++  java
  • Vim 模式及常用命令整理

    VIM 命令
        以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
     
    vim的模式
    基本上可以分为3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),下图所示为Vim各种模式相互转换的关系图。
                                            
    命令模式:控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作,以及进入插入模式,或者回到底行模式。
    插入模式:只有在插入模式下,才可以输入文字。按[Esc]键可回到命令行模式。
    底行模式:保存文件或退出Vim,同时也可以设置编辑环境和一些编译工作,如列出行号、寻找字符串等。
     
    打开与退出
     
    vi启动是:vi filename
    该命名打开或者创建一个文件。首先进入vi后,是cmd模式(命令模式)。在该模式下可以移动光标,复制,移动,删除等。
     
    vim -O file1 file2: 同时打开两个文件, ctrl+w 进行窗口切换
     
    ZZ: 保存文件并退出。Note: 与其他编辑器不一样,Vim 不会自动建立一个备份文件。如果你输入 "ZZ", 你的修改立即生效并且不能恢复。你可以配置 Vim 让它产生一个备份文件。
    :w 保存
    wq: 保存并退出
    :q: 退出
    :q!: 放弃修改。按回车使命令生效。
     
    在cmd下可以用下面几个命令进入编辑模式:
    i 在当前位置生前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行
    编辑模式下,只能输入,不能使用hjkl的光标移动,使用esc可以切换到cmd模式
     
    光标控制:命令模式
     
    光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
         h (左移)    j (下行)     k (上行)     l (右移)
    以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符。
     
    gg命令:         跳到文件的首行
    G命令:           跳到文件的最后一行
    0(数字0)   移动到本行第一个字符上
    ^命令:           跳转到行首第一个普通字符上
    $命令:            跳转到行尾, 3$ 移动到下面3行的行尾
    b(begin)命令:     跳转到当前单词的前面, 2b 向后移动2个单词
    e(end)命令:         跳转到当前单词的后面
    w 命令:              向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
    <HOME> :       移动到本行第一个字符。同0健。
    冒号+行号:        跳到指定行。比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。
     
    number%命令: 跳转到number%处, 例如跳转到20%, 键入20%即可
    Ctrl + e 向下滚动一行
    Ctrl + y 向上滚动一行
    Ctrl + d 向下滚动半屏
    Ctrl + u 向上滚动半屏
    Ctrl + f 向下滚动一屏
    Ctrl + b 向上滚动一屏
     
    删除命令:命令模式
    命令模式下,Vim提供了许多删除命令。这些命令大多是以d开头的。
    x命令: 删除光标处的字符。若在x之前加上一个数字n,则删除从光标所在位置开始向右的n个字符。
    X命令:删除光标前面的那个字符。若在X之前加上一个数字n,则删除从光标前面那个字符开始向左的n个字符
    dd命令:剪切(删除)光标所在的整行。在dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。
    D或d$命令:删除从光标所在处开始到行尾的内容。
    d0命令:删除从光标前一个字符开始到行首的内容。
    dw命令:删除一个单词。若光标处在词的中间,则从光标所在位置开始删至词尾。同dd命令一样,可在dw之前加一个数字n,表示删除n个指定的单词。
     
    复制命令:命令模式
    y^/y0:      复制至行首, 不含光标所在处字符
    y$:            复制至行尾。含光标所在处字符
    yw:           复制一个 word
    yG:           复制至档尾
    y1G:         复制至档首
     
    dd命令:  剪切当前行。
    yy命令(或大写一个 Y):   拷贝当前行。2yy 表示复制两行。
    cc命令:   剪切当前行并且进入插入模式。
    D命令:    剪切从光标位置到行尾到剪贴板。
    Y命令:    拷贝当前行。
    C命令:    和 D 类似,最后进入插入模式。
    x命令:     剪切当前字符到剪贴板。
    s命令:     剪切当前字符到剪贴板,最后进入插入模式。
     
    粘贴命令:命令模式
    小写 p 代表贴至光标后(下)。 P 大写 P 代表贴至光标前(上)
     
    撤销和重做
    u 撤销(Undo)
    U 撤销对整行的操作
    Ctrl + r 重做(Redo),即撤销的撤销。
     
    查找命令
    /text  查找text,按n健查找下一个,按N健查找前一个。
    ?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。
                    vim中有一些特殊字符在查找时需要转义  .*[]^%/?~$
    查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
     
    :set ignorecase   忽略大小写的查找
    :set noignorecase  不忽略大小写的查找
    :set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
    :set nohlsearch  关闭高亮搜索显示
    :nohlsearch  关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
    :set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
    :set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。




  • 相关阅读:
    Qt5."Clang Code Model"一些设置
    基于element表格的合并多个行实例
    vue中,基于echarts 地图实现一个人才回流的大数据展示效果
    vue2.0 子组件props接受父组件传递的值,能不能修改的问题整理
    vue调用组件,组件回调给data中的数组赋值,报错Invalid prop type check failed for prop value. Expecte
    vue,基于element的tree组件封装
    vue父子组件相互传值的实例
    基于vant实现一个问卷调查
    css3实现倾斜转动的转盘
    0801 am使用tp框架对数据库增删改查
  • 原文地址:https://www.cnblogs.com/xiaoxuch-zhl/p/3334975.html
Copyright © 2011-2022 走看看