阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

linux下vim的使用以及高效率的技巧

293次阅读
没有评论

共计 3135 个字符,预计需要花费 8 分钟才能阅读完成。

导读 今天来介绍以下 linux 下 vim 的使用以及高效率的技巧

linux 下 vim 的使用以及高效率的技巧

目录
  • 一. 关于 vim 编辑器
  • 二.vim 编辑器的模式
  • 三. 一般模式下的基础操作
  • 四.V 模式(列模式)的基础操作
  • 五. 命令模式下的基础操作
  • 六. 自定义 vim 环境
  • 七.vim 同时打开多个文件
  • 八. 比较两个文件的内容
  • 一. 关于 vim 编辑器

    Vim 是一个类似于 Vi 的著名的功能强大、高度可定制的文本编辑器,在 Vi 的基础上改进和增加了很多特性。VIM 是自由软件。vim 可以当作

    vi 的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

    [root@node5 ~]# rpm -qf `which vim`
    vim-enhanced-7.4.160-5.el7.x86_64
    [root@node5 ~]# rpm -qf `which vi`
    vim-minimal-7.4.160-2.el7.x86_64

    # 从输出可以看到,vim 是 vi 的增加版,最明显的区别就是 vim 可以语法加亮,它完全兼容 vi

    二.vim 编辑器的模式

    1.vim 编辑器有三种模式,第一次进入是一般模式,左下角出现“Insert”是编辑模式,输入:是命令行模式。

    ​ 从编辑模式到命令行模式怎样切换?编辑模式 ->esc-> 一般模式 ->: -> 命令模式
    ​ 一般模式怎样进入编辑模式?按 a 或 i 或 o 或 A 或 I 或 O

    image-20201010173449952
    image-20201010173559526

    2. 总结:vim 如何进入其它模式?

    ​ a A o O i I 都是可以进行插入,编辑模式
    ​:进入命令行模式
    ​ v 进入可视模式
    ​ ctrl+v 进入可视块模式
    ​ V 进入可视行模式
    ​ R 擦除、改写,进入替换模式
    ​ 你进入以上模式后,想要退出,按 esc
    三. 一般模式下的基础操作
    i 当前字符之前插入 (光标前)
    I 行首插入 (行首)
    a 当前字符之后插入 (光标后)
    A 行尾插入 (行尾)
    o 下一行插入 (另起一行)
    O 上一行插入 (上一行插入)
    x 向后删除一个字符 等同于 delete
    X 向前删除一个字符
    u 撤销一步 每按一次就撤销一次
    r 替换,"r" 命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r" 命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用 "r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r" 将把 4 个字符替换为一个换行符。
    # 光标定位
    hjkl 左下上右
    0 和 home 键表示切换到行首,$ 和 end 键表示切换到行尾
    gg 快速定位到文档的首行 , G 定位到未行
    3gg 或者 3G 快速定位到第 3 行
    /string(字符串) ----- 找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过 N、n 来进行向上向下查找,并且 vi 会对查找到的内容进行高亮显示,取消用 :noh
    /^d ----^ 意思表示以什么开头,,查找以字母 d 开头的内容
    /t$ -----$ 意思表示以什么结尾,,查找以字母 t 结尾的内容
    vim + a.txt 打开文件后,光标会自动位于文件的最后一行 
    # 对文本进行编辑操作
    # 删除、复制、粘贴、撤销
    y 复制(以字符为单位):表示对单个字符进行复制,如果要复制整行,用 yy(以行为单位),"y" 操作符命令会把文本复制到一个寄存器 3 中。然后可以用 "p" 命令把它取回。因为 "y" 是一个操作符命令,所以你可以用 "yw" 来复制一个 word. 同样可以使用命令记数。如下例中用 "y2w" 命令复制两个 word,"yy" 命令复制一整行,"Y" 也是复制整行的内容,复制当前光标至行尾的命令是 "y$"。复制 N 行:Nyy,比如:2yy,表示复制 2 行
    dd(删除,以行为单位,删除当前光标所在行)删除 N 行:Ndd,比如:2dd,表示删除 2 行
    p:P 粘贴
    剪切:dd
    x 删除光标所在位置的字符
    D 从光标处删除到行尾
    u 撤销操作
    ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样
    r 替换,或者说用来修改一个字符,"r" 命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r" 命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用 "r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r" 将把 4 个字符替换为一个换行符。
    四.V 模式(列模式)的基础操作

    1. 进入 v 模式 移动光标选择区域,编程的时候进行多行注释的步骤:

    ​ ctrl+v 进入列编辑模式
    ​ 向下或向上移动光标,把需要注释、编辑的行的开头选中起来
    ​ 如果需要删除的话,就直接输入 x 键进行删除
    ​ 如果要添加内容,就按大写的 I
    ​ 再插入注释符或者你需要插入的符号, 比如 "#"
    ​ 再按 Esc, 就会全部注释或添加了 

    2. 删除:再按 ctrl+v 进入列编辑模式;向下或向上移动光标;选中注释部分, 然后按 d, 就会删除注释符号。

    五. 命令模式下的基础操作
    :w 保存 save
    :w! 强制保存
    :q 没有进行任何修改,退出 quit
    :q! 修改了,不保存,强制退出
    :wq 保存并退出
    :wq! 强制保存并退出
    :x 保存退出 
    # 调用外部文件或命令

    假设: 我想要写入我的网卡 MAC 地址, 我要查看一下, 当前在 vim 编辑文档, 照着写。这样好麻烦。
    在命令行模式下操作:

    :!ifconfig 调用系统命令
    !+ 命令
    读取其他文件。(把其他文件中的内容追加到当前文档中):r /etc/hosts
    # 文本替换
    # 格式: 范围 (其中 % 所有内容) s 分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义)
    #默认是每一行的第一个符合要求的词 (/ g 全部)
    :1,3 s/bin/xuegod #替换第 1 到 3 行中出现的第一个 bin 进行替换为 xuegod
    :1,3 s/bin/xuegod/g #替换第 1 到 3 行中查找到所有的 bin 进行替换为 xuegod
    :3 s/xue/aaaaa #只把第 3 行中内容替换了
    :% s/do/xuegod/g #将文本中所有的 do 替换成 xuegod
    :% s/do/xuegod/gi #将文本中所有的 do 替换成 xuegod, 并且忽略 do 的大小写
    :% s@a@b@g #将文本中所有的 a 替换成 b 
    六. 自定义 vim 环境

    可以根据自己的喜好自定义 vim 环境。

    # 临时设置 vim 环境
    :set nu #设置行号
    :set nonu #取消设置行号
    :noh #取消高亮显示 
    # 永久设置 vim 环境
    [root@node5 ~]#vim /etc/vimrc #设置后会影响到系统所有的用户
    [root@node5 ~]#vim ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个
    例:[root@node5 ~]# cat /root/.vimrc
    set nu
    七.vim 同时打开多个文件

    1. 以上下形式,打开两个文档,使用 ctrl+ww 在两文档之间进行切换编辑

    # 小写的 o 上下分屏

    [root@node5 ~]#vim -o /etc/passwd /etc/hosts

    2. 以左右方式打开两个文档,使用 ctrl+ww 在两文档之间进行切换编辑

    # 大写 O 左右分屏

    [root@node5 ~]#vim -O /etc/passwd /etc/hosts
    八. 比较两个文件的内容

    比较两个文件的内容有两种方法:diff 和 vimdiff。

    [root@node5 ~]#cp /etc/passwd mima.txt
    [root@node5 ~]#echo aaa >> mima.txt
    [root@node5 ~]#diff /etc/passwd mima.txt
    40a41
    > aaa
    [root@node5 ~]#vimdiff /etc/passwd mima.txt

    致力于一条龙式的为您解决问题

    阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

    腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

    代金券:在阿里云专用满减优惠券

    正文完
    星哥玩云-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3135字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

    星哥玩云

    星哥玩云
    星哥玩云
    分享互联网知识
    用户数
    4
    文章数
    19352
    评论数
    4
    阅读量
    8055722
    文章搜索
    热门文章
    星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

    星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

    星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
    星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

    星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

    星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
    再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

    再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

    再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
    飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

    飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

    飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
    免费领取huggingface的2核16G云服务器,超简单教程

    免费领取huggingface的2核16G云服务器,超简单教程

    免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
    阿里云CDN
    阿里云CDN-提高用户访问的响应速度和成功率
    随机文章
    星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

    星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

    星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
    开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

    开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

      开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
    星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

    星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

    星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
    每年0.99刀,拿下你的第一个顶级域名,详细注册使用

    每年0.99刀,拿下你的第一个顶级域名,详细注册使用

    每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
    小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

    小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

    小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...

    免费图片视频管理工具让灵感库告别混乱

    一言一句话
    -「
    手气不错
    12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

    12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

    12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
    支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

    支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

    支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
    星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

    星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

    星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
    三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

    三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

      三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...