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. 什么是Java线程池

    摘自:某个百度知道 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在 ...

  2. sentinel-dashboard.jar 安装

    本文涉及的基本概念: 几种服务限流方式:熔断:拒绝流量访问,当系统恢复正常时在关闭熔断服务降级:将次要服务降级,停止服务,将系统资源释放出来给核心功能延迟处理:在前端设置一个流程缓冲池,将所有的流程全 ...

  3. Django - 在后台上传文章封面图 - 并在前端页面展示

    需要用到 models.ImageField(), 它继承自 models.FileField(),  用ImageField的时候需要安装pillow pip install pillow -i h ...

  4. Prism 基础知识学习(五)发布订阅

    Prism 基础知识学习(五)发布订阅 在 ViewBViewModel.cs中 1 public class ViewBViewModel : IDialogAware 2 { 3 /// < ...

  5. NOIP模拟58

    T1 Lesson5 ! 解题思路 首先对于整张图求出拓扑序,然后顺着拓扑序其实也就是顺着边的方向,更新最长路,也就是从 1 节点到达这个节点的最长路. 然后再逆着拓扑序,反向求一下最长路,也就是从这 ...

  6. 7.22考试总结(NOIP模拟23)[联·赛·题]

    不拼尽全力去试一下,又怎么会知道啊 前言 又是被细节问题搞掉的一天. T1 的话,与正解相差无几,少打了两个 else 一个 ls 打成了 rs,然后就爆零了(本来还有 45pts 的),然后加了一个 ...

  7. 网页CSS源码

    EntryTag { margin-top:20px; font-size:9pt; color:gray } .topicListFooter { text-align:right; margin- ...

  8. js 生成pdf

    最简洁的代码 <script src="js/html2canvas.min.js" type="text/javascript" charset=&qu ...

  9. java小记-scanner

    不想打字也是我的罪过吗? 作业2: 老师的代码: 结果 我的代码看起来冗余: 想说的: 我的本意是以为scanner只能记录一个数,然后就想着输入两次就能算两个数了,但没想到人家只是让你输就完了.不要 ...

  10. 网络诊断工具traceroute的使用

    在 Linux 系统中,traceroute 是一个网络诊断工具,用于确定数据包从你的计算机到目标主机(如一个网站或远程服务器)所经过的路由路径. 如果你的系统中没有安装 traceroute,你可以 ...