看老师的 ppt 做一点笔记 ,方便以后查找,记是不可能都记住的,只有随用随学,随查随记。

文本编辑器有很多,图形模式下有gedit,kwrite等编辑器,文本模式下的编辑器有vi,vim(vi的增强版本)和nano。vi和vim是Linux系统中最常用的编辑器。

1. vi的基本概念

vi编辑器是所有Linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。 vi编辑器有3种基本工作模式,分别是命令行模式、插入模式和末行模式。

1.1 命令行模式

  • 控制屏幕光标的移动
  • 字符、字或行的删除、剪切、复制
  • 切换至插入模式,或者切换至末行模式

1.2 插入模式

只有在插入模式下,才可以做文字输入,按“Esc”键可回到命令行模式。

1.3 末行模式

  • 将文件保存和退出vi编辑器
  • 设置编辑环境,如:显示行号
  • 查找关键字或字符串

2. vi的基本操作

vi编辑器创建文件、输入数据以及保存文件并退出 。

  • 在系统Shell提示符下输入vi及文件名称后,就进入vi编辑界面,并处于命令行模式。
  • 在命令行模式下按字母“I”就可以进入插入模式,这时候就可以开始输入文字了。
  • 在命令行模式下,按Shfit+冒号键“:”可以进入末行模式。

3. 命令行模式下的基本操作

在命令行模式下是不能输入任何数据的。

3.1 进入插入模式

  • 按“i”:从光标当前位置开始输入文件。
  • 按“a”:从目前光标所在位置的下一个位置开始输入文字。
  • 按“o”:在光标所在的行的下面插入一行,从行首开始输入文字。
  • 按“I”:在光标所在行的行首插入。
  • 按“A”:在光标所在行的行末插入。
  • 按“O”:在光标所在的行的上面插入一行。
  • 按“s”:删除光标位置的一个字符,然后进入插入模式。
  • 按“S”:删除光标所在的行,然后进入插入模式。

3.2 换回命令行模式

从插入模式切换为命令行模式只需按“Esc”键。

3.3 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”,“j”,“k”及“l”,分别控制光标左、下、上、右移一格。

  • 按[Ctrl+b]:屏幕往前移动一页。
  • 按[Ctrl+f]:屏幕往后移动一页。
  • 按[Ctrl+u]:屏幕往前移动半页。
  • 按[Ctrl+d]:屏幕往后移动半页。
  • 按数字“0”:光标移到所在行的行首。
  • 按“G”:移动到文本的最后一行。
  • 按“$”:移动到光标所在行的行尾。
  • 按“^”:移动到光标所在行的行首。
  • 按“w”:光标跳到下个字的开头。
  • 按“e”:光标跳到下个字的字尾。
  • 按“b”:光标回到上个字的开头。

3.4 删除文字

  • “x”:每按一次,删除光标所在位置的一个字符。
  • “nx”:例如,“6x”表示删除光标所在位置开始的6个字符。
  • “X”:大写的X,每按一次,删除光标所在位置的前面一个字符。
  • “nX”:例如,“20X”表示删除光标所在位置前面20个字符。
  • “dd”:删除光标所在行。
  • “ndd”:例如,“4dd”表示删除从光标所在行开始的4行字符。

3.5 复制

  • “yw”:将光标所在之处到字尾的字符复制到缓冲区中。
  • “nyw”:复制n个字到缓冲区。
  • “yy”:复制光标所在行到缓冲区。
  • “nyy”:例如,“6yy”表示复制从光标所在行开始的6行字符。
  • “p”:将缓冲区内的内容粘贴到光标所在位置。

3.6 替换

  • “r”:替换光标所在处的字符。
  • “R”:替换光标所到之处的字符,直到
    按下“Esc”键为止。

3.7 撤销上一次操作

  • “u”:如果误执行一个命令,可以马上按下“u”,回到上一个操作。 按多次“u”可以执行多次撤销

3.8 跳至指定的行

  • [Ctrl+g]:列出光标所在行的行号。 “nG”:例如,“15G”,表示移动光标至该文本的第15行行首。

3.9 命令行模式下的保存退出

  • “Shift+ZZ”:保存退出。

3.10 命令行模式下的不存盘退出

  • “Shift+ZQ”:不存盘退出。

4. 末行模式下的基本操作

先按“Esc”键确定已经处于命令行模式后,再按冒号“:”即可进入末行模式。

4.1 列出行号

  • “set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。

4.2 取消列出行号

  • “set nonu”:输入“set nonu”后,会取消在文件中的每一行前面列出行号。

4.3 跳到文件中的某一行

  • “n”:“n”号表示一个数字,在冒号后输入一个数字,再按“回车”键就会跳到该行了,如输入数字15,再按“回车”键就会跳到文本的第15行。

4.4 查找字符

  • “/关键字”:先按“/”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”会往后查找下一个关键字。
  • “?关键字”:先按“?”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”往前查找下一个关键字。

4.5 运行Shell命令

  • “!命令”:运行Shell命令。

4.6 替换字符

  • “s /a/x”:将光标所在行第一个a替换为x。
  • “s /a/x/g”:将光标所在行所有的a替换为x。

4.7 保存退出

  • wq

小结

vi编辑器是所有Linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。vi编辑器有3种基本工作模式,分别是命令行模式、插入模式和末行模式。

Linux vi文本编辑器大总结相关推荐

  1. (三)Linux vi 文本编辑器,用户管理,组管理,Sudo命令,时间管理

    文章目录 具体内容 1.1 vi 文本编辑器 1.2 用户权限管理,组管理和时间管理 1.2.1 用户管理 1)保存用户信息的文件:/etc/passwd 2)保存用户密码信息的文件:/etc/sha ...

  2. Linux VI文本编辑器

    VI文本编辑器   学会使用 vi 编辑器是学习 Linux 系统的必备技术之一,因为一般的 Linux 服务器是没有 GUI 界面的,Linux 运维及开发人员基本上都是通过命令行的方式进行文本编辑 ...

  3. linux 文件编辑器,用于Linux的文本编辑器(除了Vi)?

    用于Linux的文本编辑器(除了Vi)? 首先,我说我在Mac OSX上使用TextMate来满足我的文本需求,因此我对此表示喜欢. 在Linux平台上有什么可比的吗? 我将主要使用它来编码pytho ...

  4. linux操作系统 第03章 vi文本编辑器

    第3章    vi文本编辑器 3.1  vi文本编辑器概述 与Unix相同,Linux本质上是一个文本驱动(text-driven)的操作系统.文本文件就是全部由ASCII码字符及某种语言的编码字符构 ...

  5. 常见的Linux查看检索归档文件及vi文本编辑器操作大全

    常见的Linux查看检索归档文件及vi文本编辑器操作大全 一.Linux目录结构 1.1 树形目录结构 1.2 根目录 1.3 常见的子目录 二.查看及检索文件 2.1 查看文件内容 -- cat命令 ...

  6. Linux系列 使用vi文本编辑器

    作者简介:一名云计算网络运维人员.每天分享网络与运维的技术与干货.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi ...

  7. linux命令-文本编辑器命令vi

    文本编辑器命令vi 文本编辑器命令vi 1.文本编辑器的作用 2.linux中最常用的文本编辑器命令 3.vi编辑器的三种工作模式 (1)命令模式 (2)输入模式(插入模式) (3)末行模式 末行模式 ...

  8. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  9. linux麒麟编码方式,麒麟Linux系统vi文本编辑器介绍(24页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统vi文本编辑器介绍 技术创新,变革未来 本章目标 • vi 和vim 的三种主要模式 • vi 的基本使用 vi •vi是一种广泛存在于 ...

最新文章

  1. Linux运维工程师发展前景
  2. C++多线程实现生产者消费者模式
  3. 人工智能影响未来娱乐的31种方式
  4. 文件包含漏洞检测工具fimap
  5. callable object与新增的function相关 C++11中万能的可调用类型声明std::function...
  6. shell如何解决mysql交互式_shell脚本与mysql交互方法汇总
  7. Hive SQL优化之 Count Distinct
  8. aptana studio 汉化与安装 zencoding、spket 配置
  9. ubuntu dhcp ping 不通 自己_??2、DHCP安装和配置
  10. java servlet 转发和重定向_JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
  11. LeetCode 题解之Find Peak Element
  12. unity控制程序等待_Unity 中的协同程序
  13. 计算机硬件基础知识微盘,第1章 电脑硬件基础知识.pdf
  14. Fuchsia中GN与Ninja构建demo
  15. Nginx 进程间通信
  16. 如何在MyEclipse 中将工程已经删除的文件恢复过来
  17. 数据仓库的特点、数据仓库分层、数据仓库模型
  18. 伪原创工具,AI采集伪原创,内容伪原创工具
  19. YIT-CTF—隐写术
  20. 学生信息管理系统python面向对象_Python学员管理系统【面向对象实现】

热门文章

  1. 中国更需张瑞敏还是任正非
  2. XVG恶意挖矿事件透视——“算力优势+时间劫持”攻击案例分析
  3. Mac安装搭建electron教程
  4. celery5.2.1以下版本任务调用多耗费1秒
  5. 批量保存PC端抖音多个视频方法步骤
  6. 详解 YUV,一文搞定 YUV 是什么!
  7. Cesium|xt3d 场景工具、测量工具
  8. 深度学习领域怎么找创新点总结
  9. 每日一题之 hiho232周 拆字游戏
  10. mvc 中renderpartial的使用