前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Component之vi

Component之vi

作者头像
Taishan3721
发布2019-07-10 15:29:55
9990
发布2019-07-10 15:29:55
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

VxWorks的Host/Kernel Shell都支持两种Mode:Input Mode、Edit Mode。默认使用的C解释器就是在Input Mode下工作的,而Edit Mode又支持两种风格:vi和emacs(低一些的版本只支持vi)。vi,Linux中最常用的文本编辑器。

今天一起来看看VxWorks里的vi命令怎么用

先复习一个Shell在Input Mode里的命令: h

然后添加组件INCLUDE_SHELL_VI_MODE

启动VxWorks后,Shell默认处于Input Mode,要想进入Edit Mode,只需在Shell里点击键盘的ESC键;而在Edit Mode里点击Enter键,就回到Input Mode了

目前VxWorks 6.9里支持的vi命令有:

移动与搜索命令

<n>代表1-9的数字,不使用则表示1

  • <n>G 跳转到history的第<n>条命令
  • /<s> 在history中,向后搜索包含字符串<s>的命令
  • ?<s> 在history中,向前搜索包含字符串<s>的命令
  • n 重复上一次搜索
  • N 反方向重复上一次搜索
  • <n>k 在history中,向后搜索第<n>条命令
  • <n>- 在history中,向后搜索第<n>条命令
  • <n>j 在history中,向前搜索第<n>条命令
  • <n>+ 在history中,向前搜索第<n>条命令
  • <n>h 将光标向左移动<n>个字符
  • CTRL-H 将光标向左移动1个字符
  • <n>l 将光标向右移动<n>个字符
  • <n>SPACE 将光标向右移动<n>个字符
  • <n>b 将光标向左移动<n>个单词,标点也算单词,例如"abc_def%^gh ijk@lm"为8个单词
  • <n>B 将光标向左移动<n>个由空格间隔的单词,例如"abc_def%^gh ijk@lm"为2个单词
  • <n>w 将光标向右移动<n>个单词
  • <n>W 将光标向右移动<n>个由空格间隔的单词
  • <n>e 将光标移动到右侧第<n>个单词尾部
  • <n>E 将光标移动到右侧第<n>个由空格间隔的单词尾部
  • f<c> 将光标移动到右侧第一个字符<c>,未找到则移动到行尾
  • t<c> 将光标移动到右侧第一个字符<c>,未找到则移动到行尾
  • F<c> 将光标移动到左侧第一个字符<c>,未找到则移动到行首
  • T<c> 将光标移动到左侧第一个字符<c>,未找到则移动到行首
  • $ 将光标移动到行尾
  • 0 将光标移动到行首
  • ^ 将光标移动到行首第一个非空格字符

插入命令

  • a 在光标字符后切换到Input Mode
  • A 将光标移动到行尾并切换到Input Mode
  • c SPACE 删除光标位置字符并切换到Input Mode
  • cl 删除光标位置字符并切换到Input Mode
  • s 删除光标位置字符并切换到Input Mode
  • cw 从光标位置删除到当前单词尾部并切换到Input Mode
  • cc 删除整行并切换到Input Mode
  • S 删除整行并切换到Input Mode
  • c$ 从光标位置删除到行尾并切换到Input Mode
  • C 从光标位置删除到行尾并切换到Input Mode
  • i 在光标字符前切换到Input Mode
  • I 将光标移动到行首并切换到Input Mode
  • R 切换到Input Mode并且新输入字符覆盖原有字符

编辑命令

  • <n>r<c> 使用字符<c>替换后面的<n>个字符
  • <n>x 删除光标右侧<n>个字符(含光标位置)
  • <n>X 删除光标左侧<n>个字符
  • d SPACE 删除光标位置字符
  • dl 删除光标位置字符
  • dw 从光标位置删除到当前单词尾部
  • dd 删除整行
  • d$ 从光标位置删除到行尾
  • D 从光标位置删除到行尾
  • p 将最后一次删除内容复制到光标位置后面
  • P 将最后一次删除内容复制到光标位置前面
  • u 撤销最后一次操作
  • U 撤销最后一次操作
  • ~ 将光标位置的字母切换大小写并移动光标到下一个字符

另外还有一些控制命令

  • CTRL+U 删除整行并切换到Input Mode
  • CTRL+D 自动补全当前命令,如有多个,则全部列举
  • CTRL+W 自动补全当前命令,如有多个,则全部列举
  • Tab 自动补全当前命令
  • Enter 提交当前命令并切换到Input Mode
  • CTRL+L 再次输入当前行
  • CTRL+X 重启

是不是有点多?那就先记住这几条

  • CTRL+X 重启
  • ESC 进入Edit Mode
  • k 上一条命令
  • Enter 执行当前命令并回到Input Mode

这正是:

Shell文本可编辑,进入vi很容易。

多个命令不好记,先用k键应应急。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档