乐趣区

关于vim:oeasy教您玩转vim-49-命令进阶

命令进阶

回顾上节课内容🤔

  • 咱们上次钻研 vim 的历史
  • 为什么会有行编辑器这种货色
  • 居然是当年
  • 没有显示器只有纸的时代的无奈之举
  • vim 进化到明天
  • 仍然还有好多人应用
  • 而且 ssh 连贯的时候间接 vim 就很不便
  • 命令行还有什么好玩的么?🤔

缩进管制

  • 咱们学习过用 <<>> 管制缩进

    • << 向左一个shiftwidth
    • >>向右一个shiftwidth
    • 如果忘了的话, 能够:h 'shiftwidth'
  • 如果咱们想要多行进行管制呢?

    • :20,40>

      • 20-40 行向右一个 shiftwidth
    • :'a,$>

      • a 标记 结尾 向右一个 shiftwidth
    • %<

      • 所有行向左一个 shiftwidth

范畴增加分号结尾

  • 咱们如果想要给从 4 到 10 行增加分号结尾,应该如何呢?
  • :4,10normal A;

    • 首先是range, 先打上:4,10
    • 而后让这个范畴内的货色进入 normal 格局再
    • :4,10normal切换为 normal 模式
    • 打一个空格,前面打上命令A;

      • A 是 normal 模式下的命令在行尾进入插入模式
      • 在最初的地位插入;
    • 整体的命令为:4,10normal A;
  • 思考

    • 如果我想在 8,15 行增加 // 应该如何做呢?
    • 入手试一试!
  • 然而这些都是执行 vim 的外部命令

    • 我想要执行外部命令
    • 比方 shell 中的 ls 能够么?

间接执行外部命令

  • 要间接执行里面的命令比方 ls
  • 咱们在后面加上 ! 就能够

    • 比方:!ls
    • 更简单一些的

      • !javac oeasy.java
      • !source o2z.sh
      • !python3 %
  • 这很不便,间接在 vi 外面就能够执行命令了
  • 而且编译运行能看到报错的后果🤩

    • 间接 G 跳到出错那行就能够!
  • 能够间接批改,很爽!!!
  • 超爽!!!
  • 不过这一行命令执行完了就没了
  • 看不见后面执行的后果了
  • 我想始终看见后面的命令和执行后果
  • 能够么?

进入命令模式 ex-mode

  • Normal 模式下间接按下Q
  • 进入 Ex-mode
  • 全屏执行命令格局
  • 能够执行各种命令行

    • :ls
    • :1,3d
    • :1,7p
    • :visual 退回到失常模式
  • 可视化模式 visualvi 名字的起源
  • vi 就是ed + 可视化模式 visual

  • 能间接挂起 vim 运行命令么?

跳到 shell

  • 咱们晓得咱们是从 shell 运行 vim 而后进来的

    • 如果咱们想退出 vim 的话须要保留并退出:wq
    • 如果我不想保留并退出
    • 就想切到里面
    • vim 整个过程先挂起放到后盾
    • 咱们就 ctrl+z
    • 咱们就挂起 vim 切出去了
  • shell 运行完命令之后

    • fg就能够把 vim 切回到前台
    • fg 的意思是 foreground 前台

  • 然而咱们能够间接不挂起 vim 的状况下
  • 执行 shell 命令么?

分屏终端 :term

  • :term
  • 下面切出一个窗口

    • 执行命令
    • exit 退出 shell

  • 高低切换

    • ctrl+w j 切换到下方窗口
    • ctrl+w k 切换到上方窗口
    • 能够切来切去
    • 一边批改一边运行
  • 这个 :term 什么意思

    :term 帮忙

  • 什么不会,:h什么

    • :h :term

总结

  • 咱们这次钻研范畴命令执行办法
  • 批量管制缩进

    • :20,40>
  • 批量执行一般模式下的命令

    • :4,10normal A;
  • 间接切换到 全屏命令模式 ex-mode

    • Q
  • 执行外部命令

    • !javac oeasy.java
  • 新开一个 termianl 窗格

    • :term
  • 这个形式真的很爽!

    • vi 什么都干了!
  • 命令模式自身能够再提高效率吗?🤔
  • 下次再说 👋

[Github 地址] (https://github.com/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼] (https://www.lanqiao.cn/course…)

退出移动版