欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在 Linux 中使用 vim 编辑器及命令详解

最编程 2024-07-04 11:40:07
...

文章目录

  • Vim编辑器的使用
    • Vi简述
    • vim的三种模式
      • 概述
      • 转换方式
    • 文本编辑
      • 1. 命令行模式功能键
      • 2.底行模式功能键
    • 上机任务:vi编辑器

Vim编辑器的使用

Vi简述

  • Linux 提供了一系列功能强大的编辑器,如 vi 和 Emacs 。 vi 是 linux 系统的第一个全屏幕交互式编辑器。vim是vi的强化版本,完全兼容vi操作。

  • vim的一般使用方法:

    # vim filepath //如果直接输入vim则打开一个新文件
    
  • vim 有 3 种工作模式,分别是命令行模式、编辑模式、最底行模式。

vim的三种模式

概述

  • 命令行模式:最初进入vi之后的模式,该模式下可以移动光标进行浏览,整行删除,但无法输入文字。
  • 编辑模式:只有在该模式下,用户才能进行文字的编辑输入。
  • 最底行模式:该模式下,光标位于屏幕底行,用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号。

转换方式

在这里插入图片描述

文本编辑

1. 命令行模式功能键

命令 功能
yy 复制当前光标所在行
[n]yy n为数字,复制当前光标开始的n行
p 粘贴复制的内容到光标所在行之下
P 粘贴复制的内容到光标所在行之上
dd 删除当前光标所在行
[n]dd 删除当前光标所在行开始的n行
cc 剪切当前光标所在行
[n]cc 剪切当前光标开始的n行
G 光标移动到文件尾
u 取消前一个动作
. 重复前一个动作
x 删除光标当前的一个字符
ZZ 保存并退出

2.底行模式功能键

命令 功能
:w 保存
:q 退出 vi( 系统会提示保存修改 )
:q! 强行退出(对修改不做保存)
:wq 保存后退出
:w [filepath] 另存文件到 filepath
:set nu 显示行号
:n 定位到第n行
:set nonu 取消行号
: n1,n2 co n3 将n1到n2行所有文本复制到n3行之下
: n1,n2 m n3 将n1到n2行所有文本移动到n3行之下
: n1,n2 d 删除n1到n2行的所有文本
/name 查找光标之后的名为 “name” 的字符串
如果查找下一个,按“n”即可
在查找时,忽略关键字的大小可用\c选项
: s/str1/str2/ 将当前行的第一个字符串str1替换为字符串str2
: %s/str1/str2/g 将所有行的字符串str1替换为字符串str2

上机任务:vi编辑器

使用vi/vim编辑器进行文档处理:

用vi打开一个新文档,输入以下内容:

Hooray! It’s snowing! It’s time to make a SnowMan.

He puts a big snowball on top.

James runs out. He makes a big pile of snow.

He adds a scarf and a hat.

He adds an orange for the nose.

He adds coal for the eyes and buttons.

In the evening, James opens the door.

What does he see? The SnowMan is moving!

James invites him in.

The SnowMan has never been inside a house.

He says hello to the cat. He plays with paper towels.

完成以下操作:

注意:以下行号均表示当前行号。

(1)显示行号。

: set number //可简化为 set nu

在这里插入图片描述
(2)保存到文件/root/snowman.txt,不要退出。

: w /root/snowman.txt

(3)查找单词“the”(忽略大小写)

: /the\c //从光标位置开始查找

在这里插入图片描述

(4)把第2段和第3段换行。

  1. 光标移到第二段,cc
  2. 光标移到第三段,p
  3. 删除空白行,d

(5)将第4段的内容复制到文档的最后。

  1. 光标移到第四段,yy

  2. 光标移到文件尾,G

  3. 粘贴到光标下方,p

在这里插入图片描述

(6)删除第5段的内容。

  1. 光标移到第五段

  2. 删除光标所在行,dd

在这里插入图片描述

(7)恢复被删除的一段内容。

恢复之前动作,u

在这里插入图片描述

(8)查找所有的“SnowMan”单词,并全部改为“snowman”。

: %s/SnowMan/snowman/g

在这里插入图片描述
(9)保存修改,退出vi。

: wq

推荐阅读