原文链接1:https://www.cnblogs.com/xiaoko/p/16910393.html
原文链接2:https://www.rstk.cn/news/281981.html?action=onClick
编辑技巧:

1 vi +[num] file 打开文件,并将光标置于第n行首

2 vi + file 打开文件,并将光标置于最后一行首

3 vi +/pattern file 打开文件,并将光标置于第一个与pattern匹配的字符串

4 vi +?pattern file 编辑工作从匹配pattern的最后一行开始

5 vi -r file (-r 即recover,恢复)

4.4 写入文件

常用命令:

1 :w   将数据写入到原始文件

2 :w file 将数据写入到指定文件

3 :w >> file 将数据追加到指定文件

4 :r [filename] 在编辑的数据中,读取另一个档案的数据,亦将档案内容加到游标所在行的后面

5 :n1,n2 w [filename] 将n1到n2的内容存储成另一个档案。

4.5 退出文件、停止vi

常用命令:

1 :q 退出文件

2 :q! 不保存数据,强制退出

3 :wq 保存退出文件

4 shift+ZZ 停止vi

5 ZQ 无条件退出

插入

输入模式:

操作键 说明
i 在当前光标位置前插入数据
a 在当前光标位置后插入数据
I 在当前行开头处插入数据
A 在当前行末尾处插入数据
o 在当前行下面出入一行
O 在当前行上面插入一行
4.6 vi与vim命令行常用选项

-b 以二进制模式编辑文件

-c command 启动后立即运行给定的ex命令

-d 以diff模式运行

-o[num] 启动vim时打开num个窗口

-O[num] 启动vim时打开num个水平排列

-r 恢复模式

-R 于只读模式中编辑文件

-t tag 编辑包含tag的文件,并将光标置于tag位置

-T type 设置可选终端类型


                                                                     第二节

1.vi编辑器的使用
一个编辑器具备的功能
1)打开文件、新建文件、保存文件
2)光标移动
3)文本编辑
4)(多行间|多列间)复制、粘贴、删除
5)查找和替换

1.1 vi编辑器的配置
进入/etc/vim路径 cd /etc/vim
查看当前路径文件 ls

复制vimrc配置文件到家目录为.vimrc文件 cp ~/.vimrc
查看复制后的文件 ls -l ~/.vimrc

切换到家目录 cd ~
使用gedit来编辑.vimrc文件 gedit .vimrc

准备需要配置的内容
"关闭兼容功能 set nocompatible "显示行号 set number "编辑时 backspace 键设置为2个空格 set backspace=2 "编辑时 tab 键设置为4个空格 set tabstop=4 "设置自动对齐为4个空格 set shiftwidth=4 "搜索时不区分大小写 set ignorecase "搜索时高亮显示 set hlsearch
将内容 粘贴到 .vimrc文件尾端

1.2 vi编辑器的三种基本模式
1)一般模式(光标移动、复制、粘贴、删除)
2)编辑模式(编辑文本)
3)命令行模式(查找和替换)

注意: 1)当不知道处于何种模式时,按ESC键返回到一般模式。 2)wq(write quit) 3)i(insert)
2.vi编辑器常用命令汇总
2.1 打开文件、新建文件、保存文件
vi + 文件名 vi 1.txt
如果文件存在,输入结束后,:wq保存并退出文件
如果文件不存在,输入结束后,:wq就可以新建并保存文件

在编辑完成时,返回一般模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2)直接输入:wq保存并退出
3)如果不想保存被修改的内容,则:q!强制退出。

2.2 进入编辑模式
i(在光标前开始插入文本)
a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)

2.3 光标移动
在一般模式下,hjkl这四个按键就可以移动光标
h(左)
j(下)
k(上)
l(右)

a. 快速的定位到某一行:
文件头、文件尾、指定某一行

ngg光标移至第n行的行首(n为数字)

如1gg就跳到第一行的行首,就是文件头
如2gg就跳到第二行的行首
G转至文件结尾

注意:ngg和G是在一般模式
b. 在某一行如何快速定位到某一列

0(数字零)光标移至当前行行首

$光标移至当前行行末

fx搜索当前行中下一个出现字母x的地方

注意:0、$、fx是在一般模式
vi的难点:
vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。
当你不知道处于何种模式时,使用esc键返回到一般模式。
再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。
2.4 文本复制、粘贴、删除、撤销
yy 复制当前行 (y:yank(复制))
nyy复制当前行及其后的n-1行(n是数字)

使用P键来粘贴(p:paste)
dd 删除光标所在行(d:delete)

ndd 删除当前行及其后的n-1行(n是数字)

按u键来撤销上一步操作

x删除光标所在位置的字符

注意: yy/nyy/dd/ndd/x/u都是在一般模式。
2.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确认

2.6 总结
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

2.7 练习与操作
1)用vi 新建一个文件test2.txt,然后输入”welaome to the world of vi.”,并保存。

2)由于拼写错误,需要将其中的welaome中的a替换成c。

3)在上步的基础上,复制第一行到第二行和第三行。

4)在上步的基础上,删除第三行的全部内容。

5)在上步的基础上,搜索出现vi的地方。

6)在上步的基础上,将字符串vi替换成vim。

7)保存并退出。
在这里插入图片描述
更正:
x删除光标所在位置的字符
nx删除光标所在位置和光标后的n-1个字符

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐