Linux 基础入门操作 前言 VIM的基本操作 2

1 VIM的背景介绍

Vi 的诞生与1976年,Vim 的前身是 Vi(Visual Editor),由 Bill Joy 在 BSD Unix 系统上开发,作为 ed(行编辑器)的改进版本,提供全屏编辑功能,成为 Unix/Linux 系统的标准文本编辑器。

Vim 的诞生1991年,Vi 虽然强大,但功能有限。1991年,Bram Moolenaar 基于 Vi 开发了 Vim(Vi IMproved),增加了多级撤销、语法高亮、跨平台支持等特性,并逐步成为最流行的 Vi 增强版本。

目前开源与社区发展,Vim 是开源软件(遵循 GPL 协议),拥有活跃的开发者社区,至今仍在持续更新(最新稳定版为 Vim 9.0,2022年发布)。Vim 是终端环境下的高效编辑器,凭借其极简设计和强大的可扩展性,在开发者中经久不衰。尽管学习成本较高,但熟练使用后编辑速度远超常规编辑器,尤其适合服务器维护和键盘流编程。

它的特点如下:

  1. 模态编辑(Modal Editing):

    Vim 的核心设计是模式分离(普通模式、插入模式、可视模式等),减少手指移动,提升编辑效率。

  2. 键盘优先:

    几乎所有操作均可通过键盘完成,避免依赖鼠标,适合快速文本处理。

  3. 可扩展性:

    支持插件(通过 .vimrc 配置)和脚本(Vimscript/Lua),可定制成 IDE(如搭配 LSP)

1.1 VIM的用途

Vim 是一款功能强大的文本编辑器,学习曲线较陡,但掌握基本操作后效率会大幅提升。它用途如下:

  1. 系统管理员与开发者:

默认预装在大多数 Linux/Unix 和 macOS 系统中(vi 通常是 Vim 的别名)。常用于配置文件编辑(如 /etc/nginx/nginx.conf)、远程服务器调试(通过 SSH)。

  1. 程序员:

高效编写代码(支持语法高亮、自动补全插件如 coc.nvim)。与版本控制工具(Git)结合(如 fugitive.vim)。

  1. 写作与日志:

纯文本编辑(Markdown、LaTeX 支持),适合无干扰写作。

1.2 VIM的安装

在ubuntu 环境下面的安装

bash 复制代码
sudo apt update
sudo apt install vim          # 安装基础版
sudo apt install vim-gtk3    # 安装图形化版本(GVim)

1.3 其它常用的编辑器

(1) Nano

特点:简单易用,适合新手,快捷键提示在屏幕底部。

bash 复制代码
sudo apt install nano    # Debian/Ubuntu
sudo dnf install nano   # RHEL/Fedora
sudo pacman -S nano     # Arch Linux

(2)Micro

特点:现代化终端编辑器,支持鼠标操作、语法高亮、多光标。

bash 复制代码
curl https://getmic.ro | bash  # 一键安装
sudo mv micro /usr/local/bin  # 添加到 PATH

1.4 总结

  1. 服务器/终端:Vim、Nano、Micro

  2. 桌面环境:VS Code、Kate、Sublime Text

  3. 极客/可定制:Emacs、Neovim、Helix

2 VIM 常见指令

VIM 一共有四种模式。

  1. 普通模式(Normal Mode):默认模式,用于导航和操作文本。从其他模式按 Esc 返回普通模式。

  2. 插入模式(Insert Mode):输入文本。 从普通模式按 i(光标前插入)、a(光标后插入)、o(下一行插入)等进入。

  3. 可视模式(Visual Mode):选择文本。 按 v(字符选择)、V(行选择)、Ctrl+v(块选择)。

  4. 命令模式(Command Mode):执行命令(如保存、退出)。从普通模式按 : 进入。

2.1 普通模式-- 移动光标

  1. 基本移动:也可以使用箭头来移动

h(左)、j(下)、k(上)、l(右)。

w(下一个单词开头)、b(上一个单词开头)。

0(行首)、^(行首非空格)、$(行尾)。

  1. 翻页:

Ctrl+f(下一页)、Ctrl+b(上一页)。

  1. 跳转:

gg(文件开头)、G(文件结尾)、行号+G(跳转到指定行)。

2.2 编辑模式

  1. 删除:

x(删除当前字符)或者del、dw(删除单词)、dd(删除整行)。

  1. 复制/粘贴:

yy(复制行)、p(粘贴到光标后)、P(粘贴到光标前)。

  1. 撤销/重做:

u(撤销)、Ctrl+r(重做)。

  1. 替换:

r(替换单个字符)、cw(替换单词)、:%s/old/new/g(全局替换)。

2.3 命令模式

  1. 保存、退出
    :w 保存文件。

:q 退出(未修改时)。

:q! 强制退出(不保存修改)。

:wq 或 :x 保存并退出。

:e 文件名 打开其他文件。

  1. 搜索:

/关键词 向下搜索,?关键词 向上搜索。

按 n(下一个匹配)、N(上一个匹配)。

  1. 替换:

😒/old/new 替换当前行第一个匹配。

😒/old/new/g 替换当前行所有匹配。

:%s/old/new/g 全局替换。

2.4 可视模式

选择文本后进行编辑(删除、复制、缩进等)。

2.5 配置

  1. vim ~/.vimrc 打开文件
  2. 添加以下语句
bash 复制代码
set number          " 显示行号
syntax on           " 语法高亮
set tabstop=4       " Tab缩进4空格
set expandtab       " Tab转空格
相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式