Linux中 vim 编辑器的使用

文章目录


思维导图

前言

首先,了解一下 什么是vim 编辑器?在不同的系统中,文本的管理也会不同;windos系统就不多说了,这里主要是讲linux文本的编辑,顾名思义,linux的文本是通过 "vim" 来编辑的。

当然,Linux的编辑器可不止这一种,其还有图形模式的gedit、kwrite、openoffice等。


提示:以下是本篇文章正文内容,下面案例可供参考

一、vim编辑器模式

vim 编辑器内设有3种模式,命令模式、编辑模式、末行模式。进入vim编辑器后,三种模式之间是可以相互切换的。

  1. 命令模式:
    打开 Vim 后,默认进入的就是命令模式。

可以执行操作:

(1)移动光标(上、下、左、右箭头或其他移动快捷键)

(2)删除、复制、粘贴文本 查找和替换文本

(3)使用 /和 ?对文件执行各种全局操作

(4)切换到其他模式

  1. 编辑模式:
    编辑模式也可以称为插入模式,输入i、a、o都可以从命令模式进入插入模式,退出插入模式时,只需要按键盘上的Esc键,退出即可,当然退出后是命令模式

从命令模式进入插入模式,可以通过按下以下任一键:

(1)i(在光标前插入)

(2)a(在光标后插入)

(3)o(在当前行下方新建一行并插入)

(4)O(在当前行上方新建一行并插入

  1. 末行模式:
    末行即是最后一行,从命令模式进入末行模式,通常通过按 : 键触发。在末行模式下,可以输入单行或多行的 Ex 命令.

执行诸如:

(1)文件保存及退出 (:w 写入文件,:q 退出,:wq 保存并退出,:q! 强制退出不保存)

(2)查找和替换:s/search/replace/

(3)设置选项:set nu 显示行号

(4)执行Shell命令:!cmd

(5)执行脚本或宏定义等高级操作。


二、简单的插入、保存和退出

在 /home 下新建一个 text 文本文件

c 复制代码
touch text.txt

使用 vim 编辑 text.txt

c 复制代码
vim text.txt 

进入后默认是命令行模式

要进入编辑模式(插入模式),需要输入开关命令,i、a、o ,进入后输入hello world,

最后保存内容,可按键盘Esc键退出编辑模式,然后输入:wq退出vim编辑器

这样text.txt中就保存这 "hello world" 这个内容


三、 命令模式下常用命令即其作用

1. 命令模式

|---------|---------------------|-----------------------------------------|
| | 命令 | 作用 |
| 光标移动 | h | 向左移动光标一个字符 |
| 光标移动 | j | 向下移动光标一个字符 |
| 光标移动 | k | 向上移动光标一个字符 |
| 光标移动 | l | 向右移动光标一个字符 |
| 光标移动 | 0 | (数字零):移动到行首 |
| 光标移动 | $ | 移动到行尾 |
| 光标移动 | gg | 移动到文件首行 |
| 光标移动 | G | 移动到文件最后一行 |
| 光标移动 | Ctrl + f / PageDown | 向前翻页 |
| 光标移动 | Ctrl + b / PageUp | 向后翻页 |
| 光标移动 | H | 移动到屏幕顶部 |
| 光标移动 | M | 移动到屏幕中部 |
| 光标移动 | L | 移动到屏幕底部 |
| 文本复制与粘贴 | yy | 复制当前行 |
| 文本复制与粘贴 | nyy | (如3yy):复制接下来的n行 |
| 文本复制与粘贴 | p | 在光标下一行粘贴 |
| 文本复制与粘贴 | P | 在光标上一行粘贴 |
| 文本复制与粘贴 | "xy | 复制到寄存器x(x可以换成任意字母) |
| 文本复制与粘贴 | "xp | 从寄存器x中粘贴 |
| 文本删除 | x | 删除光标处的单个字符 |
| 文本删除 | dw | 删除光标到单词结尾 |
| 文本删除 | dd | 删除当前行 |
| 文本删除 | D | 从光标位置删除至行尾 |
| 文本删除 | ngg | ngg然后d(比如3dd):删除接下来的n行 |
| 文本替换 | r + 字符 | 替换光标下的单个字符 |
| 文本替换 | R | 进入替换模式,不断输入字符会替换光标后的所有字符直到按下Esc键/td> |
| 文本修改 | cw | 更改从光标开始到单词结尾的文本 |
| 文本修改 | cc | 更改整行 |
| 文本修改 | C | 从光标位置更改到行尾 |
| 撤销与重做 | u | 撤销最后一次更改 |
| 撤销与重做 | Ctrl + r | 重做(即撤销的反操作) |
| 搜索与替换 | /pattern | 向前搜索给定的模式(pattern/td> |
| 搜索与替换 | ?pattern | 向后搜索给定的模式 |
| 搜索与替换 | :%s/old/new/gc | 在整个文件中搜索old并替换为new,每处替换询问确认(c表示confirm) |
| 文件操作 | :w | 保存当前文件 |
| 文件操作 | :q | 退出Vim(如果没有更改则直接退出,如果有未保存的更改则无法退出) |
| 文件操作 | :q! | 强制退出,不保存任何更改 |
| 文件操作 | :wq | 保存并退出 |

相关推荐
yhb122617 分钟前
网络编程select、poll、epoll函数的使用
linux
是jin奥33 分钟前
最新 FFmpeg 安装脚本:Linux x86_64
linux·运维·ffmpeg
2601_9679801137 分钟前
Python之wxPython模块的安装
linux·windows·python·wxpython·gui设计·1024程序员节
叼烟扛炮1 小时前
Linux 学习笔记(二十二):深入 Ext 文件系统(上)—— 磁盘、块与神秘的 inode
linux·笔记·学习
nlp研究牲1 小时前
Linux 常用命令速查手册:英文全称、中文释义、巧记方法与实战示例
linux·运维·php
小张成长计划..1 小时前
【Linux】28:封装线程,锁,条件变量,日志
linux
笨笨饿2 小时前
# 59_CSDN博客自动写流程文章
linux·jvm·stm32·单片机·嵌入式硬件·mcu·51单片机
味悲2 小时前
Nginx笔记
linux·运维·笔记·nginx
Escalating_xu2 小时前
【Linux 网络编程】传输层协议 UDP:从 8 字节首部到消息边界、缓冲区与 MTU
linux·网络·udp
Lucky_Turtle2 小时前
【Linux】ip命令,路由表相关配置
linux·运维·tcp/ip