Vim小白学习指南

博客

Vim编辑器简介

Vim是一个非常高效的文本编辑器,最初源于Vi编辑器。它以其强大的文本编辑能力和快捷键而闻名于程序员和系统管理员。Vim的特别之处在于它提供了多种模式,每种模式都有不同的功能。

Vim的基本模式

1. 普通模式(Normal Mode)

这是Vim启动时的默认模式,用于浏览和编辑文本。在这个模式下,每个按键都是一个命令,而不是直接输入文字。

重要的普通模式命令:

  • h:Horizontal Move Left(水平向左移动)
  • j:Jump Down(向下跳转)
  • k:Keep Upward(向上保持/移动)
  • l:Linear Move Right(线性向右移动)
  • x:eXterminate Character(删除当前字符)
  • dd:Delete Destination Line(删除目标行)
  • yy:Yank Whole Line(复制整行)
  • p:Paste(粘贴)

2. 插入模式(Insert Mode)

这是你输入文本的模式。从普通模式进入插入模式的方法:

  • i:Insert Before(在当前位置前插入)
  • a:Append After(在当前位置后追加)
  • o:Open New Line(打开新行)
  • I:Insert at Line Start(行首插入)
  • A:Append at Line End(行尾追加)

Esc 键可以返回普通模式。

3. 可视模式(Visual Mode)

用于选择文本块。

  • v:Visual Character Mode(字符可视模式)
  • V:Visual Line Mode(行可视模式)
  • Ctrl+v:Visual Block Mode(块可视模式)

文件操作

打开和保存文件

  • :e filename:Edit File(编辑文件)
  • :w:Write(写入/保存)
  • :wq:Write and Quit(写入并退出)
  • :q!:Quit Forced(强制退出)

编辑技巧

文本编辑

  • u:Undo(撤销)
  • Ctrl+r:Redo(重做)
  • dw:Delete Word(删除单词)
  • cw:Change Word(修改单词)
  • :%s/old/new/g:Substitute Global(全局替换)

进阶操作

多文件操作

  • :split filename:Split Horizontal(水平分屏)
  • :vsplit filename:Vertical Split(垂直分屏)
  • Ctrl+w:Window Switch(窗口切换)

学习建议

  1. 从基础命令开始
  2. 经常使用,培养肌肉记忆
  3. 利用 vimtutor 命令进行交互式学习
  4. 不要试图一次性记住所有命令
  5. 逐步积累,慢慢熟悉

练习小技巧

为了帮助你更好地学习,我建议你:

  • 每天花15-30分钟练习Vim
  • 尝试用Vim编辑一些简单的文本文件
  • 记住几个常用命令,逐步扩展
  • 不要害怕犯错,Vim有很多撤销功能
相关推荐
sxstj16 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
天疆说16 小时前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
mounter62517 小时前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
刘某的Cloud17 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方17 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
郭涤生17 小时前
rootfs 详解与裁剪优化记录
linux·c++·bsp
铁锚18 小时前
解决Ubuntu执行sudo时 unable to resolve host 报错问题
linux·数据库·ubuntu
二宝哥18 小时前
CentOS 7.9 离线安装 Nginx 并配置openssl1.1.1
linux·nginx·centos
程序员老陆18 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
IT摆渡者19 小时前
VM EXSI7.0存储硬盘故障处理
大数据·linux·github