“第004课 vi编辑器”的版本间的差异
Baiwen root(讨论 | 贡献) |
Baiwen root(讨论 | 贡献) |
||
第55行: | 第55行: | ||
# i(insert) | # 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的难点: | ||
+ | |||
+ | 1)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。 | ||
+ | # 在上步的基础上,复制第一行到第二行和第三行。 | ||
+ | #)在上步的基础上,删除第三行的全部内容。 | ||
+ | # 5)在上步的基础上,搜索出现vi的地方。 | ||
+ | # 6)在上步的基础上,将字符串vi替换成vim。 | ||
+ | # 7)保存并退出。 | ||
+ | |||
+ | 操作演示见视频。 | ||
='''《《所有章节目录》》'''= | ='''《《所有章节目录》》'''= | ||
<categorytree mode=all background-color:white;">ARM裸机加强版</categorytree> | <categorytree mode=all background-color:white;">ARM裸机加强版</categorytree> | ||
[[Category:ARM裸机加强版 ]] | [[Category:ARM裸机加强版 ]] |
2018年1月16日 (二) 16: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的难点:
1)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。
- 在上步的基础上,复制第一行到第二行和第三行。
- )在上步的基础上,删除第三行的全部内容。
- 5)在上步的基础上,搜索出现vi的地方。
- 6)在上步的基础上,将字符串vi替换成vim。
- 7)保存并退出。
操作演示见视频。