行头行尾
回忆上节课内容
-
我们这次了解了
大词
和小词
-
小词
就是我们常规意义的词- 被
=
、"
等标点分开的词
- 被
-
大词
里面包括了=
、"
等标点- 只能被空格、tab、换行分割
-
W、E、B 都可以有大词移动
[图片上传失败...(image-28a07f-1628724541005)]
- 但如果我想一步就跳到行头或行尾
- 这不一步登天么?
- 可能么
查阅文档
- 还是从
:h w
,开始查找起 - 还是在
motion
里面查找 - 应该和 W 都属于左右移动的部分
- 找到这样两个命令
行首和行尾
[图片上传失败...(image-865580-1628724541004)]
-
^,也就是 shift+6
- 作用是移动到行首
- 或者说移动到本行第一个非空字符
-
$,也就是shift + 4
- 作用是移动到本行行尾
^
、$
也分别对应正则表达式中的开头
和结尾
深入细节
-
如果本行开头第一个字符是空格
- 那^无法到第一个字符啊?
- 如果我就想去第一个字符
- 无论他是空格还是tab
- 应该怎么办呢?
这个命令应该离
^
不远应该也在
motion
的 左右移动部分找到了
0
行头区别
- ^ 是到本行第一个非空字符
- 0 是到本行第一个字符,不管是不是空格
- 那结尾如果有空格会如何呢?
结尾细节
- 相关命令肯定也在左右移动这部分
- 找到
g_
- g_ 是到本行最后一个非空字符
- 两个按键要依次按下
- $ 跳到本行最后一个字符,即使他是空格
总结
我们这次学会了直接跳到开头和结尾
-
最重要的就是
^
、$
- ^ 到开头
- $ 到结尾
还有什么好玩的吗?
下次再说
向上向下
回忆上节课内容
-
和
f
相关的是跳到- 向
前
跳到是 f - 向
后
跳到是 F
- 向
-
和
t
相关的是贴靠- 向
前
贴靠是 t - 向
后
贴靠是 T
- 向
-
和
小写
相关的是向前
-
向前
跳跃是 f -
向前
贴靠是 t
-
-
和
大写
相关的是向后
-
向后
跳跃是 F -
向后
贴靠是 T
-
-
和继续
查找方向
相关的是 ;、,-
保持方向
是 ; -
改变方向
是 ,
-
向上向下
本次启动的时候还是无参数模式
-
:set nocompatible
设置为不兼容vi
- 意思是使用
vim
的方式处理命令
- 意思是使用
-
motion
的左右移动
之后是上下移动
可以使用 回车 换行
也可以使用方向键向上或向下
-
更常见的还是 j、k,因为他们基于基本位置
- j 是向下
- k 是向上
- 5 j 就是让光标向下 5 行
- 5 k 就是让光标向上 5 行
继续向下翻
上下行首
-
加号
plus
对应 +- 对应键盘 shift + =
减号
minus
对应 --
上下行跳到行首
- + 向
下
并且到行首
非空字符 - - 向
上
并且到行首
非空字符
- + 向
-
对应关系
- + 相当于 j ^
- - 相当于 k ^
首行尾行
g g 对应
首行
G 对应
尾行
如果文章很长的话,直接跳就很方便
一个 G 直接就到了
Ground
-
想回开头的话可以用 g g
- 不知道为什么这两个字母格外熟练
- 熟练的让人心痛!
另外还有一个组合
Go
-
比如追加一个很长的配置文件的话 G o
-
G
直接到最后 -
o
在下面一行插入
-
两个按键
Go
起来ctrl+c回到正常模式
-
gg
就回开头- 重来一局
自动缩进
当然也不都是痛苦回忆
-
g g 配 G 是我见过最方便的自动缩进方式
- g g = G 从首行到尾行自动缩进
- 这个文件可能有 500 行,
- 但是一把就全都缩进好了
-
不只是程序、网页、css、配置文件都可以自动缩紧
- 这样整理代码就非常迅速了
-
程序员更多的时候工作在 normal 模式
浏览、搜索、跳跃、复制、粘贴
真正聚焦下来写代码再切换到插入状态。
其他编辑器永远只有一个插入状态
其实是浪费了很多键盘功能的
-
这也是 Normal 模式被称作 Normal 正常模式
- 被当作默认模式的原因。
g g = G这非常爽!!!
总结
-
上下行
- 向
下
是 j - 向
上
是 k
- 向
-
上下行首
- 向
下
到行首非空字符 + - 向
上
到行首非空字符 - - 这些
motion
都可以加上[count]
来翻倍
- 向
-
首尾行
- 首行是 g g
- 尾行是 G
- g g = G 是全部自动缩进
- G 好像还有其他用法?
什么用法呢?
下次再说