• Linux常用命令学习6---(vim的使用)


        先说说我,我使用了这么久的vim,但是完全没有将vim的功能完全利用到,无非就是使用了编辑(i)、保存(:w)、退出(:q)、等简单的编辑,命令,以及NerdTree这一个插件,所以在这里需要重新学习vim,争取将vim使用的出神入化,最大化的利用vim的强大的功能

    1.vim编辑器简介
        vi:是Visual Interface的简称
        vim:是vi的升级版,完全兼容vi的命令,所以完全可以把vim当作vi来使用,但是vim比vi更强大了
            vim支持多级撤销:一般的可视化编辑器使用Ctrl+Z的方式进行撤销;vi中是通过u撤销上一步操作,但是只能撤销一步
            vim可以跨平台
            vim支持语法高亮
            vim支持图形界面(但是完全没有必要,用图形界面反而降低了bige)
        
    2.vim编辑器的操作模式
        介绍三种模式
            普通模式
                比如:撤销、剪贴、复制
            编辑模式
                用于输入文本(打字)
            命令模式模式(尾行、末行),有时也归为命令模式
                可以输入一些指令,比如保存文件、退出、搜索文件中的字符串……操作
        vim刚刚启动的时候默认是命令模式,这个时候是不能往里面输入,此时是等待用户输入命令而不是等待用户编辑文件,以后再继续介绍,这里只说 i ,是从命令模式切换到输入模式
        输入了字符串之后,按 ESC 按钮就又从输入模式切换到命令模式(其实此时也可以操作底行模式),这个时候可以输入:w 就是保存文件(将输入的信息写到文件中),在输入:q 就会退出vim,或者输入:wq 在保存后立即退出(这里面的:w、:q、:wq其实就是在底行模式下操作的)


    3.vim命令本身(假如存在文件abc)

      vim -R abc:以只读方式打开文件,不能修改文件

      vim -x abc:对文件进行加密,在保存文件时对文件进行加密,以后每次打开文件的时候都需要输入秘钥,否则会出现乱码

        vim abc:打开abc文件,一般这时光标会出现在第一行
        vim + abc:打开abc文件,且这时候光标会出现在最后一行
        vim +3 abc:打开abc文件,将光标定位在文件的第三行,如果输入的行号超过文件的最大行,那将会定位在最后一行
        vim +/findstr abc:打开abc文件,并且将光标定位到 findstr第一次出现的行(如果文件中多行出现 findstr的话),而且打开文件之后还可以按 n 键在多个findstr进行来回的切换,这样很方便、很高效
        vim aa bb cc:这样将会打开多个文件(如果文件不存在就会创建)
            但是最先编辑的是aa,如果想编辑第二个文件bb,可以在底行模式输入:n 然后回车就可以切换去编辑bb 文件,再在底行模式输入 :n 回车切换到 cc文件;
            要想回到前一个文件,可以在底行模式输入 :N 回车,或者输入 :prev 回车



    4.普通模式模式的常用指令(输入命令,然后直接产生效果)
        h --光标左移(3h,向左移动3个光标)
        j --光标下移(加数字方式同上)
        k --光标上移(加数字方式同上)
        l --光标右移(加数字方式同上)
        ctrl+f --向下翻页
        ctrl+b --向上翻页
        ctrl+d --向下翻半页
        ctrl+u --向上翻半页
        dd --删除光标所在的行(D:删除从光标所在位置到行尾的所有字符)
        o --在光标所在的行的下方插入一行并切换到输入模式(O是在当前行上方插入一行)
        yy --复制光标所在的行
        p --在光标所在的行的下行粘贴
        P --在光标所在的行的上行粘贴

        0、^ --移至行首
        $ --移至行尾
        w、W --按词前移(w和W有些不同,具体自己使用去感受)
        b、B --按词后移
        e、E --移至词尾
        行号G --移至指定行(比如10G,就是移动到第10行)
        d^ --删除从当前光标到行首的字符
        d$ --删除从当前光标到行尾的字符
        dG --删除从当前光标到文件尾的字符
        dgg --删除从当前光标到文件开头的字符

        u 撤消
        . 重复上溢操作
        g- 返回较早的文本状态
        g+ 返回较新的文本状态

        % 在匹配的括号之间进行跳转
        gd 在当前文件中对变量或函数名进行搜索,然后进行跳转(变量会跳转到变量被定义的地方,且所有的该变量名都会被高亮显示)
        [I 搜索当前光标所在位置的全局标识(比如宏常量)出现的地方,当前文件以及引用的头文件
        Ctrl n 代码提示

        = 逐行整理缩进
        =G 需要在文件开头时执行,这是将整个文件进行缩进整理



        

    5.命令模式的常用指令(往往输入命令之后,再按Enter回车键才会执行)
        :w 回车 --表示将文件的修改从内存写入到硬盘中,相当于常说的保存文件
        :q 回车 --退出当前vim编辑的文件
        :! 回车 --强制执行,比如 :q! 表示强制退出编辑,不进行保存
        :ls 回车 --列出当前编辑器编辑的所有文件
        :n 回车 --切换到下一个文件
        :N 回车 或者 :prev 回车 --切换到上一个文件
        :3 回车 --表示将光标定位到第3行
        /findstr 回车 --从光标位置开始向后搜索字符串 findstr(再用命令 n会跳至下一处)
        ?findstr 回车 --从光标位置开始向前搜索字符串 findstr

        :undo
        CTRL-R 重做
        :redo
        :undolist 查看撤消分支
        :earlier 退回到指定时间前的文本状态
        :later 退回到指定时间后的文本状态
        :set number--让编辑器显示行号
        : --移至指定行(比如:10回车 是移到第10行)

        :g/s1/s//s2/回车 --用s2 替换文本中的字符串s1(如果在某一行中出现两个或多个要替换的字符串,则只会去替换第一个)
        :g/s1/s//s2/g回车 --替换所有的,即使某一行出现多个也都进行替换
        :g/s1/s//s2/gc回车 --替换所有的,并且在每一次替换之前都要询问用户去进行确认

      

    6.vim键盘图

  • 相关阅读:
    内网其他服务器节点连接Mysql数据库很慢的解决方案
    MongoDB分片技术原理和高可用集群配置方案
    Hive事务原理和Datax同步事务表问题解决
    Mysql使用存储过程创建测试数据
    Hive的原生部署方式
    ByteArray的操作总结(复制、打印、位运算)
    句柄
    C# 使用指针将不同值类型赋值到字节数组中
    对象、字节流转换
    ASP.NET Core学习日志1
  • 原文地址:https://www.cnblogs.com/xumenger/p/4501819.html
Copyright © 2020-2023  润新知