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有很多撤销功能
相关推荐
无垠的广袤40 分钟前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网
414a1 小时前
LingJing(灵境):Linux Amd64局域网设备访问靶机教程
linux·安全·web安全·网络安全·lingjing·灵境
tianyuanwo1 小时前
多平台容器化RPM构建流水线全指南:Fedora、CentOS与Anolis OS
linux·运维·容器·centos·rpm
BD_Marathon1 小时前
【Zookeeper】CAP理论——CAP介绍
linux·分布式·zookeeper
艾莉丝努力练剑2 小时前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
赖small强2 小时前
【Linux 网络基础】HTTPS 技术文档
linux·网络·https·tls
skywalk81632 小时前
FreeBSD系统安装VSCode Server(未成功,后来是在FreeBSD系统里的Linux虚拟子系统里安装启动了Code Server)
ide·vscode·编辑器·freebsd
写代码的学渣2 小时前
ubuntu 22.04 新装的系统 xshell 连不上
linux·运维·ubuntu
序属秋秋秋3 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
云计算练习生4 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git