• Linxu 【vim】


    目录

    1.vim基本概念

    1.2 vim基本指令

    2.底行模式指令

    3.快速配置vim

    4.sudo 白名单


    1.vim基本概念

    Vim是一个编辑器(只能写代码)

    如果只输入vim进入该模式,shift+:  然后输入q退出

    命令模式(默认打开时的模式):esc

    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

    插入模式:i

    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

    底行模式:shift+:

    文件保存:w

    退出:q     wq退出并保存   wq!强制退出并保存

    也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。

    1.2 vim基本指令

    复制

    将当前光标所在的行复制:yy      将复制行粘贴:p (yy  100p代表复制100行 )

    一次性复制n行指令 (nyy p)  一次性复制5行指令,复制1000次(5yy 1000p)

    yw:将光标所在之处到字尾的字符复制到缓冲区中

    #yw:复制#个字到缓冲区

    撤销

    u,按多次“u”可以执行多次撤销

    ctrl + r  撤销的恢复

    移动光标

    1.光标定位到文件结尾:shift+g    按[gg]:进入到文本开始

    2.移动到光标所在行的“行尾” :$      移动到光标所在行的“行首”:^

    3.光标定位到任意行号: xxx +shift+g

    按照单词为单位进行左右移动:b(左) w(右) e(光标跳到下个字的字尾)

    5.vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母

    「 h 」「 j 」「 k 」「 l 」,分别控制光标左、下、上、右移一格

    6.按「x l」:光标移到该行的第x个位置,如:5l,56l

    7.按「ctrl」+「b」:屏幕往“前”移动一页

    按「ctrl」+「f」:屏幕往“后”移动一页

    按「ctrl」+「u」:屏幕往“前”移动半页

    按「ctrl」+「d」:屏幕往“后”移动半页

    删除

    「dd」:删除光标所在行(也可以充当剪切,同时支持ndd,然后p)

    删除部分行数:8dd(从当前开始往下删八行)

    「x」:每按一次,删除光标所在位置的一个字符  ,支持nx

    shift+x:从右向左删        

    「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符

    「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

    「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符

    替换

    「r」:替换光标所在处的字符(nr ,n个字符都被替换)

    「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

    shift+r:无视原来内容,直接替换

    更改大小写

    对一行小写内容全部改大写(大写改小写):shift + ~


    2.底行模式指令

    1.set nu 调出行号    set nonu取消行号

    2.vs 文件名  --vim实现分屏操作(vim可以创造不存在的文件)

    光标如何在分屏中切换:ctrl+ww(快速按)

    3.w! 强制写入保存文件 q! 强制退出  wq! 强制写入保存文件并退出

    跳到文件中的某一行

    4.「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行

    5.!cmd 的作用是不退出vim执行指令操作,(例如! ls -al 不退出vim查看当前文件信息)

    查找字符

    「/关键字」: 先按「/」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直按 「n」会往后寻找到要的关键字为止。

    「?关键字」:先按「?」键,再输入想寻找的字符,如果第一次找的关键字不是想要的,可以一直 按「n」会往前寻找到要的关键字为止。

    替换:[range]s[ubstitute] / {pattern} / {string} / [flags] [count]

    s 表示substitute,也就是替换, 格式为以下

    range 表示区间 % 用于表示全文, 2,3 表示从第2行开始到第3行

    {pattern} 表示字符串匹配规则,要匹配什么样的字符串 , 比如^a 表示以a字符起始的字符串

    {string} 表示要将匹配到的字符串替换为的新的string字符串

    [flags] s_flags中,g比较常用,通常使用g表示全部替换,默认如果不给的话,表示只替换一次

    [count] 表示在一行中匹配多少次,很少会用到

    如果想要将文件中所有 nihao 替换为 hello 则命令为: %s/nihao/hello/g

    其他命令

    p 用于打印指定区间的行

    :[range]p[rint] [flags]

    i 在指定行上方添加文本

    :{range}i[nsert][!]


    3.快速配置vim

    curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

    4.sudo 白名单

    whoami (我是哪个账号)

    root进入 vim /etc/sudoers,往下翻找到Allows,把自己账号添加进去

  • 相关阅读:
    牛客网语法篇之Java入门
    「PHP系列」数组详解
    抖音矩阵系统,抖音矩阵系统,抖音矩阵系统,讲三遍。
    Django 全局配置 settings 详解
    arcgis拓扑检查实现多个矢量数据之间消除重叠区域
    网络威胁情报git【全面】
    开源机器人SmallRobotArm机器人源码解读
    ICMP协议(一)
    11_printf函数移植串口通信
    1、如何抓取Modbus TCP/UDP 数据包实战
  • 原文地址:https://blog.csdn.net/weixin_63543274/article/details/126031286