linux基础-第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介
什么是vi
vi编辑器的操作模式
vi编辑器的3种基本模式
在vi编辑器中光标的移动
移动光标位置的键与光标移动间的关系
进入插入模式
从命令行模式进入插入模式的命令
在命令行模式下删除与复制的操作
删除与复制命令
粘贴命令
复原和重做命令
扩展模式与文件的存储和退出
扩展模式下常用的命令
快速移动光标在文件中的位置
快速移动光标在屏幕中的位置
课后作业
【本节内容】
1. vi编辑器简介(详见linux系统管理P252)
1) 掌握vi的定义:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类型的正文编辑器,它可以用来创建和修改正文文件。
2. vi编辑器的操作模式(详见linux系统管理P255)
1) 掌握vi编辑器的3中基本模式:
a) 命令行模式:vi的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等。
b) 编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式下,输入的每一个字符都被vi编辑器解释为输入的正文。使用ESC键返回命令行模式。
c) 扩展模式:在一些UNIX系统上也叫最后一行模式。在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行。
3. 在vi编辑器中光标的移动(详见linux系统管理P256)
1) 掌握在vi编辑器中用来移动光标位置的键与光标移动之间的关系,如下表:
4. 进入插入模式(详见linux系统管理P258)
1) 掌握从命令行模式进入插入模式的命令:
a:进入插入模式并在光标之后进行添加。
i:进入插入模式并在光标之前进行插入。
o:进入插入模式并在当前(光标所在)行之下开启新的一行。
5. 在命令行模式下删除与复制的操作(详见linux系统管理P259)
1) 掌握常用的删除与复制的常用按键
6.粘贴命令
1) 掌握粘贴命令:
ps:
题目:复制10000行
答案:
先yy 一行,再10000p
跳到一行的开头 : 0
跳到一行的行尾 : $
root:x:0:0:root:/root:/bin/bash
显示行号:set nu
不显示行号:set nonu
gg 跳到文章首行
G 跳到文章尾行
20G 跳到多少行,跳到20行
7. 复原和重做命令
1) 掌握常用的复原和重做命令:
8.扩展模式与文件的存储和退出
1)掌握扩展模式下常用的命令:
9.快速移动光标在文件中的位置
1)掌握快速移动光标在文件中的位置的命令
10.快速移动光标在屏幕中的位置
1)掌握快速在屏幕中移动光标的位置的命令
11.课后作业(用时40分钟)
1) 使用vi编辑器编辑文件/1.txt进入编辑模式写入内容“hello world”
[root@study tmp]# vi 1.txt
"hello world"
2) 进入命令行模式复制改行内容,在下方粘贴80行
80yy 80p
3) 快速移动光标到文件的最后一行
G
4) 快速移动光标到当前屏幕的中间一行
M
5) 快速移动光标到文件的第五行
5G
6) 在下方插入新的一行内容“welcome to beijing”
o
i
“welcome to beijing”
7) 删除刚插入的一行
光标移到这行首 “welcome to beijing”,再按dd
8) 撤销上一步的操作
U
9) 进入扩展模式,执行文件的保存退出操作
esc
:
wq
linux基础-第九单元 利用vi编辑器创建和编辑正文文件的更多相关文章
- 第九单元 利用vi编辑器创建和编辑正文文件
vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下 ...
- Linux基础-5.利用vi编辑器创建和编辑正文文件
1.vi编辑器简介 1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面 ...
- Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件
要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...
- 利用vi编辑器创建和编辑正文文件(二)
末行模式下的命令 1. w:写文件,将编辑的内容保存到文件系统. 2. w!:如果只读文件,强制写入系统. 3. q!:退出vi,但文件内容修改的话,系统要提示是否 ...
- 利用vi编辑器创建和编辑正文文件(一)
1. vim是vi的升级版本. 2. vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...
- Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接
作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...
- 普通Linux用户1分钟上手vi编辑器
*导读:普通用户只要花1分钟看第二部分即可.高级用户请忽略本文* 目录 1. 编辑器之战 2. vi的使用 2.1 vi的3个模式 2.2 vi的3个模式切换 2.3 vi最基本的命令 2.4 vi的 ...
- 非正常关闭vi编辑器时会生成一个.swp文件
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- Linux 多个vi、vim进程编辑同一文件时的临时文件问题
多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122 使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...
随机推荐
- Scalaz(52)- scalaz-stream: 并行运算-parallel processing concurrently by merging
如果scalaz-stream真的是一个实用的数据流编程工具库的话,那它应该能处理同时从多个数据源获取数据以及把数据同时送到多个终点(Sink),最重要的是它应该可以实现高度灵活的多线程运算.但是:我 ...
- 【循序渐进学Python】14.数据库的支持
纯文本只能够实现一些简单有限的功能.如果想要实现自动序列化,也可以使用 shelve 模块和 pickle 模块来实现.但是,如果想要自动的实现数据并发访问,以及更标准,更通用的数据库(databas ...
- Vue.js 2.0 参考手册.CHM下载
下载地址 Vue.js 2.0 参考手册.CHM下载链接: http://pan.baidu.com/s/1kVbhd4b 密码: wxfh
- 钉钉客户端JS-API权限签名算法.NET版
前段时间写了一篇博文<钉钉如何进行PC端开发>,在里面并未解决本地生成签名的问题,需要到官网进行生成,由于钉钉门票等认证信息会超期,因此,必须能本地用代码自动更新相关参数信息,来换取签名. ...
- javscript闭包的准备工作 -- 作用域与作用域链
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理.今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望 ...
- CORS(跨域资源共享)
前言:上一篇文章在写如何使用JSONP实现跨域请求的时候,偶然间提到CORS,即Cross-Origin Resource Sharing(跨域资源共享).虽然前些天也看了一下CORS相关的文章,但是 ...
- Android悬浮窗实现 使用WindowManager
Android悬浮窗实现 使用WindowManager WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 ...
- JavaScript学习08 Cookie对象
JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...
- iOS音频开发之`AudioStreamBasicDescription`
这个类提供了对于音频文件的描述 An audio stream is a continuous series of data that represents a sound, such as a so ...
- JNI在C 和 C++ 函数实现的不同
在C中,JNI 函数调用由“(*env)->”作前缀,目的是为了取出函数指针所引用的值. 在 C++ 中,JNIEnv 类拥有处理函数指针查找的内联成员函数. 下面这两行代码访问同一函数,但每种 ...