文章目录

  • 前言
  • 一、插入文本
  • 二、删除与修改
  • 三、光标的移动
  • 四、查找与替换
  • 五、块操作
  • 六、结束编辑

前言

在Linux下编程,使用编辑器vi(vim)、gedit或Emacs,编译链接器gcc,调试器gdb,项目管理器make。


一、插入文本

 a 从光标后面开始插入文本
 A 从光标所在行的末尾插入文本
 i 从光标前面开始插入文本
 I 从光标所在行的开始插入文本
 o 在光标所在行的下一行插入新一行
 O 在光标所在行的上一行插入新一行
 s 删除光标所在字符,并进入编辑模式
 S 删除光标所在行,并进入编辑模式
 r 输入字符,取代光标所在的那个字符
 R 一直取代光标所在的字符,直到按下ESC为止

二、删除与修改

 x 删除光标处的字符
 dd 删除光标所在的整行
 3dd 删除光标所在行以及下面两行
 D或d$ 删除光标到行尾的文本
 d^ 删除光标到行首的文本

三、光标的移动

 h或左方向键 光标向左移动一个字符
 j或下方向键 光标向下移动一个字符
 k或上方向键 光标向上移动一个字符
 l或右方向键 光标向右移动一个字符
 w 光标向后移动一个字符
 b 光标向前移动一个字符
 ^ 光标移动到行首
 $ 光标移动到行尾
 Ctrl+f 向下翻一页
 Ctrl+b 向上翻一页
 Ctrl+d 向下翻半页
 Ctrl+u 向上翻半页
 gg 光标定位到文档头
 G 光标定位到文档尾
 H 光标定位到当前页首
 L 光标定位到当前页的最后一行的行首
 [n]+ 光标向后移动n行
 [n]- 光标向前移动n行
 [n]G 光标定位到第n行行首

四、查找与替换

 /[str] 查找字符串str(n移动到下一个找到的字符串、N移动到上一个找到的字符串)
 s/[src]/[dst] 部分替换
 3,6 s/[src]/[dst]/ig 3-6行中替换,"i"忽略大小写,"g"全部匹配
 %s/[src]/[dst]/g 全部替换
 %s/^//g 去掉文档每一行行首的空格

五、块操作

 v 可视化块选择状态(对于选中的块,d(删除)、y(复制)、x(剪切))
 yy 复制光标所在整行
 [n]yy 从光标开始往下复制n行
 p 将复制后文本粘贴到光标处
 u 撤销上一次操作
 Ctrl+r 恢复上一次操作

六、结束编辑

 :q 在未修改文档的情况下退出
 :q! 放弃修改,强行退出
 :w 保存
 :wq 保存并退出


嵌入式Linux系统编程学习之三vi编辑器相关推荐

  1. 嵌入式Linux系统编程学习之三十三网络相关概念

    文章目录 一.网络相关名词的概念 1.套接口 2.端口号 3.IP 地址 二.Socket 概念 三.Socket 类型 四.Socket 的信息数据结构 五.数据存储优先顺序的转换 六.地址转格式转 ...

  2. 嵌入式Linux系统编程学习之三十一线程的属性

    文章目录 前言 一.线程属性初始化 二.设置绑定属性 三.设置分离属性 四.获取线程优先级 五.设置优先级 前言   pthread_create 的第 2 个参数 attr 是一个结构体指针,结构体 ...

  3. 嵌入式Linux系统编程学习之三十四 Socket 编程

    文章目录 一.使用 TCP 的流程图 1.1 头文件包含 1.2 socket 函数 1.3 bind 函数 1.4 listen 函数 1.5 accept 函数 1.6 recv 函数 1.7 s ...

  4. 嵌入式Linux系统编程学习之三十线程的同步

    文章目录 一.条件变量 1.创建和注销 2.等待和激发 3.其他 二.信号灯 1.创建和注销 2.点灯和灭灯 3.获取灯值 4.其他 一.条件变量   条件变量是利用线程间共享的全局变量进行同步的一种 ...

  5. 嵌入式Linux系统编程学习之二常用命令

    嵌入式Linux系统编程学习之二常用命令 文章目录 嵌入式Linux系统编程学习之二常用命令 前言 一.常用命令 1.su(用户切换) 2.useradd(添加用户) 3.passwd(修改密码) 4 ...

  6. 嵌入式Linux系统编程学习之一目录结构

    嵌入式Linux系统编程学习之一目录结构 文章目录 嵌入式Linux系统编程学习之一目录结构 前言 一.Linux目录结构 前言 Linux目录结构 一.Linux目录结构 /bin:存放Linux的 ...

  7. 嵌入式Linux系统编程学习之九基于文件描述符的文件操作

    文章目录 前言 一.文件描述符 二.打开.创建和关闭文件 三.读写文件 四.改变文件大小 五.文件定位 六.原子操作 七.进一步理解文件描述符 八.文件描述符的复制 九.文件的锁定 十.获取文件信息 ...

  8. 嵌入式Linux系统编程学习之八基于文件指针的文件操作

    文章目录 前言 一.文件的创建.打开与关闭 二.读写文件 三.文件定位 四.标准输入/输出流 五.目录操作 前言   对文件进行操作有打开文件.关闭文件.读写文件.   文件指针:每打开一个文件,就返 ...

  9. 嵌入式Linux系统编程学习之十二守护进程

    文章目录 前言 一.守护进程的特性 二.daemon 进程的编程规则 1.创建子进程,父进程退出 2.在子进程中创建新会话 前言   daemon 运行在后台,也称作"后台服务进程" ...

最新文章

  1. dll的概念、dll导出类(转)
  2. Android NDK JNI 简单例子2
  3. ​Nessus更新到8.9.1
  4. graphviz linux教程,程序员绘图利器 — Graphviz
  5. 机器学习系列之神经网络入门基础知识
  6. URL编码 - Java加密与安全
  7. 朱建辉php,朱建辉/laravel-bjyblog
  8. c盘users的用户名怎么改_做完这几个操作,我从C盘中清理了30G垃圾文件
  9. 【翻译】Pro.Silverlight.5.in.CSharp.4th.Edition - 第三章 布局 03
  10. php全局变量的关键字,php的static关键字和全局变量
  11. eclipse中配置c++开发环境 Eclipse + CDT + MinGW
  12. GIS生涯个人总结及个人感悟
  13. java 是否继续_Java异常被抛出或被捕获之后,代码是否继续执行的问题
  14. html5 canvas 详细使用教程
  15. 递归算法分析-最简单的例子
  16. 结合公司业务后,对极光推送的进一步思考
  17. 单网口RFC2544测试——信而泰网络测试仪实操
  18. 如何更改Dropbox的同步文件夹?
  19. API接口错误码设计最佳实践
  20. 内蒙古中医药杂志内蒙古中医药杂志社内蒙古中医药编辑部2022年第4期目录

热门文章

  1. Easyconnect mac版本下载地址
  2. pandas保存为excel,同时设置保存的excel的样式
  3. c语言编程命令,C语言编程命令
  4. hadoop 依赖式job_Java项目中使用XXL-JOB调度框架
  5. python学习day07-encode和decode
  6. nginx 反向代理之 proxy_redirect
  7. 萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks...
  8. poj2793 素数和
  9. SizeClass和Autolayout
  10. HDOJ 1896 Stones