zoukankan      html  css  js  c++  java
  • vim编辑模式

    vim 编辑器

    vim 三种模式

    • 普通模式(命令模式)

    # 跳转光标
    G:将光标跳转到最后一行(Shift + g)
    gg:将光标跳转到第一行
    Ngg:将光标跳转到指定行(N代表正整数)
    $:将光标跳转到当前所在行的行末
    ^:将光标跳转到当前所在行的行首(或者按 0)
    
    # 翻页
    Ctrl + f :向下翻页
    Ctrl + b :向上翻页
    
    # 复制粘贴
    yy:复制当前光标所在行的内容
    p:将复制的内容粘贴到当前光标所在行的下一行(剪切或者复制的是行)
    P:将复制的内容粘贴到当前光标所在行的上一行(剪切或者复制的是行)
    #当复制或者剪切的是字符的时候
    p:往当前光标所在字符的右边粘贴
    P:往当前光标所在字符的左边粘贴
    
    Nyy 或者 yNy:复制多行内容(N代表正整数)
    
    # 删除剪切
    dd:剪切
    Ndd 或 dNd:剪切多行内容(N代表正整数)
    dG:剪切当前光标所在行到文件末尾所有内容
    dgg: 剪切当前光标所在行到文件开头所有内容
    x:剪切当前光标所在的字符
    X:剪切当前光标所在字符的前一个字符
    D:(shift + d)删除当前光标,所在字符,之后的内容(行)
    
    # 撤销替换
    u:撤销上一步操作
    Ctrl + r:恢复刚才的撤销操作
    r:替换当前光标所在的字符(只能一个字符替换一个字符,不能替换多个)
    R:替换当前光标所在字符和之后的所有内容,直到按ESC取消
    
    • 编辑模式

    # 从普通模式(命令模式)切换到编辑模式
    i(insert):在当前光标所在字符之前,插入内容
    I(shift + i):将当前光标跳转至行首,然后进入编辑模式,即可插入内容
    ## 比如说,我们想注释多行内容
    1、首先将光标移动到,你要注释的行的第一行。
    2、按Ctrl + v,进入到 可视 块
    3、按Shift + i
    4、输入井号 # 
    5、按ESC
    
    
    
    o:往当前光标所在行的下一行插入内容
    O(shift + o):往当前光标所在行的上一行插入内容
    
    s:删除当前光标所在的字符,并且进入编辑模式
    S(shift + s):删除当前光标所在行内容,并且进入编辑模式
    
    a:在当前光标所在字符之后,进入编辑模式,插入内容
    A(shift + a):在当前光标所在行末尾,进入编辑模式,插入内容
    
    #从编辑模式 切换回 命令模式  按 `ESC`
    
    • 末行模式

    # 编辑模式 无法直接切换到末行模式
    # 普通模式 才能直接切换到末行模式
    # 使用 冒号, 从普通模式切换到末行模式
    :N   切换后,直接输入  N (正整数) 会跳转到指定行
    :wq  保存退出(写入并且退出)
    write quit 
    :w   保存不退出
    :q   退出不保存
    :wq!
    :q!
    :w!
    !: 强制执行
    :x 保存退出
    ZZ(shift + zz):保存退出
    
    
    :set nu   显示文件行号
    :set nonu 取消显示文件行号
    :set ic   忽略大小写
    :set noic 取消忽略大小写
    :set ai   自动缩进
    :set noai 取消自动缩进
    :set list 显示制表符,tab..
    :set nolist 取消显示制表符
    :nohl	取消高亮
    
    :%s#binkp#zls#g
    
    :%s#binkp#zls#gc
    
    %:全文替换
    1,10  1-10行替换
    
    s:替换
    g:匹配的所有
    c:提示询问
    	替换为 tcpmux (y/n/a/q/l/^E/^Y)?
    	y:替换一次
    	n:选中下一个
    	a:全部替换
    	q:退出
    	l:退出并询问
    

    扩展

    如何同时编辑多个文件

    vim -o file1 file2 水平分割
    vim -O file1 file2 垂直分割
    //ctrl+ww 文件间切换
    

    相同文件之间差异对比

    diff  文件对比(用的不多)    
    vimdiff  以vim方式打开两个文件对比,标记不同的内容
    

    VIM非正常退出

    //删除同文件名的.swp文件即可解决
    .filename.swp   rm -f .filename.swp
    
  • 相关阅读:
    JQuery操作元素的属性与样式及位置 复制代码
    【转】从零开始编写自己的C#框架
    一步一步Asp.Net MVC系列_权限管理设计
    ASP.NET MVC5 网站开发实践
    MVC5+EF6 入门
    ASP.NET中使用JqGrid完整实现
    技术是容易学会的(Copy)
    Oracle 创建用户并且授权
    python安装zlib一直无效
    linux ln 命令(转载)
  • 原文地址:https://www.cnblogs.com/tcy1/p/12575477.html
Copyright © 2011-2022 走看看