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

设置可写