• linux学习三:vim


    vi和vim

    vim是vi的增强版,只要是linux系统就有vi。

    centos7默认没有vim命令,需要自己装:yum install vim -y

    命令模式

    vim刚进去,进入命令模式,可以使用各种快捷键。

    快捷键

    hjkl:左下上右
    
    # 删除
    x, X	在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
    nx	n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
    dd: 删除游标所在的那一整行(常用)
    ndd: n为数字,删除光标所在的向下 n 行,例如:20dd 则是删除20行(常用)
    c: 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
    d$: 删除游标所在处,到该行的最后一个字符,跟 D 一样。
    D: 删除光标后面的所有
    d^: 删除游标所在处,到该行的第一个字符
    d1G: 删除光标到第一行的之间的行,注意 G必须是大写
    dG: 删除光标到最后一行之间的行,注意 G 必须是大写
    d0: 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
    
    # 复制粘贴撤销复原
    yy: 复制游标所在的那一行
    nyy: 复制游标向下n行,例如20yy则是向下复制20行
    y0: 复制光标所在的那个字符到该行行首的所有数据
    y$: 复制光标所在的那个字符到该行行尾的所有数据]
    p: 粘贴复制的的那一行到下一行(常用)
    P: 贴在游标上一行(常用)
    u: 撤销
    ctrl+r: 复原,跟u相对应
    .: 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)
    J	将光标所在行与下一行的数据结合成同一行
    
    # 光标移动
    G: 跳到最后一行
    gg: 跳到首行
    $: 跳到光标所在行尾
    ^: 跳到光标所在行首
    E: 单词间的移动
    H:	=shift+h,光标移动到这个屏幕的最上方那一行的第一个字符
    M	光标移动到这个屏幕的中央那一行的第一个字符
    L	光标移动到这个屏幕的最下方那一行的第一个字符
    n+shift+g: 跳到指定行,例如:120+shift+g 跳到第 120 行
    ctrl+f: 相当于PgDown,向下翻页
    ctrl+b: 相当于PgUp,向上翻页
    ctrl+d/u: 向下/向上移动半页
    0 或功能键[Home]: 这是数字『 0 』:移动到这一行的最前面字符处 (常用) 相关快捷键:d0,y0
    $ 或功能键[End]	移动到这一行的最后面字符处(常用)  相关快捷键:d$, y$
    
    # 查找
     /word: 向光标之下查找为 word 的字符串
     ?word: 向光标之上查找为 word 的字符串
     n:执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
     N:这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
    
    

    编辑模式

    命令模式中按 'i',进入编辑模式。按 ESC 退出到命令模式。

    快捷键

    Home: 跳到行首
    End: 跳到行末
    Backspace: 删除光标前面的字符
    Del: 删除光标后面的字符
    PgUp: 向上翻页
    PgDn: 向下翻页
    a, A	进入插入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』。(常用)set
    o, O	进入插入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!(常用)
    r, R	进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
    

    底行模式

    命令模式中按 ':' ,进入底行模式。按 ESC 退出到命令模式。

    快捷命令:

     :set nu: 显示行号
     :set nonu: 隐藏行号
     :w [filename]: 将当前修改保存为新文件
     :r [filename]	在编辑的数据中,读入另一个档案的数据。亦即将『filename』 这个档案内容加到游标所在行后面
     :n1,n2 w [filename]	将 n1 到 n2 的内容储存成 filename 这个档案。
     
     替换
     :n1,n2s/word1/word2/g	n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:『:100,200s/vbird/VBIRD/g』。(常用)
     :1,$s/word1/word2/g	从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
     :1,$s/word1/word2/gc	从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
    
    
  • 相关阅读:
    EditPlus 4.3.2502 中文版已经发布(12月5日更新)
    EditPlus 4.3.2499 中文版已经发布(11月21日更新)
    为什么有负频率,什么是相位谱 —— 关于傅立叶变换的随笔
    对“善于提问,主动解决问题”的程序员的吐槽
    .NET事件监听机制的局限与扩展
    .NET陷阱之六:从枚举值持久化带来大量空间消耗谈起
    深入挖掘.NET序列化机制——实现更易用的序列化方案
    在VMWare中建立Hadoop虚拟集群的详细步骤(使用CentOS)
    微信分享
    如何导入ShareSDK的sample
  • 原文地址:https://www.cnblogs.com/KbMan/p/12416325.html
Copyright © 2020-2023  润新知