less,more,vi 命令是 Linux 下查看文档和日志比较常用的命令。在使用不是那么频繁时,可能会忘记如何快速移动光标。为了增强记忆,这次就来一起过一下。
首先 less 命令,官方帮助我们用 less --help 可以查询,条目还是比较多的。这里只看比较常用的(命令区分大小写):
- 用 e 键前移一行
- 用 y 键后移一行
- 用 f 键 forward 前进一屏,空格键也是
- 用 b 键 back 后退一屏,
- d 键,down 向下翻,即前进半屏
- u 键,up 向上翻,即后退半屏
- 输入一个数字后使用以上的键都可以实现倍数行移动,比如 3e,3f,3d都是向前移动3行。
- 大写 F 键可以直接移动到末尾,并且实时监视新的内容,类似于 tail -f 命令
- f 代表 forward 前进,b 代表 backword 后退比较好记,F 表示大的 forword
- 其它键多了容易忘记,至少记住 h 键调用帮助help
more 命令的帮助,执行命令时,按h进入帮助,子命令也比想象中的要多不少。不过真正常用的,可能就是这几个:
- 回车键 前移 1 行
- 空格键 前移 1 屏,z 键也是,d 键,s键,f键也是前移,不过它们有区别。
-
- d 默认值是前移11行。可以自定义行数,比如:3d,向前移3行并保持以3步进
-
- s 表示跳过接下来的行不看,直接看下面行
-
- f 表示跳过接下来的一屏不看,直接看后面一屏的内容
- b 键回退 1 屏(之前以为 more 命令只能前进不能后退,这里发现 b(代表 back)也可以回翻一屏,more 和 less上通用,值得记住。不过和 less 不一样的是:如果前进到最后一行,more 就直接退出了)
- 其它键多了容易忘记,至少记住 h 键调用帮助 help
vi 命令的操作非常多,这里只是讨论移动光标。PS:view 命令也就是 vi 命令的只读模式。
- 虽然上下左右方向键都能用,但是因为键位的原因,还是应该多习惯用 j,k,h,l 来代替。
- w 键可以向前移动,这里 w 应该代表 word,表示前移一个单词/单字/字符,更适合记忆
- b 键仍然可以后退光标,也是以单词为单位
- 数字键在这里也依然可以实现翻倍移动
除此之外,vi 和 view中有还有一些很有用的快捷定位(编辑的时候更常用):
- 0 键快速定位到当前行的行首
- ^ 键快速定位到当前行的第一个非空字符
- $ 键快速定位到当前行的行尾(对熟悉正则表达式的人很好记忆)
- H 键快速定位到当前屏的首行或前部(Head)
- M 键快速定位到当前屏的中间位置(Middle)
- L 键快速定位到当前屏的末尾(Latter)
翻屏:
- ctrl+d:down 向下翻半屏
- ctrl+u:up 向上翻半屏
- ctrl+f:forward 前翻一屏
- ctrl+b:back 后退一屏
两个重量级的:
- gg 无论当前光标在哪,直接跳到整个文件首行
- G 无论当前光标在哪,直接跳到整个文件尾行
另外,more、less、vi、view命令中都可以用 / 后接字符的形式来查找定位,比如输入 /connect 回车将直接定位到包含 ‘connect’ 字符的行。但这个方式还是在 less、vi、view 命令中更强。
- 在 less 中会将屏幕中所有匹配到的单词高亮。
- 在 vi 和 view 中,光标会跳到第一个匹配到的单词,然后用 n 键跳到下一个(next)
- 在 vi 和 view 中,还可以使用 ?connect 来从下往上查找
因为人的记忆规律是:对经常重复的比较容易记住;利用记忆里已有概念记住新的概念比较容易。以上加粗部分内容有这样的规律,而且也非常实用,值得花点时间熟悉和记忆。如有疏漏,日后再补充吧。