vim使用指南

🏝️专栏:计算机操作系统

🌅主页:猫咪-9527-CSDN博客

"欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。"

目录

[一、Vim 的基本概念](#一、Vim 的基本概念)

[1.Vim 的主要模式:](#1.Vim 的主要模式:)

1.1普通模式 (Normal Mode)

1.2插入模式 (Insert Mode)

1.3命令模式 (Command Mode)

[二、Vim 的基础操作](#二、Vim 的基础操作)

[1. 文件打开与关闭](#1. 文件打开与关闭)

[2. 普通模式操作](#2. 普通模式操作)

[2.1 光标移动](#2.1 光标移动)

2.1.1单字符移动

2.1.2括号匹配跳转

2.1.3屏幕滚动

2.1.4行内移动

2.1.5单词移动

[2.2 文本删除](#2.2 文本删除)

[2.3 文本复制与粘贴](#2.3 文本复制与粘贴)

[2.4 撤销与重做](#2.4 撤销与重做)

[2.5 替换](#2.5 替换)

[3. 插入模式操作](#3. 插入模式操作)

[4. 命令模式操作](#4. 命令模式操作)

[4.1 文件操作](#4.1 文件操作)

[4.2 搜索与替换](#4.2 搜索与替换)

4.2.1搜索

4.2.2替换

[5. 高级操作](#5. 高级操作)

[5.1 多文件编辑](#5.1 多文件编辑)

[5.2 分屏](#5.2 分屏)

三、vim的配置


一、Vim 的基本概念

Vim 是一种强大的文本编辑器,支持模式化编辑。它主要通过 模式切换快捷键操作 来高效地编辑文本。

1.Vim 的主要模式

1.1普通模式 (Normal Mode)

操作:默认模式,进入 Vim 时即处于该模式,按 Esc 回到普通模式

作用:用于文件浏览、文本导航、删除、复制粘贴等操作。

1.2插入模式 (Insert Mode)

作用:用于文本输入。

操作:在普通模式下按 ia 进入,按 Esc 退出。

1.3命令模式 (Command Mode)

作用:用于执行保存、退出、搜索、替换等命令。

操作:在普通模式下按 : 进入,命令执行后会返回普通模式。


二、Vim 的基础操作

1. 文件打开与关闭

打开文件

bash 复制代码
vim [文件名]

例如:

bash 复制代码
vim text.c

2. 普通模式操作

普通模式是 Vim 最核心的模式,用于导航、删除、复制粘贴等操作。

2.1 光标移动

2.1.1单字符移动
  • h:向左移动一个字符。
  • l:向右移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。

2.1.2括号匹配跳转
  • % :在匹配的括号间跳转(适用于 ()[]{} 等结构)。

2.1.3屏幕滚动
  • Ctrl + d:向下滚动半屏。
  • Ctrl + u:向上滚动半屏。
  • Ctrl + f:向下滚动一屏。
  • Ctrl + b:向上滚动一屏。
  • :n :跳到第 n 行(如输入 :10 跳到第 10 行)。
  • gg:跳到文件的开头。
  • G:跳到文件的结尾。

2.1.4行内移动
  • 0:移动到当前行的行首。
  • ^:移动到行首第一个非空字符。
  • $:移动到行尾。

2.1.5单词移动
  • w:跳到下一个单词的开头。
  • e:跳到当前单词的结尾,或下一个单词的结尾。
  • b:跳到前一个单词的开头。
2.2 文本删除
  • x:删除当前字符。
  • dd:删除当前行。
  • dw:删除从光标位置到单词末尾。
  • d$:删除从光标位置到行尾。
  • d0:删除从光标位置到行首。
  • dgg:删除从光标到文件开头。
  • dG:删除从光标到文件结尾。
2.3 文本复制与粘贴
  • yy:复制当前行。
  • y:复制选定区域(可与可视模式结合)。
  • yw:复制从光标到单词末尾。
  • y$:复制从光标到行尾。
  • p:粘贴到光标后。
  • P:粘贴到光标前。
2.4 撤销与重做
  • u:撤销上一步操作。
  • Ctrl + r:重做撤销操作。
2.5 替换
  • r+单个字母:用 单个字母 替换当前字符。
  • R:进入替换模式,覆盖原文字。

3. 插入模式操作

在普通模式下,按以下键进入插入模式:

  • i:从光标前进入插入模式。
  • I:从行首进入插入模式。
  • a:从光标后进入插入模式。
  • A:从行尾进入插入模式。
  • o:在当前行下插入新行并进入插入模式。
  • O:在当前行上插入新行并进入插入模式。
  • 退出插入模式:按 Esc

4. 命令模式操作

在普通模式下,按 : 进入命令模式,可执行以下命令:

4.1 文件操作
  • :w 保存文件。
  • :q 退出文件。
  • :wq 保存并退出。
  • :q! 强制退出。
  • :sav new_filename 另存为。
4.2 搜索与替换
4.2.1搜索
  • /text:向下搜索 text
  • ?text:向上搜索 text
  • n:跳到下一个匹配项。
  • N:跳到上一个匹配项。
4.2.2替换
  • :s/old/new/:将当前行的第一个 old 替换为 new
  • :s/old/new/g:将当前行的所有 old 替换为 new
  • :%s/old/new/g:将整个文件中的 old 替换为 new
  • :%s/old/new/gc:替换前逐一确认。

5. 高级操作

5.1 多文件编辑
  • 打开多个文件:

    复制代码
    vim file1 file2 file3
  • 文件切换:

    • :n:下一个文件。

    • :prev:上一个文件。

    • :ls:列出已打开的文件。

    • :b n:切换到编号为 n 的文件。

5.2 分屏
  • 垂直分屏::vsplit filename

  • 水平分屏::split filename

  • 分屏切换:

    • Ctrl + w + h:切换到左侧窗口。

    • Ctrl + w + l:切换到右侧窗口。

    • Ctrl + w + j:切换到下方窗口。

    • Ctrl + w + k:切换到上方窗口。


三、vim的配置

详细请看:vim的配置

编辑 ~/.vimrc 文件可自定义 Vim。例如:

复制代码
set number        " 显示行号
syntax on         " 开启语法高亮
set tabstop=4     " 设置 Tab 宽度为 4
set shiftwidth=4  " 设置自动缩进宽度为 4
set expandtab     " 用空格代替 Tab
相关推荐
xuanzdhc4 小时前
Linux 基础IO
linux·运维·服务器
愚润求学4 小时前
【Linux】网络基础
linux·运维·网络
bantinghy4 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志5 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手5 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
忘了ʷºᵇₐ9 天前
Linux系统能ping通ip但无法ping通域名的解决方法
linux·服务器·tcp/ip
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全