1、vi编辑器简介

1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

2、vi编辑器的操作模式

1)掌握vi编辑器的3种基本模式:

  a)命令行模式:vi编辑器的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi编辑器的操作等

  b)编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式中,输入的每一个字符都会被vi编辑器解释为输入的正文。使用ESC键返回命令行模式

  c)扩展模式:在一些UNIX系统上也叫底行模式。在这一模式下,可以使用一些高级编辑命令,如查找和替换字符串、存盘或退出vi编辑器等。要进入底行模式,需要在命令行模式中输入冒号(:),冒号这一操作将光标移到屏幕的最后一行

3、在vi编辑器中光标的移动

1)掌握在vi编辑器中常用的移动光标位置的键与光标移动之间的关系,如下表:

[ctrl]+[b]

屏幕往“后”移动一页

[ctr]+[f]

屏幕往“前”移动一页

[ctrl]+[u]

屏幕往“后”移动半页

[ctrl]+[d]

屏幕往“前”移动半页

gg

移动到文章的首行,相当于1G

G

移动到文章的最后

nG

n为数字。移动到这个档案的第n行。例如20G则会移动到这个档案的第20行

h或左箭头键

光标向左移动一个字符

j或下箭头键

光标向下移动一个字符

k或上箭头键

光标向上移动一个字符

l或右箭头键

光标向右移动一个字符

n[space]

n表示数字。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如:20[space]则光标会向后移动20个字符

0或[^]或[Home]

移动到这一行的最前面字符处

$或[End]

移动到这一行的最后面字符处

H

光标移动到这个屏幕的最上方那一行的第一个字符

M

光标移动到这个屏幕的中央那一行的第一个字符

L

光标移动到这个屏幕的最下方那一行的第一个字符

4、进入编辑模式

1)掌握从命令行模式进入编辑模式的命令:

  a)a:进入输入模式并在光标所在的下一个字符处开始输入

  b)A:进入输入模式并在光标所在行的最后一个字符处开始输入

  c)i:进入输入模式并在光标所在处输入

  d)I:进入输入模式并在光标所在行的第一个非空格符处开始输入

  e)o:进入输入模式并在光标所在行的下一行处输入新的一行

  f)O:进入输入模式并在光标所在行的上一行处输入新的一行

  g)r:进入取代模式,只会取代光标所在的那一个字符一次

  h)R:进入取代模式,会一直取代光标所在的文字,直到按下[ESC]键为止

5、在命令行栻上删除、复制和粘贴操作

1)掌握常用的删除、复制和粘贴的快捷键

x,X

在一行字当中,x为向后删除一个字符(相当于[del]键),X为向前删除一个字符(相当于[backspace]键)

nx

n为数字,连续向后删除n个字符。举例来说,10x表连续删除10个字符

dd

删除光标所在的那一整行

ndd

n为数字。删除光标所在的向下

d1G

删除光标所在行到第一行的所有数据

dG

删除光标所在行到最后一行的所有数据

d$

删除光标所在处到该行的最后一个字符

d0

删除光标所在处到该行的最前面一个字符

yy

复制游标所在的那一行

nyy

n为数字。复制光标所在的向下n行。例如20yy则是复制20行

y1G

复制光标所在的向下n行。例如20yy则是复制20行

yG

复制光标所在行到最后一行的所有数据

y0

复制光标所在的那个字符到该行行首的所有数据

y$

复制光标所在的那个字符到该行行尾的所有数据

p,P

p为将已复制的数据在光标的下一行粘贴,P为将已复制的数据在光标的上一行粘贴

J

将光标所在行与下一行的数据结合成同一行

u

复原前一个动作

[ctrl]+r

重做上一个动作

u与[ctrl]+r是一组很常用的指令!一个是复原,另一个则是重做一次。

.

小数点。意思是重复前一个动作的意思。如果你想要重复删除、重复粘贴等动作,按下小数点“.”就好了

6、扩展模式与文件的存储和退出

1)掌握扩展模式下常用的命令:

:w

将编辑的数据写入硬盘档案中

:w!

若文件属性为“只读”时,强制写入该档案。不过,到底能不能写成功,还是跟当前用户对该档案的权限有关

:q

退出vi

:q!

若修改过档案,又不想储存,使用此命令强制离开不储存档案

注意:感叹号(!)在vi当中,常常具有“强制”的意思

:wq

储存后离开vi

:wq!

强制储存后离开vi

ZZ

若档案没有修改,则不储存离开vi,若档案已经被修改,则储存后离开vi

:w [filename]

将编辑的数据储存成另一个档案

:r [filename]

在编辑的数据中,读入另一个档案的数据。亦即将“filename”这个档案内容加到游标所在行后面

:n1,n2 w [filename]

将n1到n2行的内容储存成filename这个档案

Linux基础-5.利用vi编辑器创建和编辑正文文件的更多相关文章

  1. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  2. 第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介  什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下 ...

  3. Linux 正文处理命令及tar命令 利用vi编辑器创建和编辑正文文件

    要点回顾 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cp /etc/passwd . cat ./passwd >1.txt cp /etc/group ...

  4. 利用vi编辑器创建和编辑正文文件(二)

    末行模式下的命令 1.       w:写文件,将编辑的内容保存到文件系统. 2.       w!:如果只读文件,强制写入系统. 3.       q!:退出vi,但文件内容修改的话,系统要提示是否 ...

  5. 利用vi编辑器创建和编辑正文文件(一)

    1.       vim是vi的升级版本. 2.       vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...

  6. Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...

  7. Linux中非正常关闭vi编辑器产生swp文件怎么删除

    Linux中非正常关闭vi编辑器产生swp文件,会导致编辑文件时提示如下内容(图我是从网上找的): 这是因为异常关闭vi编辑器产生swp文件导致,假设编辑的文件名是file.sh,那么生成的swp文件 ...

  8. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  9. 非正常关闭vi编辑器时会生成一个.swp文件

    非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...

随机推荐

  1. C/C++遍历进程和进程ID的小工具

    原文:http://blog.csdn.net/qq78442761/article/details/54646010 当我们写某些具有破坏性的程序时就需要对进程进行遍历和提取ID 对于上述功能,我们 ...

  2. Exchange 接收连接器(Client、Default)区别,OUtlook实际测试

    CAS就是接收连接器(110,995): Server Config--Client Access:POP3 and IMAP4:POP3设置 HUB就是发送连接器(25,587) Server Co ...

  3. Linxu下 expect的安装与使用

    expect学习 1.什么是except        Expect是基于Tcl的一个相对简单的免费脚本文件语言工具,用于实现自动和交互式程序进行通信            is a software ...

  4. 乘风破浪:LeetCode真题_021_Merge Two Sorted Lists

    乘风破浪:LeetCode真题_021_Merge Two Sorted Lists 一.前言 关于链表的合并操作我们是非常熟悉的了,下面我们再温故一下将两个有序链表合并成一个的过程,这是基本功. 二 ...

  5. C++课堂作业(1)

    github链接: https://github.com/deepYY/object-oriented/tree/master/Circle 作业题目 Create a program that as ...

  6. [T-ARA][괜찮아요][没关系]

    歌词来源: 没关系:http://music.163.com/#/song?id=22704448 没关系(Remix Ver.):http://music.163.com/#/song?id=258 ...

  7. java aopalliance-1.0.jar这个包是做什么用的?

    这个包是AOP联盟的API包,里面包含了针对面向切面的接口.通常Spring等其它具备动态织入功能的框架依赖此包.

  8. iOS动画暂停和继续-本质是速度控制和时间坐标转换

    时间永不停止! 写一个CALayer的分类,控制动画的暂停与继续 extension CALayer { ///暂停动画 func pauseAnimation() { //取出当前时间,转成动画暂停 ...

  9. 简析Chrome和Webkit的渊源

    http://www.3lian.com/edu/2012/05-25/28803.html 互联网的浪潮从未停息,而用以网上冲浪的冲浪板也一直在变得愈加精良.自人们进入互联网时代以来,即已经发生了三 ...

  10. 【51nod 1514】 美妙的序列

    题目 我们发现我们得正难则反 还是设\(f_i\)表示长度为\(i\)的序列个数 考虑容斥 \[f_i=i!-\sum_{j=1}^{i-1}f_j(i-j)!\] \(i!\)显然是总方案数,我们减 ...