“如何使用vi文本编辑器”的版本间的差异
来自YTYZX有图有真相的百科
(e) (2个标签:移动版编辑,移动网页编辑) |
小 (恢复45.77.171.9(讨论)的编辑至221.122.91.71的最后版本) |
||
(未显示另一用户的1个中间版本) | |||
第1行: | 第1行: | ||
− | + | vi由比尔·乔伊(Bill Joy)撰写,所有UNIX like均默认安装此文本编辑器。详细简介请点击[http://zh.wikipedia.org/wiki/Vi 维基中文]。 | |
+ | 1.首先复制一个文件到/tmp目录(本例中为复制根目录下install.log文件)做为示例文本。 | ||
+ | [[File:Vi1.png]] | ||
+ | 2.输入“cd /tmp”切换到/tmp目录,并输入“vi install.log”使用vi开始编辑。 | ||
+ | [[File:Vi2.png]] | ||
− | + | == 一般模式 == | |
+ | |||
+ | 3.vi一般模式(Normal mode)界面如下: | ||
+ | [[File:Vi3.png]] | ||
+ | 4.注意下图中光标位置。 | ||
+ | [[File:Vi4.png]] | ||
+ | 5.按左方向键(←)或者h(注意大小写)光标将向左移动一个字符。 | ||
+ | [[File:Vi5.png]] | ||
+ | 6.按右方向键(→)或者l(注意大小写)光标将向右移动一个字符。 | ||
+ | [[File:Vi6.png]] | ||
+ | 7.按上方向键(↑)或者k(注意大小写)光标将向上移动一个字符。 | ||
+ | [[File:Vi7.png]] | ||
+ | 8.按下方向键(↓)或者j(注意大小写)光标将向下移动一个字符。 | ||
+ | [[File:Vi8.png]] | ||
+ | 9.按“Page Down”按键或“ctrl+f”将向下移动一页。 | ||
+ | [[File:Vi9.png]] | ||
+ | 10.按“Page Up”按键或“ctrl+b”将向下移动一页。 | ||
+ | [[File:Vi10.png]] | ||
+ | 11.按0(数字)或功能键“Home”移动到光标所在行首个字符。 | ||
+ | [[File:Vi11.png]] | ||
+ | 12.按$或功能键“End”移动到光标所在行末尾字符。 | ||
+ | [[File:Vi12.png]] | ||
+ | 13.按G(注意大写)移动到文件最后一行。 | ||
+ | [[File:Vi13.png]] | ||
+ | 14.按gg(两个小写)移动到文件第一行。 | ||
+ | [[File:Vi14.png]] | ||
+ | 15.按“7回车键”向下移动7行(注意输入数字后需按回车键)。 | ||
+ | [[File:Vi15.png]] | ||
+ | 16.按yy(两个小写)复制光标所在行,按p(小写)复制到光标所在行下,按P(大写)复制到光标所在行上。 | ||
+ | [[File:Vi16.png]] | ||
+ | 17.按dd(两个小写)删除光标所在行。 | ||
+ | [[File:Vi17.png]] | ||
+ | 18.按u(小写)撤销上一步操作。 | ||
+ | [[File:Vi18.png]] | ||
+ | 19.输入5dd(数字+两个小写d)删除从光标所在行起下5行内容(包括光标所在行)。 | ||
+ | [[File:Vi19.png]] | ||
+ | 20.按“.(英文小数点)”重复上次操作(本例中为再删除5行)。 | ||
+ | [[File:Vi20.png]] | ||
+ | |||
+ | == 插入模式 == | ||
+ | |||
+ | 21.移动光标到行中,按i(小写)即可进入插入模式(Insert mode),并从光标所在处开始插入。 | ||
+ | [[File:Vi21.png]] | ||
+ | 22.按“Esc”键退出编辑模式,移动光标到行中,按I(大写)即可进入插入模式(Insert mode),并从光标所在行第一个非空格字符处开始插入。 | ||
+ | [[File:Vi22.png]] | ||
+ | 23.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按r(小写)即可进入替换模式(Replace mode), | ||
+ | 并会替换光标所在字符一次(本例中n被替换为i)。 | ||
+ | [[File:Vi23.png]] | ||
+ | 24.再次输入i,并没有替换后面字符,同时下面显示“--Insert--”,即为插入模式(Insert mode)。 | ||
+ | [[File:Vi24.png]] | ||
+ | 25.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按R(大写)即可进入替换模式(Replace mode),按i将一直替换,直到按Esc为止。 | ||
+ | 同时下面显示“--Replace--”,即为替换模式(Replace mode)。 | ||
+ | [[File:Vi25.png]] | ||
+ | |||
+ | == 命令行模式 == | ||
+ | 26.输入“:set nu”即可显示行号。 | ||
+ | [[File:Vi26.png]] | ||
+ | 27.输入“:set nonu”即可取消显示行号。 | ||
+ | [[File:Vi27.png]] | ||
+ | 28.输入“/setup”即可查询斜杠后内容(本例中为setup)。 | ||
+ | [[File:Vi28.png]] | ||
+ | 29.输入n(小写)即可继续向下查找,输入N(大写)即可向上查找。 | ||
+ | [[File:Vi29.png]] | ||
+ | 30.如需不保存编辑并退出,可输入“:q!”并回车确定。 | ||
+ | [[File:Vi30.png]] | ||
+ | 31.如需保存修改并退出,可输入“:x”并回车确定,此命令仅当文件被修改时才写入,并更新文件修改时间,未修改则不更新文件修改时间。 | ||
+ | 注意:不推荐使用“:wq”保存退出,因为“:wq”即使未修改文件也强制写入,并更新文件修改时间。 | ||
+ | [[File:Vi31.png]] | ||
+ | |||
+ | == 替换内容 == | ||
+ | 32.如何替换字符串,则将光标移动到欲替换行(本例中为方便说明故显示行号)。 | ||
+ | [[File:Vi32.png]] | ||
+ | 33.按ESC键确保为非编辑模式,输入“: s/i/x/”,即将“i”替换为“x”。 | ||
+ | [[File:Vi33.png]] | ||
+ | 34.按回车键确认并查看结果(本例中此行(12行)的第一个“i”被替换为“x”,即“Installing”被替换为“Installxng”)。 | ||
+ | [[File:Vi34.png]] | ||
+ | 35.如需将此行(12行)中所有“i”替换为“x”,则需添加参数。为方便对照,首先输入“u”撤销上一步替换。 | ||
+ | [[File:Vi35.png]] | ||
+ | 36.输入“: s/i/x/g”,注意比上面的命令多一个参数“g”。 | ||
+ | [[File:Vi36.png]] | ||
+ | 37.按回车键确定并查看结果(注意同上面的区别,本行所有的“i”已被替换为“x”)。 | ||
+ | [[File:Vi37.png]] | ||
+ | 38.输入“: %s/i/x/”(等同于: g/i/s//x/)即可将所有行的第一个“i”替换为“x”。 | ||
+ | [[File:Vi38.png]] | ||
+ | 39.按回车键确定并查看结果(注意同上面的区别)。 | ||
+ | [[File:Vi39.png]] | ||
+ | 40.输入“: %s/i/x/g”(等同于: g/i/s//x/g)即可将所有行的“i”替换为“x”。 | ||
+ | [[File:Vi40.png]] | ||
+ | 41.按回车键确定并查看结果(注意同上面的区别)。 | ||
+ | [[File:Vi41.png]] |
2022年3月24日 (四) 20:30的最新版本
vi由比尔·乔伊(Bill Joy)撰写,所有UNIX like均默认安装此文本编辑器。详细简介请点击维基中文。
1.首先复制一个文件到/tmp目录(本例中为复制根目录下install.log文件)做为示例文本。
2.输入“cd /tmp”切换到/tmp目录,并输入“vi install.log”使用vi开始编辑。
一般模式
3.vi一般模式(Normal mode)界面如下:
4.注意下图中光标位置。
5.按左方向键(←)或者h(注意大小写)光标将向左移动一个字符。
6.按右方向键(→)或者l(注意大小写)光标将向右移动一个字符。
7.按上方向键(↑)或者k(注意大小写)光标将向上移动一个字符。
8.按下方向键(↓)或者j(注意大小写)光标将向下移动一个字符。
9.按“Page Down”按键或“ctrl+f”将向下移动一页。
10.按“Page Up”按键或“ctrl+b”将向下移动一页。
11.按0(数字)或功能键“Home”移动到光标所在行首个字符。
12.按$或功能键“End”移动到光标所在行末尾字符。
13.按G(注意大写)移动到文件最后一行。
14.按gg(两个小写)移动到文件第一行。
15.按“7回车键”向下移动7行(注意输入数字后需按回车键)。
16.按yy(两个小写)复制光标所在行,按p(小写)复制到光标所在行下,按P(大写)复制到光标所在行上。
17.按dd(两个小写)删除光标所在行。
18.按u(小写)撤销上一步操作。
19.输入5dd(数字+两个小写d)删除从光标所在行起下5行内容(包括光标所在行)。
20.按“.(英文小数点)”重复上次操作(本例中为再删除5行)。
插入模式
21.移动光标到行中,按i(小写)即可进入插入模式(Insert mode),并从光标所在处开始插入。
22.按“Esc”键退出编辑模式,移动光标到行中,按I(大写)即可进入插入模式(Insert mode),并从光标所在行第一个非空格字符处开始插入。
23.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按r(小写)即可进入替换模式(Replace mode), 并会替换光标所在字符一次(本例中n被替换为i)。
24.再次输入i,并没有替换后面字符,同时下面显示“--Insert--”,即为插入模式(Insert mode)。
25.按“Esc”键退出编辑模式,移动光标到“Installing”的第二个字符(n)下,按R(大写)即可进入替换模式(Replace mode),按i将一直替换,直到按Esc为止。 同时下面显示“--Replace--”,即为替换模式(Replace mode)。
命令行模式
26.输入“:set nu”即可显示行号。
27.输入“:set nonu”即可取消显示行号。
28.输入“/setup”即可查询斜杠后内容(本例中为setup)。
29.输入n(小写)即可继续向下查找,输入N(大写)即可向上查找。
30.如需不保存编辑并退出,可输入“:q!”并回车确定。
31.如需保存修改并退出,可输入“:x”并回车确定,此命令仅当文件被修改时才写入,并更新文件修改时间,未修改则不更新文件修改时间。 注意:不推荐使用“:wq”保存退出,因为“:wq”即使未修改文件也强制写入,并更新文件修改时间。
替换内容
32.如何替换字符串,则将光标移动到欲替换行(本例中为方便说明故显示行号)。
33.按ESC键确保为非编辑模式,输入“: s/i/x/”,即将“i”替换为“x”。
34.按回车键确认并查看结果(本例中此行(12行)的第一个“i”被替换为“x”,即“Installing”被替换为“Installxng”)。
35.如需将此行(12行)中所有“i”替换为“x”,则需添加参数。为方便对照,首先输入“u”撤销上一步替换。
36.输入“: s/i/x/g”,注意比上面的命令多一个参数“g”。
37.按回车键确定并查看结果(注意同上面的区别,本行所有的“i”已被替换为“x”)。
38.输入“: %s/i/x/”(等同于: g/i/s//x/)即可将所有行的第一个“i”替换为“x”。
39.按回车键确定并查看结果(注意同上面的区别)。
40.输入“: %s/i/x/g”(等同于: g/i/s//x/g)即可将所有行的“i”替换为“x”。
41.按回车键确定并查看结果(注意同上面的区别)。