“第004课 vi编辑器”的版本间的差异
来自百问网嵌入式Linux wiki
Baiwen root(讨论 | 贡献) |
|||
(未显示3个用户的15个中间版本) | |||
第1行: | 第1行: | ||
+ | {| align="right" class="fix" | ||
+ | | __TOC__ | ||
+ | |} | ||
+ | <div body style="width:800px;"> | ||
= vi编辑器1:一个编辑器具备的功能 = | = vi编辑器1:一个编辑器具备的功能 = | ||
第8行: | 第12行: | ||
# 查找和替换 | # 查找和替换 | ||
+ | =vi编辑器2:vi编辑器的环境设置 = | ||
+ | 为了更方便的使用vi编辑器,我们需要先对vi编辑器进行一些配置。打开虚拟机终端,输入以下命令: | ||
− | [[File:chapter4_lesson3_001.png]] | + | <syntaxhighlight lang="c" > |
+ | cd /etc/vim //进入vi配置文件目录 | ||
+ | cp vimrc ~/.vimrc //复制配置文件到我们自己的家目录(这样配置文件只会对我们自己有效,不会影响其它用户) | ||
+ | cd ~ //进入到家目录 | ||
+ | gedit .vimrc //使用gedit编辑器编辑.vimrc配置文件 | ||
+ | </syntaxhighlight> | ||
+ | 在.vimrc中加入如下内容: | ||
+ | <syntaxhighlight lang="c" > | ||
+ | "关闭兼容功能 | ||
+ | set nocompatible | ||
+ | "显示行号 | ||
+ | set number | ||
+ | "编辑时 backspace 键设置为2个空格 | ||
+ | set backspace=2 | ||
+ | "编辑时 tab 键设置为4个空格 | ||
+ | set tabstop=4 | ||
+ | "设置自动对齐为4个空格 | ||
+ | set shiftwidth=4 | ||
+ | "搜索时不区分大小写 | ||
+ | set ignorecase | ||
+ | "搜索时高亮显示 | ||
+ | set hlsearch | ||
+ | </syntaxhighlight> | ||
+ | 保存,退出。 | ||
+ | |||
+ | =vi编辑器3:vi编辑器的三种模式__模式间相互切换 = | ||
+ | |||
+ | vi编辑器有三种模式,各个模式侧重点不一样。 | ||
+ | |||
+ | #'''一般模式'''(光标移动、复制、粘贴、删除) | ||
+ | #'''编辑模式'''(编辑文本) | ||
+ | #'''命令行模式'''(查找和替换) | ||
+ | |||
+ | [[File:chapter4_lesson3_001.png|800px]] | ||
+ | |||
+ | 操作演示见视频。 | ||
+ | |||
+ | '''注意:''' | ||
+ | |||
+ | # 当不知道处于何种模式时,按ESC键返回到一般模式。 | ||
+ | # ccwq(write quit) | ||
+ | # i(insert) | ||
+ | |||
+ | =vi编辑器4:文件的打开_新建_保存= | ||
+ | |||
+ | '''1.打开文件、新建文件、保存文件''' | ||
+ | |||
+ | <syntaxhighlight lang="c" > | ||
+ | vi 文件名 | ||
+ | </syntaxhighlight> | ||
+ | * 如果文件存在,输入结束后,<code>:wq</code>保存并退出文件 | ||
+ | * 如果文件不存在,输入结束后,<code>:wq</code>就可以新建并保存文件 | ||
+ | |||
+ | 在编辑完成时,返回一般模式, | ||
+ | * 输入<code>:w</code>则保存文件,如果已经保存文件,输入<code>:q</code>则退出文件 | ||
+ | * 直接输入<code>:wq</code>保存并退出 | ||
+ | * 如果不想保存被修改的内容,则<code>:q!</code>强制退出。 | ||
+ | |||
+ | |||
+ | '''2.进入编辑模式''' | ||
+ | |||
+ | 在一般模式输入: | ||
+ | |||
+ | <code>i</code>(在光标前开始插入文本) | ||
+ | |||
+ | <code>a</code>(在光标后开始插入文本) | ||
+ | |||
+ | <code>o</code>(在当前行之下新开一行,并到行首) | ||
+ | |||
+ | =vi编辑器5:如何使vi快速移动光标__vi的难点 = | ||
+ | |||
+ | '''3.光标移动''' | ||
+ | 在一般模式下,hjkl这四个按键就可以移动光标 | ||
+ | h (左) | ||
+ | j (下) | ||
+ | k (上) | ||
+ | l (右) | ||
+ | |||
+ | 1)快速的'''定位到某一行''': | ||
+ | |||
+ | *文件头、文件尾、指定某一行 | ||
+ | |||
+ | ngg //光标移至第n行的行首(n为数字,想要跳转的行), | ||
+ | 1gg //就跳到第一行的行首,就是文件头 | ||
+ | 2gg //就跳到第二行的行首 | ||
+ | G //转至文件结尾 | ||
+ | |||
+ | 注意:ngg和G是在一般模式 | ||
+ | |||
+ | 2)在某一行如何快速'''定位到某一列''': | ||
+ | |||
+ | 0 //(数字零)光标移至当前行行首 | ||
+ | $ //光标移至当前行行末 | ||
+ | fx //搜索当前行中下一个出现字母x的地方 | ||
+ | |||
+ | 注意:0、$、fx是在一般模式 | ||
+ | |||
+ | vi的难点: | ||
+ | |||
+ | vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 | ||
+ | 当你不知道处于何种模式时,使用esc键返回到一般模式。 | ||
+ | 再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。 | ||
+ | |||
+ | =vi编辑器6:文本复制_粘贴_删除_撤销__百问网独家记忆方法 = | ||
+ | '''4.文本复制、粘贴、删除、撤销''' | ||
+ | *复制 | ||
+ | yy //复制当前行(y:yank(复制)) | ||
+ | nyy //复制当前行及其后的n*1行(n是数字) | ||
+ | |||
+ | *粘贴 | ||
+ | |||
+ | p //粘贴(p:paste) | ||
+ | |||
+ | *删除 | ||
+ | |||
+ | dd //删除光标所在行(d:delete) | ||
+ | ndd //删除当前行及其后的n*1行(n是数字) | ||
+ | x //删除光标所在位置的字符 | ||
+ | |||
+ | *撤销 | ||
+ | |||
+ | u //撤销上一步操作 | ||
+ | |||
+ | 注意: | ||
+ | yy/nyy/dd/ndd/x/u都是在一般模式。 | ||
+ | |||
+ | 操作演示见视频。 | ||
+ | =vi编辑器7:文本查找和替换__百问网独家记忆方法 = | ||
+ | |||
+ | '''5.查找和替换''' | ||
+ | *查找 | ||
+ | /pattern //从光标开始处向文件尾搜索pattern,后按下n或N | ||
+ | |||
+ | 注意: | ||
+ | n在同一个方向重复上一次搜索命令 | ||
+ | N在反方向重复上一次搜索命令 | ||
+ | n(N)来源于next | ||
+ | |||
+ | 注意: | ||
+ | 在/pattern之前先跳到第一行则进行全文件搜索。 | ||
+ | |||
+ | * 替换 | ||
+ | :%s/p1/p2/g //将文件中所有的p1均用p2替换 | ||
+ | :%s/p1/p2/gc //替换时需要确认 | ||
+ | |||
+ | s :substitute替换 | ||
+ | g :global全局 | ||
+ | c :confirm确认 | ||
+ | 操作演示见视频。 | ||
+ | |||
+ | = vi编辑器8:vi难点回顾__实例演示2 = | ||
+ | |||
+ | '''vi的难点:''' | ||
+ | |||
+ | 1)vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 | ||
+ | 2) 当你不知道处于何种模式时,使用esc键返回到一般模式。 | ||
+ | 3) 再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。 | ||
+ | |||
+ | '''vi编辑器有三种模式及各模式常用操作''' | ||
+ | |||
+ | 1)一般模式(光标移动、复制、粘贴、删除、撤销) | ||
+ | <syntaxhighlight lang="c" > | ||
+ | hjkl、ngg/G、0、$、fx | ||
+ | yy/nyy | ||
+ | p | ||
+ | dd/ndd、x | ||
+ | u | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 2)编辑模式(编辑文本) | ||
+ | |||
+ | i a o | ||
+ | |||
+ | 3)命令行模式(查找和替换、保存退出文件) | ||
+ | <syntaxhighlight lang="c" > | ||
+ | /pattern、:%s/p1/p2/gc、:wq | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''举例:''' | ||
+ | |||
+ | # 用vi 新建一个文件test2.txt,然后输入”welaome to the world of vi.”,并保存。 | ||
+ | # 由于拼写错误,需要将其中的welaome中的a替换成c。 | ||
+ | # 在上步的基础上,复制第一行到第二行和第三行。 | ||
+ | #在上步的基础上,删除第三行的全部内容。 | ||
+ | # 在上步的基础上,搜索出现vi的地方。 | ||
+ | # 在上步的基础上,将字符串vi替换成vim。 | ||
+ | # 保存并退出。 | ||
+ | </div> | ||
+ | 操作演示见视频。 | ||
='''《《所有章节目录》》'''= | ='''《《所有章节目录》》'''= | ||
− | <categorytree mode=all background | + | <categorytree mode=all background*color:white;">ARM裸机加强版</categorytree> |
[[Category:ARM裸机加强版 ]] | [[Category:ARM裸机加强版 ]] |
2018年5月24日 (四) 10:16的最新版本
vi编辑器1:一个编辑器具备的功能
一个编辑器(例如Windows中的记事本)具备的功能:
- 打开文件、新建文件、保存文件
- 光标移动
- 文本编辑
- (多行间|多列间)复制、粘贴、删除
- 查找和替换
vi编辑器2:vi编辑器的环境设置
为了更方便的使用vi编辑器,我们需要先对vi编辑器进行一些配置。打开虚拟机终端,输入以下命令:
cd /etc/vim //进入vi配置文件目录
cp vimrc ~/.vimrc //复制配置文件到我们自己的家目录(这样配置文件只会对我们自己有效,不会影响其它用户)
cd ~ //进入到家目录
gedit .vimrc //使用gedit编辑器编辑.vimrc配置文件
在.vimrc中加入如下内容:
"关闭兼容功能
set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch
保存,退出。
vi编辑器3:vi编辑器的三种模式__模式间相互切换
vi编辑器有三种模式,各个模式侧重点不一样。
- 一般模式(光标移动、复制、粘贴、删除)
- 编辑模式(编辑文本)
- 命令行模式(查找和替换)
操作演示见视频。
注意:
- 当不知道处于何种模式时,按ESC键返回到一般模式。
- ccwq(write quit)
- i(insert)
vi编辑器4:文件的打开_新建_保存
1.打开文件、新建文件、保存文件
vi 文件名
- 如果文件存在,输入结束后,
:wq
保存并退出文件 - 如果文件不存在,输入结束后,
:wq
就可以新建并保存文件
在编辑完成时,返回一般模式,
- 输入
:w
则保存文件,如果已经保存文件,输入:q
则退出文件 - 直接输入
:wq
保存并退出 - 如果不想保存被修改的内容,则
:q!
强制退出。
2.进入编辑模式
在一般模式输入:
i
(在光标前开始插入文本)
a
(在光标后开始插入文本)
o
(在当前行之下新开一行,并到行首)
vi编辑器5:如何使vi快速移动光标__vi的难点
3.光标移动 在一般模式下,hjkl这四个按键就可以移动光标
h (左) j (下) k (上) l (右)
1)快速的定位到某一行:
- 文件头、文件尾、指定某一行
ngg //光标移至第n行的行首(n为数字,想要跳转的行), 1gg //就跳到第一行的行首,就是文件头 2gg //就跳到第二行的行首 G //转至文件结尾
注意:ngg和G是在一般模式
2)在某一行如何快速定位到某一列:
0 //(数字零)光标移至当前行行首 $ //光标移至当前行行末 fx //搜索当前行中下一个出现字母x的地方
注意:0、$、fx是在一般模式
vi的难点:
vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 当你不知道处于何种模式时,使用esc键返回到一般模式。 再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。
vi编辑器6:文本复制_粘贴_删除_撤销__百问网独家记忆方法
4.文本复制、粘贴、删除、撤销
- 复制
yy //复制当前行(y:yank(复制)) nyy //复制当前行及其后的n*1行(n是数字)
- 粘贴
p //粘贴(p:paste)
- 删除
dd //删除光标所在行(d:delete) ndd //删除当前行及其后的n*1行(n是数字) x //删除光标所在位置的字符
- 撤销
u //撤销上一步操作
注意:
yy/nyy/dd/ndd/x/u都是在一般模式。
操作演示见视频。
vi编辑器7:文本查找和替换__百问网独家记忆方法
5.查找和替换
- 查找
/pattern //从光标开始处向文件尾搜索pattern,后按下n或N
注意:
n在同一个方向重复上一次搜索命令 N在反方向重复上一次搜索命令 n(N)来源于next
注意: 在/pattern之前先跳到第一行则进行全文件搜索。
- 替换
:%s/p1/p2/g //将文件中所有的p1均用p2替换 :%s/p1/p2/gc //替换时需要确认
s :substitute替换 g :global全局 c :confirm确认
操作演示见视频。
vi编辑器8:vi难点回顾__实例演示2
vi的难点:
1)vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。 2) 当你不知道处于何种模式时,使用esc键返回到一般模式。 3) 再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。
vi编辑器有三种模式及各模式常用操作
1)一般模式(光标移动、复制、粘贴、删除、撤销)
hjkl、ngg/G、0、$、fx
yy/nyy
p
dd/ndd、x
u
2)编辑模式(编辑文本)
i a o
3)命令行模式(查找和替换、保存退出文件)
/pattern、:%s/p1/p2/gc、:wq
举例:
- 用vi 新建一个文件test2.txt,然后输入”welaome to the world of vi.”,并保存。
- 由于拼写错误,需要将其中的welaome中的a替换成c。
- 在上步的基础上,复制第一行到第二行和第三行。
- 在上步的基础上,删除第三行的全部内容。
- 在上步的基础上,搜索出现vi的地方。
- 在上步的基础上,将字符串vi替换成vim。
- 保存并退出。
操作演示见视频。
《《所有章节目录》》
▼ ARM裸机加强版