Linux中 vim 常用命令大全详细讲解

文章目录

  • 前言
    • [一、Vim 基本操作 🕹️](#一、Vim 基本操作 🕹️)
      • [1.1 打开或创建](#1.1 打开或创建)
      • [1.2 退出编辑](#1.2 退出编辑)
      • [1.3 模式切换](#1.3 模式切换)
    • [二、Vim 光标移动命令 ↕️](#二、Vim 光标移动命令 ↕️)
      • [2.1 基本移动](#2.1 基本移动)
      • [2.2 行内移动](#2.2 行内移动)
      • [2.3. 单词移动](#2.3. 单词移动)
      • [2.4. 页面移动](#2.4. 页面移动)
      • [2.5. 行跳转](#2.5. 行跳转)
    • [三、Vim 文本编辑命令 📋](#三、Vim 文本编辑命令 📋)
      • [3.1 插入和删除](#3.1 插入和删除)
      • [3.2 复制、剪切与粘贴](#3.2 复制、剪切与粘贴)
      • [3.3 替换与修改](#3.3 替换与修改)
    • [四、Vim 查找与替换命令 🔎](#四、Vim 查找与替换命令 🔎)
      • [4.1 查找](#4.1 查找)
      • [4.1 替换](#4.1 替换)
    • [五、Vim 多窗口与多文件操作 🧮](#五、Vim 多窗口与多文件操作 🧮)
      • [5.1 多窗口操作](#5.1 多窗口操作)
      • [5.2 多文件操作](#5.2 多文件操作)
    • [六、Vim 配置与插件 🛠️](#六、Vim 配置与插件 🛠️)
      • [6.1 Vim 配置文件](#6.1 Vim 配置文件)
      • [6.2 常用插件](#6.2 常用插件)
    • [七、总结 📒](#七、总结 📒)

前言

🎯用不习惯 vim 或者 vi 的可以用 Xftp 以文本形式打开可视化操作 ,也可以 sz 指令将文件下载到本地编辑再用 rz 指令回传。总之条条大路通罗马,当然了,学会了 vim 指令操作文本会更爽。

vim 是一个高度可配置的 文本编辑器,广泛用于 Unix 和类 Unix 系统(如 LinuxmacOS )。它是一个 Vi 编辑器的增强版本,提供了更多的功能和更好的用户体验。vim 支持多种模式,包括 普通模式插入模式命令行模式,每种模式都有不同的用途和操作方式。

💯直接上图吧,玩转这张图都不用往下看了。。。


一、Vim 基本操作 🕹️

1.1 打开或创建

bash 复制代码
vim 路径/文件名

如果文件不存在,Vim 会新建一个文件。

1.2 退出编辑

  • 正常退出并保存::wqZZ
  • 仅退出(不保存)::q
  • 强制退出(不保存)::q!
  • 仅保存文件::w

1.3 模式切换

  1. 正常模式 (Normal Mode):Vim 启动时默认的模式,可以执行各种命令,如移动光标、删除文本等。按 Esc 键进入。
  2. 插入模式 (Insert Mode):可以输入文本。按 i 进入,按 Esc 返回正常模式。
  3. 可视模式 (Visual Mode):用于选中文本块。按 v 进入,可视模式下可使用方向键选择文本。

常用模式切换命令:

  • i:进入插入模式,在当前光标位置前插入。
  • a:进入插入模式,在当前光标位置后插入。
  • o:在当前行下方打开新行并进入插入模式。
  • v:进入可视模式。
  • V:进入可视行模式(选中整行)。
  • Ctrl + v:进入可视块模式(列选择)。

二、Vim 光标移动命令 ↕️

2.1 基本移动

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

2.2 行内移动

  • 0:移动到行首。
  • ^:移动到本行第一个非空白字符。
  • $:移动到行尾。

2.3. 单词移动

  • w:移动到下一个单词的开头。
  • e:移动到当前或下一个单词的末尾。
  • b:移动到上一个单词的开头。

2.4. 页面移动

  • Ctrl + u:向上滚动半页。
  • Ctrl + d:向下滚动半页。
  • Ctrl + b:向上滚动一整页。
  • Ctrl + f:向下滚动一整页。
  • G:移动到文件末尾。
  • gg:移动到文件开头。

2.5. 行跳转

  • :n:跳转到第 n 行。
  • nG:跳转到第 n 行。

三、Vim 文本编辑命令 📋

3.1 插入和删除

  • i:进入插入模式。
  • a:在当前光标后插入文本。
  • o:在当前行下方新开一行并进入插入模式。
  • dd:删除当前行。
  • D:删除当前光标到行尾的所有内容。
  • x:删除当前光标所在的字符。
  • dw:删除当前光标到单词末尾的内容。
  • u:撤销上一步操作。
  • Ctrl + r:重做上一步撤销的操作。

3.2 复制、剪切与粘贴

  • yy:复制当前行。
  • yw:复制一个单词。
  • p:粘贴到光标后。
  • P:粘贴到光标前。
  • dd:剪切当前行。
  • daw:剪切一个单词。

3.3 替换与修改

  • r:替换当前字符。
  • R:进入替换模式,从光标开始的字符将被逐个替换,直到退出替换模式为止。
  • cw:修改当前单词(删除当前单词并进入插入模式)。
  • c$:修改从光标位置到行尾的内容。

四、Vim 查找与替换命令 🔎

4.1 查找

  • /pattern:向下查找 pattern(正则表达式)。
  • ?pattern:向上查找 pattern。
  • n:在查找模式下,查找下一个匹配项。
  • N:在查找模式下,查找上一个匹配项。
  • *:查找光标所在单词的下一个匹配项。
  • #:查找光标所在单词的上一个匹配项。

4.1 替换

  • :s/old/new:替换当前行的第一个匹配的 old 为 new。
  • :s/old/new/g:替换当前行的所有 old 为 new。
  • :%s/old/new/g:替换整个文件中的所有 old 为 new。
  • :%s/old/new/gc:替换整个文件中的所有 old 为 new,每次替换前提示确认。

五、Vim 多窗口与多文件操作 🧮

5.1 多窗口操作

  • :split 或 :sp:水平分割窗口。
  • :vsplit 或 :vsp:垂直分割窗口。
  • Ctrl + w, w:在分割窗口之间切换。
  • Ctrl + w, h/j/k/l:分别向左、下、上、右切换窗口。
  • :q:关闭当前窗口。

5.2 多文件操作

  • :e filename:打开指定文件。
  • :bnext 或 :bn:切换到下一个缓冲区(文件)。
  • :bprev 或 :bp:切换到上一个缓冲区(文件)。
  • :ls:列出所有缓冲区(打开的文件)。
  • :bN:切换到缓冲区 N。

六、Vim 配置与插件 🛠️

6.1 Vim 配置文件

~/.vimrc 文件:Vim 的配置文件,用户可以在其中添加个性化配置,如设置行号、语法高亮等。

bash 复制代码
set number       " 显示行号
syntax on        " 启用语法高亮
set tabstop=4    " 设置 tab 键为 4 个空格
set expandtab    " 用空格替代 tab
set shiftwidth=4 " 设置自动缩进为 4 个空格

6.2 常用插件

Vim 提供丰富的插件支持,以下是几款常用的插件:
Vundle:插件管理器,用于安装和管理 Vim 插件。
NERDTree:目录树插件,方便文件导航。
ctrlp.vim:模糊查找文件插件,快速打开文件。
vim-airline:状态栏增强插件,提供更多的状态栏信息。
YouCompleteMe:代码补全插件,支持多种编程语言。

七、总结 📒

还有很多用法就不列举了,很少用到,再说了,看多了眼都花了。

相关推荐
开心工作室_kaic5 分钟前
springboot430校园食堂订餐系统boot(论文+源码)_kaic
运维·服务器·数据库·vue.js·旅游
silver6878 分钟前
linux中top命令详解
linux
碧水澜庭15 分钟前
k8s中用filebeat文件如何收集不同service的日志
运维·云原生·kubernetes
XY.散人38 分钟前
初识Linux · 编写生产消费模型(1)
linux·运维·服务器
南桥几晴秋1 小时前
【Linux网络编程】传输协议UDP
linux·服务器·网络·c++·udp·传输层
小技与小术1 小时前
firewalld详解
linux·运维·网络
安年CJ1 小时前
计算机操作系统虚拟化与云计算教学指南
linux·运维·服务器·数据结构·数据库·云计算
fragrans1 小时前
介绍一款docker ui 管理工具
运维·docker·容器·docker ui
热爱生活的五柒1 小时前
docker的简单基本操作
运维·docker·容器
A-刘晨阳2 小时前
【Linux】Nginx一个域名https&一个地址配置多个项目【项目实战】
linux·运维·nginx·http·https