笔者已经基本了解了通过Linux命令对文件和目录的相关操作,可要对文件进行编辑,还得用到VI编辑器。熟悉VI编辑器的使用对今后的开发十分重要!!
vi是Linux中最基本的编辑器。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。
目标:
命令行模式 用户在用vi编辑文件时,最初进入的为该模式。可以进行复制、粘贴等操作。
插入模式 进行文件编辑,按ESC键可以回到命令行模式。
底行模式 光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等
进入vi编辑器:如果我们想要对一文件进行编辑修改,进入这个文件目录,在命令终端输入 vi [文件名] 即可
模式转换:如果在插入模式下,按ESC键可以回到命令行模式;在命令行模式下,按下 i 键 进入插入模式;底行模式在编辑器窗口最下方,按下 : 定位光标到底行。
其中命令行模式,这个模式下用户不能对文件内容进行修改。
保存和退出vi编辑器:通过底行模式,进行。相关命令如下
:q (Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)
:q! 强制退出,且不保存修改过的部分
:w (Write)保存文件,但不退出
:x (Exit)保存文件并退出
:w File 另存为File给出的文件名,不退出
:r File (Read)读入File指定的文件内容插入到光标位置
正常来说,进到插入模式后,就可以对文件内容进行改动了,就打字一样方便。但因为在终端模式下,我们需要一些命令来代替鼠标完成一些比如复制粘贴的功能。
vi拷贝与粘贴命令(命令行模式下)
[N]x (Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)
[N]dd (Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)
[N]yy (Yank)复制从光标位置开始的连续N行到编辑缓冲区
p或P (Put)从编辑缓冲区复制文本到当前光标位置(即粘贴)
u (Undo)取消上一次操作(即恢复功能)
y0-将光标至行首的字符拷入剪贴板
y$-将光标至行尾的字符拷入剪贴板
d0-将光标至行首的字符剪切入剪贴板
d$-将光标至行尾的字符剪切入剪贴板
range y-块复制
range d-块剪切
vi光标命令(命令行模式下)
h 方向键,向左移动光标一个字符的位置,相当于键“←”
j 方向键,向下移动光标到下一行的位置,相当于键“↓”
k 方向键,向上移动光标到上一行的位置,相当于键“↑”
l 方向键,向右移动光标一个字符的位置,相当于键“→”
:N 移动光标到第N行(N待定)
1G 移动光标到文件的第1行
G 移动光标到文件的最后1行
:set number 设置显示行号
:set nonumber 取消显示行号
vi的查找命令(命令行模式下)
/string 查找字符串
n 继续查找
N 反向继续查找
支持正则表达式比如:/^the /end$
vi的替换命令(命令行模式下)
利用:s 命令可以实现字符串的替换。
:s/str1/str2/
:s/str1/str2/g
:.,$ s/str1/str2/g g全部替换(默认换第1个)
:1,$ s/str1/str2/g
:%s/str1/str2/g
其中,
: 与 s之间的部分表示替换范围,N1,N2以行为单位;
str1表示原字符串,str2是你想要替换的新字符串
g表示全文替换,否者默认替换每行的头一个str1
vi编辑器是嵌入式Linux环境下开发人员每天工作都要使用的工具,因此,建议尽可能多的学习、熟练关于vi编辑器使用的命令。
相关链接
嵌入式学习笔记(一) --Ubuntu开发环境搭建 :https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(二) --Ubuntu上配置vim编辑器和共享文件 : https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(三) --Linux文件系统: https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(四) --Linux文件和目录相关命令: https://blog.csdn.net/feit2417/article/details/80753329
嵌入式学习笔记(五) --vi编辑器: https://blog.csdn.net/feit2417/article/details/80759402
嵌入式学习笔记(六) --程序的编译和执行: https://blog.csdn.net/feit2417/article/details/80765177