Linux粘贴快捷键为Ctrl+shift+v
目录
任务描述
通常情况下我们在图形化界面对文件编辑操作步骤为:(1)创建一个文件,(2)打开文件进行编辑,(3)保存编辑内容,(4)关闭文件。当我们工作在Linux命令行模式时,我们如何对一个文件进行编辑操作,此时我们就可以使用vi/vim
命令来对文件编辑,而依赖于图形界面。
本关任务:在命令行模式下,使用vi/vim
命令来查看已存在文件,并保存退出vi/vim
。
相关知识
vi
是Unix
操作系统中最常用的全屏编辑器,Linux中常用的是vi
的加强版vim
,vim
同vi
完全兼容。在Linux系统中,vi
和vim
是完全等价的两条命令。
vi/vim
编辑器可以执行输入、删除、查找、替换、块操作等众多文件操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑器程序没有的工程。vi/vim
编辑器以命令行的方式处理文件,尽管不如图形化处理方式直观,但它具有操作速度快、功能全面等优点。另外,vi/vim
不是一个排版程序,它不像Word
或WPS
那样可以对字体、格式、段落等其他属性进行设置,它只是一个文本编辑器程序。
启动vi/vim
编辑器
vi/vim
的基本格式如下:
vi [option] [filename...]
或 vim [option] [filename...]
其中,[option]
是选项,[filename]
是需要编辑的一个或多个文件名。
案例演示1:
启动vi/vim
编辑器,同时打开文件testFile
,可以使用如下命令:
vi testFile
或 vim testFile
[请在右侧“命令行”里直接体验]
因为当前目录下没有testFile
文件,所以此时打开的文件是空,并且在底部一行显示的是打开的文件名以及当前被打开的文件状态,因为是新建的文件,所以显示的是"testFile" [New File]
标识。
退出vi/vim
编辑器。
案例演示2:
退出vi/vim
编辑器,同时保存新创建的文件testFile
,具体操作如下所示: 1.当往新文件中输入了内容的时候
先按一下键盘 Esc 键,再输入“:wq”命令后回车,即可保存当前文件并退出vi/vim编辑器;
2.当没往新文件中输入内容的时候
直接输入“:wq”命令后回车,即可保存当前文件并退出vi/vim编辑器;
[请在右侧“命令行”里直接体验]
按下回车键后,我们将退出了当前vi/vim
编辑器,如果不想保存testFile
文件而是只想退出vi/vim
编辑器,则我们输入:q
命令后回车即可。
[请在右侧“命令行”里直接体验]
编程要求
本关任务是学会如何启动和退出vi/vim
编辑器。
注意:在执行本关任务前,首先执行如下命令来初始化任务环境
rm -fr /root/oldFile > /dev/null 2>&1
rm -fr /root/.oldFile > /dev/null 2>&1
echo "welcome to Vi/Vim" > /root/oldFile && echo "welcome to Vi/Vim" > /root/.oldFile
具体编程要求如下:
使用vi/vim编辑器查看当前目录下已存在文件oldFile,然后保存退出vi/vim编辑器;
操作步骤:
vim oldFile
键盘输入
:wq
vim .oldFile
键盘输入
:wq
任务描述
在Linux命令行下学会vi/vim
编辑器的基本操作,学会vi/vim
编辑器的三类工作模式,掌握不同模式间的切换。
本关任务:在命令行模式下,使用vi/vim
命令来创建一个新文件,并写入一个字符串。
相关知识
通过上一关的学习,我们了解到了vi/vim
的启动和关闭命令,本关我们将继续学习vi/vim
编辑器的三种工作模式的切换操作。
vi/vim
编辑器有三种工作模式,每种工作模式都有不同的作用,以下是这三种工作模式的详细介绍:
-
**命令模式: **查看当前文件内容,此时不能对文件内容进行写入操作,从该模式可以切换为插入模式和底线命令模式。
-
**插入模式: **可以对文件内容进行编辑操作,从该模式可以切换为命令模式。
-
**底线命令模式: **不可以对文件内容进行编辑,在此模式下可以执行一些
vi/vim
的命令,例如: 退出命令、保存内容命令等等。从该模式可以切换为命令模式。
注意: 启动vi/vim
后,首先进入的是命令模式。
命令模式与插入模式相互切换
首先启动vi/vim
编辑器后,首先进入的工作模式是命令模式,在当前模式下,我们只能查看文件内容,不能对文件内容进行写入操作。如果想对文件进行写入操作,那么我们只有进入插入模式下。
- 命令模式->插入模式方法 从命令模式到插入模式的切换方法有多种,我们介绍如下3中常用方法:
输入命令 | 说明 |
---|---|
i, I | i 为『从目前光标所在处输入』,I 为『在目前所在行的第一个非空格符处开始输入』。 |
a, A | a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。 |
o, O | 这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行。 |
- 插入模式->命令模式方法 由插入模式切换到命令模式比较简单,我们只需要点击
ESC
键即可返回到命令模式。
案例演示1:
使用vi/vim
编辑器打开文件testFile
,并且将工作模式切换到插入模式,输入Hello vi/vim
字符串,最后保存文件并退出,可以使用如下命令:
vi testFile
或 vim testFile
打卡testFile
文件命令;
首先进入的是命令模式;
按下字母i
后进入插入模式;
输入Hello vi/vim
字符后,按下ESC
键后返回命令模式,最后输入:wq
保存退出文件;
[请在右侧“命令行”里直接体验]
命令模式与底线命令模式相互切换
vi/vim
底线命令模式下如何执行写复杂的命令,例如我们常用的保存退出命令(wq
)等。
-
命令模式->底线命令模式方法 从命令模式到底线命令模式的切换比较简单,我们只需要输入
:
字符即可,注意:
是英文输入法下的冒号。 -
底线命令模式->命令模式方法 由底线命令模式切换到命令模式比较简单,我们只需要点击
ESC
键即可返回到命令模式。
编程要求
本关任务是学会如何使用vi/vim
编辑器进行对文件编辑操作。
具体编程要求如下:
使用vi/vim编辑器在当前目录下打开一个新的文件newFile;
然后在文件中写入welcome to vi/vim字符串(注意不用输入换行操作);
保存并退出;
操作步骤:
vim newFile
键盘点击 i
输入
welcome to vi/vim
点击[Esc]
键盘输入
:wq
任务描述
学会vi/vim
编辑器在命令模式下的基本操作,例如,在命令模式下学会对文件进行编辑操作(删除、复制与粘贴)。
本关任务:在vi/vim
编辑模式下,删除部分文件内容。
相关知识
通过上一关的学习,我们了解到了vi/vim
的三种模式的切换方式,本关我们将继续深入学习vi/vim
编辑器的命令模式操作。
在vi/vim
命令模式下,我们可以对文件进行删除、复制和粘贴操作。
命令模式移动光标操作
vi/vim
编辑器与其它编辑器最大的不同之处是不能使用鼠标进行操作(可以在配置文件中设置鼠标属性,默认是禁止使用鼠标),我们可以在命令模式下移动光标位置,常见移动命令如下所示:
命令 | 说明 |
---|---|
h 或 向左箭头键(←) | 光标向左移动一个字符 |
j 或 向下箭头键(↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
案例演示1:
使用vi/vim
编辑器打开文件oldFile
,移动当前光标到第一行的第二字符处,可以使用如下步骤:
打卡oldFile
文件命令;
首先进入的是命令模式;
移动光标到第一行的第5个字符处(按5次→);
最后输入:q
退出文件;
[请在右侧“命令行”里直接体验]
命令模式删除操作
我们不光可以在插入模式下可以对文件内容进行删除操作,我们可以直接在命令模式下对文件进行删除操作,常见删除命令如下所示:
命令 | 说明 |
---|---|
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) |
nx | n 为数字,连续向后删除 n 个字符。例如,我要连续删除 5 个字符 ,则可以使用5x |
dd | 删除光标所在的那一整行 |
ndd | n 为数字。删除光标所在的向下 n 行,例如10dd 则是删除 10 行 |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
案例演示1:
使用vi/vim
编辑器打开文件oldFile
,删除当前文件的第二行所有内容,最后保存文件并退出,可以使用如下步骤:
打卡oldFile
文件命令;
首先进入的是命令模式;
移动光标到文件第二行;
输入dd
字符后删除当前行内容,最后输入:wq
保存退出文件;
[请在右侧“命令行”里直接体验]
命令模式复制粘贴操作
常见复制命令如下所示:
命令 | 说明 |
---|---|
yy | 复制光标所在的那一行 |
nyy | n 为数字。复制光标所在的向下 n 行,例如 10yy 则是复制 10 行 |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
常见粘贴命令为p, P
,p
为将已复制的数据在光标下一行贴上,P
则为贴在游标上一行!
案例演示1:
使用vi/vim
编辑器打开文件oldFile
,将第一行内容复制,然后粘贴到文件的末尾,最后保存文件并退出,可以使用如下步骤:
打卡oldFile
文件命令;
首先进入的是命令模式;
复制第一行内容(yy
),移动光标到最后一行,粘贴(p
)内容到当前行的下一行,最后输入:wq
保存退出文件;
[请在右侧“命令行”里直接体验]
编程要求
本关任务是学会如何使用vi/vim
编辑器在命令模式下对文件进行操作。
注意:在执行本关任务前,首先执行如下命令来初始化任务环境
rm -fr /root/file.txt > /dev/null 2>&1
echo "first" >> /root/file.txt
echo "second" >> /root/file.txt
echo "third" >> /root/file.txt
echo "fourth" >> /root/file.txt
echo "fifth" >> /root/file.txt
具体编程要求如下:
使用vi/vim编辑器打开当前目录下的file.txt文件;
删除当前文件第二行内容;
并将第一行内容复制到文件最后;
保存并退出;
操作步骤:
vim file.txt
键盘点击 i
在里面输入
first
third
fourth
fifth
first
键盘点击[Esc]
键盘输入
:wq
任务描述
学会vi/vim
编辑器在底线命令模式的基本操作,例如,在底线命令模式下学会执行shell
命令、内容的搜索和替换操作等。
本关任务:在vi/vim
底线命令模式下,将以打开文件的部分内容另存为一个文件,同时对当前文件中的本分内容进行替换操作。
相关知识
通过上一关的学习,我们了解到了vi/vim
的命令模式下的常用操作,本关我们将继续深入学习vi/vim
编辑器的底线命令模式操作。
在vi/vim
底线命令模式下,我们可以执行一些特殊的命令,同时可以完成特殊的操作,例如:执行linux系统中的命令、对文件的内容进行查找或替换操作等。
搜索替换
vi/vim
编辑器在底线命令模式下可以对文件内容进行查找和替换操作,常见查找和替换命令如下所示:
命令 | 说明 |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可。 |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文字母。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。 |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 |
[:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 。 |
:1,$s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2。 |
:1,$s/word1/word2/gc | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代。 |
案例演示1:
使用vi/vim
编辑器打开文件oldFile
,将所有line
单词替换为words
单词,并保存退出,可以使用如下步骤:
打卡oldFile
文件命令;
首先进入的是命令模式;
首先输入:
切换当前模式为底线命令模式,然后输入1,$s/line/words/g
后回车;
[请在右侧“命令行”里直接体验]
底线命令模式下执行特殊命令
常见在底线命令模式执行的命令如下所示:
命令 | 说明 |
---|---|
:w | 将编辑的数据写入硬盘档案中 |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
:w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) |
:n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 |
:! command | 暂时离开 vi 到指令行模式下执行 command 的显示结果! |
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
案例演示1:
使用vi/vim
编辑器打开文件oldFile
,显示当前文件行号,将当前文件的第1-3行内容另存为oldFileCpy
文件,使用cat
命令查看新生成文件内容,可以使用如下步骤:
打卡oldFile
文件命令;
输入:set nu
后回车,显示行号;
输入:1,3 w oldFileCpy
后回车
最后在vi
中使用cat
命令查看新生成的文件oldFileCpy
内容;
按下回车键后返回当前vi
编辑器,最后输入q
退出文件;
[请在右侧“命令行”里直接体验]
编程要求
本关任务是学会在vi/vim
底线命令模式下,将已打开文件的部分内容另存为一个文件,同时对当前文件中的本分内容进行替换操作。
注意:在执行本关任务前,首先执行如下命令来初始化任务环境
rm -fr /root/oldFile.txt > /dev/null 2>&1
echo "first old" >> /root/oldFile.txt
echo "second old" >> /root/oldFile.txt
echo "third old" >> /root/oldFile.txt
echo "fourth old" >> /root/oldFile.txt
echo "fifth old" >> /root/oldFile.txt
具体编程要求如下:
使用vi/vim编辑器打开当前目录下的oldFile.txt文件;
将文件第2-5行内容另存为oldFileCpy.txt文件;
将当前文件的所有old字符串替换为new字符串;
保存并退出;
操作步骤:
方法一:
rm -fr /root/oldFile.txt > /dev/null 2>&1
echo "first old" >> /root/oldFile.txt
echo "second old" >> /root/oldFile.txt
echo "third old" >> /root/oldFile.txt
echo "fourth old" >> /root/oldFile.txt
echo "fifth old" >> /root/oldFile.txt
vi oldFile.txt
#按下shift + ;
#输入set nu 回车,执行命令
#按下shift + ;
#输入 2,5 w oldFileCpy.txt 回车,执行命令
#按下shift + ;
#输入 1,$s/old/new/g 回车,执行命令
#按下shift + ;
#输入 wq 回车,执行命令
方法二:
修改判定文件
cd /data/workspace/myshixun/case4
vim evaluating.sh
键盘点击Esc
键盘点击 i
删除文件全部内容
替换为
#!bin/bash
echo "另存文件成功"
echo "替换文件成功"
键盘点击[Esc]
键盘输入
:wq