头歌解答 Linux vi/vim编辑器
第1关:vi/vim基本用法
编程要求
本关任务是学会如何启动和退出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编辑器;
解答
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
vim oldFile
##【输入 ":wq" 】
##【按 "Enter" 键】
第2关:vi/vim工作模式切换
编程要求
本关任务是学会如何使用vi/vim编辑器进行对文件编辑操作。
具体编程要求如下:
使用vi/vim编辑器在当前目录下打开一个新的文件newFile;
然后在文件中写入welcome to vi/vim字符串(注意不用输入换行操作);
保存并退出;
解答
vim newFile
##【按 "i" 键】
welcome to vi/vim
##【按 "ESC" 键】
##【输入 ":wq"】
第3关:vi/vim命令模式
编程要求
本关任务是学会如何使用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文件;
删除当前文件第二行内容;
并将第一行内容复制到文件最后;
保存并退出;
解答
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
vim file.txt
##【光标移动到第2行】
##【按 "dd" 】
##【光标移动到第1行】
##【按 "yy"】
##【光标移动到最后一行】
##【按 "p"】
##【输入 ":wq"】
第4关:vi/vim底线命令模式
编程要求
本关任务是学会在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
vim oldFile.txt
##【输入":set nu"】
##【回车】
##【输入 ":2,5 w oldFileCpy.txt"】
##【回车】
##【输入 ":1,$s/old/new/g"】
##【回车】
##【输入 ":wq"】