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

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

相关推荐
老当益壮梁奶奶23 分钟前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
祖力551 小时前
进程间通信(IPC机制):消息队列与共享内存
linux·消息队列·共享内存·通信·进程间通信
Learn-Share_HY1 小时前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
祖力553 小时前
进程间通信(IPC机制):信号
linux·运维·服务器·进程·进程间通信·多任务·ipc
GKxx3 小时前
在 HarmonyOS 上给 QEMU 搭一个最小 aarch64 Linux guest(内核 + busybox initramfs)
linux·华为·qemu·harmonyos·鸿蒙·鸿蒙pc
treacle田4 小时前
达梦数据库-Linux DM主备集群动态增加节点-记录总结
linux·运维·数据库·达梦主备集群动态扩展
ARM|X86+FPGA工业主板厂家4 小时前
基于Jetson TX2的矿用巡检机器人
linux·运维·机器人
杨云龙UP4 小时前
Oracle 19c RMAN历史备份清理失败:CONTROL_FILE_RECORD_KEEP_TIME 问题排查与整改实战
linux·运维·网络·数据库·oracle·rac
Alphapeople4 小时前
moveit真机部署
linux·运维·服务器
Eminem895 小时前
2、k8s环境规划
linux·运维·kubernetes