Linux: vi 编辑器

2.3.7 vi 编辑器

编辑文件2种方法:1.windows方法:直接双击等,不再赘述。2.命令行使用 gedit

实例:

gedit 1.txt 打开并修改某个文件

ls -l /etc/environment 查看权限和位置。我们的权限是最低层权限,权限不能写,即不能修改。需要使用sudo临时改变权限来修改。

vi编译器:

linux没有图形界面,所以使用vi命令。vi 是一个命令,也是一个命令行下的编辑器,它有如下功能:

⚫ 打开文件、新建文件、保存文件

⚫ 光标移动

⚫ 文本编辑

⚫ (多行间|多列间)复制、粘贴、删除

⚫ 查找和替换

应用场景:在 Linux 系统中对文件做些简单修改时,使用 vi 命令的效率非 常高。并且在很多时候,比如现场调试时,并没有 GUI 形式的编辑工具,vi 是 唯一选择。

1. 模式

vi 编辑器有三种模式,各个模式侧重点不一样: a) 一般模式(光标移动、复制、粘贴、删除) b) 编辑模式(编辑文本) c) 命令行模式(查找和替换) vi 编辑器的三种模式间切换如下图所示:

 

⚫ 当不知道处于何种模式时,按 ESC 键返回到一般模式(连续按也可以)。

⚫ wq(write quit)

⚫ i(insert)

2. 文件的打开/新建/保存

打开文件、新建文件,命令如下(如果文件存在则打开文件,否则新建文件 并打开): $ vi 文件名 修改结束之后,输入“:” 进入命令行模式,再输入“wq”保存退出: :wq 保存并退出文件 注意:如果文件不存在,也需要输入“:wq”才可以保存新文件,否则不会新建 文件。在编辑完成时,返回一般模式,方法如下:

第1步 输入“:w”则保存文件,如果已经保存文件,输入“:q”则退出文件

第2步 直接输入“:wq”保存并退出

第3步 如果不想保存被修改的内容,则输入“:q!”强制退出。

3. 编辑文件

打开文件后,默认处于“一般模式”,这时可以输入以下字母:

i 在当前光标所在字符的前面,转为编辑模式。

I 在当前光标所在行的行首转换为编辑模式。

a 在当前光标所在字符的后面,转为编辑模式。

A 在光标所在行的行尾,转换为编辑模式。

o 在当前光标所在行的下方,新建一行,并转为编辑模式。

O 在当前光标所在行的上方,新建一行,并转为编辑模式。

4. 快速移动光标

在一般模式下,可以使用下面快捷键移动光标或是翻页:

h (或左方向键) 光标左移一个字符。

l (或右方向键) 光标右移一个字符。

j (或下方向键) 光标下移一行。

k (或上方向键) 光标上移一行。

nG 或 ngg 光标移动到第 n 行首。

n+ 光标下移 n 行。

n- 光标上移 n 行。

Ctrl + f 屏幕向下翻一页,相当于下一页。

Ctrl + b 屏幕向上翻一页,相当于上一页。

:set number 显示行号; :set nonumber隐藏行号。

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

⚫ ngg:光标移至第 n 行的行首(n 为数字,想要跳转的行),

⚫ 1gg:就跳到第一行的行首,就是文件头

⚫ 2gg:就跳到第二行的行首

⚫ G:转至文件结尾 ② 在某一行如何快速定位到某一列:

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

⚫ $:光标移至当前行行末

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

注意:当你不知道 vi 当前处于何种模式时,使用 esc 键返回到一般模式。

实例:

 

vi 2.txt 使用vi编译,创建并编译txt(此处直接使用:wq退出了,所有2.txt是0字节,无内容)

ls -l 查看

vi 2.txt 第二次修改,我加入了www.baidu.com www.zhongwen.com jiayouya等

cat 2.txt 显示2.txt里的内容。

5. 文本复制/粘贴/删除/撤销

在一般模式下,可以执行以下命令:(不推荐一般模式下的操作)

cc 删除整行,并且修改整行内容。

dd 删除该行,不提供修改功能。

ndd 删除当前行向下 n 行。(如删除改行下面的4行,4dd)

x 删除光标所在的字符。

X 删除光标前面的一个字符。

nyy 复制当前行及其下面 n 行。

p 粘贴最近复制的内容。

s 删除光标所在字符。

r 替换光标处字符。

a) 复制 yy //复制当前行(光标处开始) nyy //复制当前行及其后的 n-1 行(n 是行数)(光标处开始)

b) 粘贴 p //粘贴(光标处开始)

c) 删除 dd //删除光标所在行(d:delete) ndd //删除当前行及其后的 n-1 行(n 是数字) x //删除光标所在位置的字符

d) 撤销 u //撤销上一步操作

在编辑模式中:(推荐编辑模式下的操作)

backspace,删除光标所在处。

dw:删除整个单词(光标在首字母处)

D:删除光标之后这一行的所有内容。

o:增加新行,可输入新的内容

a) 复制 yy //复制当前行(光标处开始) nyy //复制当前行及其后的 n-1 行(n 是行数)(光标处开始)

b) 粘贴 p //粘贴(光标处开始)

6. 文本查找和替换

在一般模式下,可以执行以下命令。(先输入 /xxxx)

a) 查找

⚫ n:在同一个方向重复上一次搜索命令

⚫ N:在反方向重复上一次搜索命令

⚫ 在/pattern 之前先跳到第一行则进行全文件搜索。

b) 替换

⚫ :%s/p1/p2/g //将文件中所有的 p1 均用 p2 替换

⚫ :%s/p1/p2/gc //替换时需要确认

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为焦耳定律鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值