redballoon 发表于 2023-4-18 21:43

(Linux学习笔记) - vi/vim编辑器的使用

本帖最后由 redballoon 于 2023-4-18 21:50 编辑

# Linux学习笔记(四)

## vi/vim编辑器

vi/vim编辑器就是文本编辑器,主要用于编写和查看文本文件。

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

vim是从vi的基础上发展出来的,相比较vi,它在代码的补全编译和错误跳转等方面的功能更丰富。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

## vim的简单使用

```shell
格式: vim /目录/文件名
```

关于文件路径的两种情况:

+ 目标文件**已存在**,则打开此文件并编辑
+ 目标文件**不存在**,则新建空文件并编辑

在vim中存在三种模式:



+ 命令模式,直接打开后进入的界面
+ 编辑模式,按下i/insert键进入并进行编辑修改
+ 底行命令模式,用于保存退出
+ w,只保存
+ wq, 保存并退出cx
+ q!, 强制不保存并退出

命令模式------`inster/i`------> 编辑模式

命令模式 <------`Esc`------ 编辑模式

命令模式 ------`:`------>底行命令模式

命令模式 <------`:`------底行命令模式

编辑模式在切换模式时需要先退出当前模式,也就是按 **`Esc`** 键

输入命令:vim demo.txt,打开这个已有文件,按i/insert来进入编辑模式 。



输入命令 cat demo.txt 查看文件内容。



## vim的高级应用

### 在命令模式下的相关操作:

+ 移动光标:Home/End键,上下左右键
+ 行间跳转:到全文第一行(gg)、到全文最后一行(shift + g)、指定行(6 shift + g)
+ 复制、粘贴:
+ 在当前光标复制一行(yy),在当前光标往下复制多行(6yy)
+ 在当前光标前粘贴(shift + p)
+ 在当前光标后粘贴(p)
+ 删除:
+ 删除单个字符(x/delete)
+ 从当前光标位置删除到行首(d^),从当前光标位置删除到行尾(d$)
+ 删除一行(dd),删除多行(6dd)
+ 查找关键字:搜索(/keyword),上下翻找(n / shift + n)
+ 撤销操作:
+ 撤销最近的一次操作(u),类似ps软件ctrl + z
+ 取消前一次撤销的操作(ctrl + l),类似ps软件的 ctrl + y

### 在编辑模式下的相关操作:

在从命令模式进入到编辑模式时的五种快捷方式:

+ C大写(shift + c 或 cc) : 可以删除在光标后的所有字符并进入编辑模式。
+ i : 在光标所在字符前进入编辑模式
+ a : 在光标所在字符后进入编辑模式
+ s : 删除光标所在字符并进入编辑模式
+ o : 跳转在光标所在行的下一行并进入编辑模式

### 在底行模式下的相关操作:
在命令模式下直接输入`:`相关操作的命令,敲下回车即可。

1. 保存和退出:

+ 保存当前文件(:w)
+ 强制退出编辑,不会保存(:q!)
+ 保存并退出(:wq 或 :x )

2. 字符串替换:
   + 替换当前光标所在行第一个'old'(:s/old/new)
   + 替换当前行所有的'old'(:s/old/new/g)
   + 替换【n-m】行所有的'old'(:n,m s/old/new/g)
   + 替换全文所有的'old'(:% s/old/nw/g)

3. 开关控制参数:
   + 显示/关闭行号,(:set nu 和 :set nonu)
   + 开启/关闭自动缩进,(:set ai 和 :set noai)

4. 读入其他文件的内容(:r /文件路径)




> 建议自己动手试试这些快捷键和命令,熟能生巧嘛。

sanant 发表于 2023-4-18 22:07

学习了,自己太菜,看见vim害怕,总是不适应在终端编辑,喜欢pluma。?

redballoon 发表于 2023-4-18 22:53

sanant 发表于 2023-4-18 22:07
学习了,自己太菜,看见vim害怕,总是不适应在终端编辑,喜欢pluma。?

这些命令每天走一遍,两三天就记得差不多了

kaisen868 发表于 2023-4-19 00:22

感谢分享基础教程。

li000yu 发表于 2023-4-19 00:58

正好学习了,说不定以后真能用到

fengdaokanhai 发表于 2023-4-19 01:07

sanant 发表于 2023-4-18 22:07
学习了,自己太菜,看见vim害怕,总是不适应在终端编辑,喜欢pluma。?

可以配置vimrc,配置插件、快捷键,多哦用几次就好了

apull 发表于 2023-4-19 01:28

学习了,vim要都用才记得住命令,好多命令不常用,时间一长就忘记了。

WuYule 发表于 2023-4-19 08:31

应该重点强调一下怎么退出{:17_1050:}

tlf 发表于 2023-4-19 08:40

redballoon 发表于 2023-4-19 08:43

WuYule 发表于 2023-4-19 08:31
应该重点强调一下怎么退出

在编辑模式下按esc键,退出到命令模式,第一张图很好理解
页: [1] 2
查看完整版本: (Linux学习笔记) - vi/vim编辑器的使用