Vim 常用指令

Vim 是一款功能强大且高度可定制的文本编辑器。其高效的编辑方式使其成为许多程序员和系统管理员的首选。

1. Vim 的基本模式

Vim 具有以下几种基本模式:

  • 正常模式(Normal mode):用于浏览和编辑文本(按 ESC 进入)
  • 插入模式(Insert mode):用于插入文本(按 i 进入)
  • 命令模式(Command mode):用于输入命令(按 : 进入)
  • 可视模式(Visual mode):用于选择文本(按 v 进入)

2. 基本操作命令

移动光标
  • h:向左移动
  • j:向下移动
  • k:向上移动
  • l:向右移动
  • w:移动到下一个单词的开头
  • b:移动到上一个单词的开头
  • 0:移动到行首
  • $:移动到行尾
进入插入模式
  • i:在光标前插入
  • I:在行首插入
  • a:在光标后插入
  • A:在行尾插入
  • o:在当前行下方插入新行
  • O:在当前行上方插入新行
退出插入模式
  • ESC:返回正常模式

3. 文本编辑命令

删除文本
  • x:删除光标处的字符
  • dd:删除当前行
  • dw:删除光标后的一个单词
  • d$:删除光标到行尾的所有内容
复制和粘贴
  • yy:复制当前行
  • yw:复制一个单词
  • y$:复制光标到行尾的内容
  • p:在光标后粘贴
撤销和重做
  • u:撤销
  • Ctrl + r:重做

4. 搜索与替换

搜索
  • /text :搜索模式 text,按 n 跳到下一个匹配,按 N 跳到上一个匹配
  • ?text :向上搜索模式 text,按 n 跳到上一个匹配,按 N 跳到下一个匹配
替换
  • :s/old/new/g :替换当前行的所有 oldnew
  • :%s/old/new/g :替换整个文件的所有 oldnew
  • :%s/old/new/gc :替换整个文件的所有 oldnew,并在每次替换前询问确认

5. 可视模式

进入可视模式
  • v:进入字符可视模式
  • V:进入行可视模式
  • Ctrl + v:进入块可视模式
可视模式操作
  • d:删除选中的文本
  • y:复制选中的文本
  • >:增加缩进
  • <:减少缩进

6. 文件操作

打开和保存文件
  • :e filename :打开文件 filename
  • :w:保存文件
  • :w filename:另存为文件 filename
  • :q:退出 Vim
  • :wq:保存并退出
  • :q!:不保存强制退出
分屏操作
  • :split:sp:水平分屏
  • :vsplit:vsp:垂直分屏
  • Ctrl + w, w:在分屏之间切换
  • Ctrl + w, q:关闭当前分屏

7. Vim 配置和插件

配置 Vim

Vim 的配置文件是 ~/.vimrc。一些常用配置示例:

bash 复制代码
set number              " 显示行号
syntax on               " 启用语法高亮
set tabstop=4           " 制表符宽度为4
set shiftwidth=4        " 自动缩进宽度为4
set expandtab           " 将制表符转换为空格
set autoindent          " 自动缩进
set smartindent         " 智能缩进
安装插件

可以使用插件管理器(如 Vim-Plug)来管理 Vim 插件。

~/.vimrc 中添加以下内容来安装 Vim-Plug:

bash 复制代码
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'          " 文件浏览器插件
Plug 'junegunn/fzf.vim'            " 模糊搜索插件
Plug 'tpope/vim-fugitive'          " Git 集成插件
call plug#end()

然后在 Vim 中运行 :PlugInstall 来安装插件。

相关推荐
chinesegf10 分钟前
DNS 验证验证SSL证书
linux·服务器·网络
试试勇气1 小时前
Linux学习笔记(十七)--线程概念
linux·笔记·学习
LXY_BUAA1 小时前
《嵌入式操作系统》_高级字符设备驱动_20260316
linux·运维·服务器·驱动开发
优美的赫蒂2 小时前
香橙派5plus单独编译内核安装时的报错记录
linux·rk3588·orangepi
·醉挽清风·2 小时前
学习笔记—Linux—文件系统
linux·笔记·学习
IMPYLH3 小时前
Linux 的 chmod 命令
linux·运维·服务器
迷茫青年3 小时前
带你进入linux的世界,linux基础知识讲解
linux
艾莉丝努力练剑3 小时前
【MYSQL】MYSQL学习的一大重点:数据库基础
linux·运维·服务器·数据库·c++·学习·mysql
会喷火才能叫火山3 小时前
本地搭建AI相关步骤
linux·运维·ai·centos
齐齐大魔王3 小时前
虚拟机网络无法连接
linux·网络·c++·python·ubuntu