vim选项

从头开始

  • 这次我们从头开始

    • 从进入vim之前开始
  • 我们可以在终端里面给vim怎么样的参数呢?
  • man vim

    • 这个如果不行的话
    • 要先运行unminimize更新manual
  • 也可以在vim中运行命令行

    • :h starting
  • 我们可以看到我们

    • 除了把 oeasy.txt 作为文件名参数给 vim 之外
    • 还可以给 vim 一些选项开关

添加参数进行跳转

  • 我们首先ls -lah > oeasy.txt
  • 然后vi +4 oeasy.txt

    • 光标会出现在第4
    • 比如某位置有个关键参数
    • 可以这样直接跳到那一行
    • 执行之后

      • 退出vim,回到终端
  • 运行vi +/shiyanlou

    • 进入后
    • 光标在搜索到的第一个shiyanlou
    • 执行之后

      • 回到终端
  • 命令行参数除了能快速跳转
  • 还能干什么呢?

执行命令

  • 运行命令

    • vi +%s/shiyanlou/oeasy/g oeasy.txt

      • 先用vim打开文件oeasy.txt
      • 再运行命令:%s/shiyanlou/oeasy/g
      • 这用的是 +{command} 的形式
      • %s/shiyanlou/oeasy/g 就是 +{command}
    • vi +%s/shiyanlou/oeasy/g +%s/4.0K/o2z/g oeasy.txt

      • 先用vim打开文件oeasy.txt
      • 再运行命令:%s/shiyanlou/oeasy/g
      • 再运行命令:%s/4.0K/o2z/g
      • 这样就可以执行两条命令
  • 也可以运行命令 -c

    • vi -c %s/shiyanlou/oeasy/g oeasy.txt
    • 相当于vi +%s/shiyanlou/oeasy/g oeasy.txt
    • 这用的是 -c {command}的形式
  • 动手试试

管道传入

  • vi -可以接受到stdin传过来的数据

    • 我们可以使用管道|
    • ls -lah | vi -

ex-mode

  • vi -e oeasy.txt可以用ex模式打开oeasy.txt

    • 也可直接ex oeasy.txt
  • 进入ex-mode之后,可以执行命令行,不用再打冒号

    • :1
    • :%p
    • :2,9d
    • :1,$
    • :q退出

  • 可以退回到正常模式

    • :visual
  • 还可以切换出ex-mode子窗口

    • Q

只读模式

  • 可以使用vi -R oeasy.txt
  • 也就是view oeasy.txt
  • 在这种模式下,只能查看不能修改

  • 但是如果你强制写:w!

    • 还是可以写进去的
  • 如果你想要彻底不能写

    • 无论是否加叹号都不能写
    • 应该怎么办呢?

想要彻底不能写的话

  • 那你需要使用vi -M oeasy.txt

    • 这样你想要做任何写的操作
    • 都无法进行修改
    • 原因是E21

设置可编辑

  • :set modifiable

    • 设置当前文档可以修改
    • 然后可以对文件进行修改
    • 但是如果想要:w还是不行
    • :h E142

设置可写

  • :set write

    • 把这个开关设置好之后
    • 就可以顺利w
    • 只要你有sudo的权限
    • 一切开关你都可以打开
  • 透过各种蓝布棉门帘

    • 就可以控制起整个面铺

常用mode

  • ex 可以对应这vim -e
  • view 可以对应着vim -R
  • vimdiff 可以对应着 vim -d

总结

  • vi可以加各种选项

    • vi +4 oeasy.txt
    • vi +/shiyanlou
    • vi +%s/shiyanlou/oeasy/g oeasy.txt
  • vi可以接收stdin的参数

    • ls -lah | vi -
  • vi还有各种模式

    • 命令行模式ex oeasy.txt或者vi -e oeasy.txt
    • 只读模式vi -R oeasy.txt或者view oeasy.txt

  • 如果加一个 -r 的参数可以么
  • 帮助手册说什么swap是什么意思?
  • 下次再说

[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 60- # vim选项的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

随机推荐

  1. 2024盘古石取证比赛(IPA+人工智能)

    前言 题目列表 IPA部分 1. 分析毛雪柳的手机检材,记账 APP 存储记账信息的数据库文件名称是: [ 答案格式:tmp.db ,区分大小写 ][ ★★★★☆ ] 通过icost软件可以定位rae ...

  2. 鸿蒙HarmonyOS实战-Web组件(基本使用和属性)

    前言 Web是一种基于互联网的技术和资源的网络服务系统.它是指由许多互连的计算机组成的全球性计算机网络,使用户能够通过浏览器访问和交互式使用各种信息和资源,如网页.文档.图片.视频.音频等.通过Web ...

  3. opencv-python 实现鱼眼矫正 棋盘矫正法

    .htmledit_views address, .htmledit_views cite, .htmledit_views dfn, .htmledit_views em, .htmledit_vi ...

  4. Linux权限与组

    rwx r-xr r-x root root r:读 (read) 4 w:写(write) 2 x:执行(execute) ``1 - 没有权限 0 权限 的前三位 rwx 属主权限位(用户权限) ...

  5. 面试必问:MySQL死锁 是什么,如何解决?(史上最全)

    MySQL死锁接触少,但面试又经常被问到怎么办? 最近有小伙伴在面试的时候,被问了MySQL死锁,如何解决? 虽然也回答出来了,但是不够全面体系化, 所以,小北给大家做一下系统化.体系化的梳理,帮助大 ...

  6. 面试官:说一说如何优雅的关闭线程池,我:shutdownNow,面试官:粗鲁!

    写在开头 面试官:"小伙子,线程池使用过吗,来聊一聊它吧!" 我:"好的,然后巴拉巴拉一顿输出之前看过的build哥线程池十八问..." 面试官满意的点了点头, ...

  7. Github Fork仓库的冲突与同步管理

    在使用Github进行协作开发时,fork一个仓库并在本地进行开发是常见的工作流程.然而,当源仓库(上游仓库)有了更新时,如何同步这些更新并解决可能的合并冲突是一个关键问题.本文将详细介绍如何管理这些 ...

  8. SpringBoot系列(五) 接口校验(非空、非法字符/特殊字符、长度等)

    1.引入pom依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>valid ...

  9. INFINI Labs 产品更新 | Easysearch 新增快照搜索功能,Console 支持 OpenSearch 存储

    INFINI Labs 产品又更新啦~,包括 Easysearch v1.7.0.Console v1.13.0.本次各产品更新了 Easysearch 快照搜索功能:Console 支持 OpenS ...

  10. Vue学习:20.综合案例-商品列表

    学而时用之,方能融会贯通! 实例:商品列表 实现功能 要求表格组件支持动态数据渲染.自定义表头和主体.标签组件需要双击显示输入框并获得焦点,可以编辑标签信息. 思路 首先是表格组件,动态渲染需要使用组 ...