vim的基本操作

一、Vim的三种模式

Vim主要有三种操作模式:

1. 正常模式(Normal Mode)

  • 默认模式,用于执行大部分命令,如移动光标、删除、复制和粘贴文本等。
  • 常用导航键:h(左)、j(下)、k(上)、l(右),以及w(向前移动一个词)、b(向后移动一个词)等。

2. 插入模式(Insert Mode)

  • 在此模式下,可以输入文本。
  • 进入方式:在正常模式下按i(在光标前插入)、a(在光标后插入)、I(在当前行开头插入)、A(在当前行末尾插入)、o(在当前行下方插入新行并进入插入模式)、O(在当前行上方插入新行并进入插入模式)等。
  • 退出方式:按Esc键。

3. 命令行模式(Command-Line Mode)

  • 在此模式下,可以执行保存、退出、搜索、替换等命令。
  • 进入方式:在正常模式下按:(冒号)。
  • 常用命令::w(保存文件)、:q(退出Vim)、:wq:x(保存并退出)、/word(向下搜索单词)、?word(向上搜索单词)等。

二、常见操作

  1. 复制和粘贴

    • 复制整行:yy
    • 复制多行:nyy(n为行数)。
    • 粘贴:p(在光标下一行粘贴)、P(在光标上一行粘贴)。
  2. 删除

    • 删除字符:x
    • 删除整行:dd
    • 删除从光标位置到行末的文本:D
    • 删除指定行范围的文本::n1,n2d(n1到n2为行号)。
  3. 查找和替换

    • 查找:在正常模式下按/进入搜索模式,输入要搜索的文本,按Enter键开始搜索。使用n键移动到下一个匹配项,N键移动到上一个匹配项。
    • 替换::s/old/new/g(将当前行的第一个old替换为new,并全局替换该行的所有old)。:%s/old/new/g(在整个文件中进行全局替换)。
  4. 文件操作

    • 打开文件:vim filename
    • 保存文件::w(保存)、:wq:x(保存并退出)。
    • 退出Vim::q(如果文件已修改,会提示是否保存)。
  5. 多窗口操作

    • 水平分割窗口::sp [filename](打开一个新窗口,显示新文件或相同文件)。
    • 垂直分割窗口::vsp [filename](Vim 8.0及以上版本支持)。
    • 在窗口间切换:Ctrl + w + j(向下)、Ctrl + w + k(向上)、Ctrl + w + h(向左)、Ctrl + w + l(向右)。
  6. 屏幕滚动

    • 向上滚动半屏:Ctrl + u
    • 向下滚动半屏:Ctrl + d
    • 向上滚动一屏:Ctrl + b
    • 向下滚动一屏:Ctrl + f
  7. 设置和显示行号

    • 显示行号::set number(临时显示)、在~/.vimrc文件中添加set number(永久显示)。
    • 取消行号显示::set nonumber
  8. 撤销和重做

    • 撤销:u
    • 重做:Ctrl + r

上述只是其中的一部分常见操作。

相关推荐
量子炒饭大师4 小时前
【一天一个计算机知识】—— VScode 极速搭建:打造你的全能代码武器库
ide·vscode·编辑器
-嘟囔着拯救世界-4 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
gagaga....4 小时前
解决claude code for vscode对话返回 api error: 403 {“error“:{“type“:“forbidden“,“message“:.....的问题过程
ide·vscode·编辑器
hjx0510114 小时前
VSCode与Anaconda安装全攻略
ide·vscode·编辑器
小小管写大大码4 小时前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
嵩山小老虎4 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模5 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324475 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
一只自律的鸡7 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)7 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考