乐趣区

关于vim:oeasy教您玩转vim-60-vim选项

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 地址] (https://github.com/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)

退出移动版