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. mysql 命令行安装方式

    一:下载 先到 mysql 官方网站下载:https://dev.mysql.com/downloads/mysql/ 点击直接下载: 解压到目录:D:\mysql-8.0.19-winx64  如图 ...

  2. jQuery实现简单的模态框

    <!-- jquery模态框 --> <!DOCTYPE html> <html lang="en"> <head> <met ...

  3. golang 接口动态派发性能问题

    测试代码 package main type Duck interface { Quack() } type Cat struct { Name string } //go:noinline func ...

  4. .net C# System.Text.Json 如何将 string类型的“true”转换为布尔值 解决方案

    直接上解决方法的代码 先定义一个转换顺,代码如下: public sealed class AnhBoolConverter : JsonConverter<bool?> { public ...

  5. 8.13考试总结(NOIP模拟38)[a·b·c]

    重要的不是你做了多少事,而是你放了多少心思进去. T1 a 解题思路 总结一下,是双指针运用不够熟练(zxb笑了笑). 其实这个题是可以用树状数组卡过的(众所周知我是一个正直的人),但是一定是要打正解 ...

  6. kettle从入门到精通 第三十三课 再谈 kettle 表输出 分区/分片

    1.之前第九章有讲过kettle 表输出步骤,里面有简单的提到过表输出步骤里面的表分区设置,这里详细介绍下. 表分区数据:选择此选项可根据"分区"字段中指定的日期字段的值将数据拆分 ...

  7. 红米K70E支付宝无指纹支付选项的解决方法

    红米K70E这台手机,支付宝里无指纹支付选项,百度了一下,也没结果.自己摸索了下,终于折腾出了指纹支付. 解决方法: 在手机-设置-指纹.面部与密码-指纹解锁-指纹支付-支付宝-更新证书. 杀掉支付宝 ...

  8. 小米 红米 MIUI 重新打开(开启)蓝牙耳机电量弹窗

    原本关闭了下拉通知栏,显示耳机电量的窗口.想重新开开启. 解决方法: 1.确保小爱同学开了通知权限. 2.在蓝牙-高级设置里-开启"小米快连" 3.手机是解锁状态(非锁屏),耳机需 ...

  9. Scrapy框架(二)--持久化存储

    持久化存储 scrapy的高性能持久化存储操作,有两种方式:基于终端指令的持久化存储 和 基于管道的持久化存储操作. 基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列 ...

  10. 项目管理--PMBOK 读书笔记(6)【项目进度管理】

    1.紧前关系绘图法(PDM): 2.三点估算(PERT): 最可能时间(Tm).最乐观时间(To)和 最悲观时间(Tp): 三角分布: 平均估算值=(Tm+To+Tp)/3: 3.估算方法对比及应用场 ...