Linux_一篇详解Vim编辑器

一、Vim 文本编辑器简介

Vim 文本编辑器是由 vi 演变而来的增强型文本编辑器,以其使用便捷、功能强大的特点,成为了 Linux 众多发行版的默认文本编辑器。

1. Vi 编辑器

vi(Visual Editor)是 Linux 与 Unix 系统中最基本的文本编辑器,类似于 Windows 系统中的记事本(Notepad)。

2. Vi 与 Vim 编辑器的区别

Vim(Vi Improved)是 vi 编辑器的升级版,具有更多实用功能,使用体验更佳。vi 的大部分命令在 Vim 中均可兼容使用。

3. Vim 的四种工作模式

Vim 编辑器包含以下四种模式:

  • 命令模式(Command Mode):默认进入模式,可进行光标移动、复制、粘贴、删除等操作。
  • 编辑模式(Insert Mode):可对文件内容进行直接编辑。
  • 末行模式(Last Line Mode):用于执行查找、替换、保存、退出等命令。
  • 可视化模式(Visual Mode):用于选中多行或多列内容,进行块操作。

四种模式之间可通过特定按键切换,掌握模式切换是高效使用 Vim 的关键。

二、Vim 使用详解

1. 使用 Vim 打开文件

vim 文件名

例如:

vim 1.txt

若文件不存在,将自动创建一个新文件。保存并退出后,文件会正式生成。

2. 保存文件并退出

  • 按两次 ESC 回到命令模式;
  • 输入 :wq 并回车,保存并退出。

3. 不保存退出

  • 回到命令模式;
  • 输入 :q! 强制退出,不保存更改。

4. 命令模式常用操作

4.1 进入命令模式

  • Vim 启动后默认进入命令模式;
  • 若处于其他模式,按 ESC 键两次返回命令模式。

4.2 光标移动操作

操作快捷键
移动至文件首行gg
移动至文件末行G
向上翻页Ctrl + bPgUp
向下翻页Ctrl + fPgDn
向上翻半屏Ctrl + u
向下翻半屏Ctrl + d
定位到第 N 行N + G150G

小技巧:快速定位到错误或关键代码段非常有用!

4.3 复制操作

  • 复制当前行:yy
  • 向下复制 N 行:Nyy 例如:5yy
  • 粘贴:p(在当前行下方粘贴)或 P(上方粘贴)

4.4 删除/剪切操作

  • 删除当前行:dd
  • 删除 N 行:Ndd 例如 3dd
  • 删除光标处到行尾:D

注意:dd 实为剪切命令,若不粘贴即等同于删除。

4.5 撤销与恢复操作

  • 撤销:u(Undo)
  • 恢复:Ctrl + r(Redo)

5. 末行模式操作(Last Line Mode)

5.1 进入与退出方式

  • 进入:按 :/(查找)
  • 退出:按 ESC 或连按 ESC 两次 或 删除输入内容

5.2 常用命令一览

功能命令
保存:w
另存为:w 路径:w /root/text.txt
退出:q
保存并退出:wq
强制退出(不保存):q!
查找关键词/关键词
替换当前行第一个匹配项:s/旧/新/
替换当前行所有匹配项:s/旧/新/g
替换全文每行第一个匹配项:%s/旧/新/
替换全文所有匹配项:%s/旧/新/g
显示行号:set nu
取消行号:set nonu

5.3 粘贴模式(解决缩进错乱)

  • 启用粘贴模式::set paste
  • 关闭粘贴模式::set nopaste

粘贴外部代码时推荐启用 paste 模式,避免自动缩进造成格式混乱。

6. 编辑模式操作

6.1 进入编辑模式

  • i:在光标前插入(Insert)
  • a:在光标后插入(Append)

需在命令模式下使用。

6.2 退出编辑模式

  • 直接按 ESC 回到命令模式

7. 可视化模式(Visual Mode)

7.1 如何进入

模式快捷键
可视块Ctrl + v
可视行V
可视字符v
  • 使用方向键选择范围,按 y 复制,p 粘贴,按 ESC 退出可视模式。

7.2 多行注释(添加 #

  1. ESC 返回命令模式,输入 gg 到第一行
  2. Ctrl + v 进入可视块
  3. 使用方向键选择多行
  4. Shift + i 输入 #
  5. 连按两次 ESC,完成注释

7.3 多行去除注释(删除 #

  1. ESC → gg
  2. Ctrl + v 进入可视块
  3. 选择多行
  4. Delete 键删除 #

8. Vim 编辑器实用功能

8.1 代码语法高亮(Syntax Highlight)

  • 开启高亮::syntax on
  • 关闭高亮::syntax off

示例:

vim index.php

输入以下内容:

<?php
    echo 'hello world';
?>

8.2 异常退出处理

异常退出可能生成 .swp 交换文件,常见原因如终端断开、电源中断等。

  • 解决方法:
    • 在 Vim 中按 D 删除交换文件;
    • 或在终端中使用:
    rm .文件名.swp
    

每个异常文件命名格式为 .原文件名.swp

8.3 正常退出 Vim 总结:

操作命令
保存退出:wq
不保存退出:q!
保存:w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值