命令进阶
回顾上节课内容🤔
- 咱们上次钻研 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
退回到失常模式
- 可视化模式
visual
是vi
名字的起源 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…)