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 来安装插件。

相关推荐
天空'之城7 小时前
Linux 系统编程 22:五种 IO 模型全解
linux
小张成长计划..9 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器
悦儿遥遥雨112 小时前
PXE + Kickstart 无人值守批量部署系统
linux·javascript·nginx
Imagine Miracle13 小时前
【WSL】让WSL2后台持久运行不自动关闭的解决方案
linux·windows·wsl
兔C13 小时前
Linux 命令行入门学习资料 day_2
linux·运维·服务器
eggcode13 小时前
Linux命令基础与操作技巧
linux
二宝哥14 小时前
VMware Workstation 实战:CentOS 7.9 安装、桥接网络配置与克隆管理详解
linux·centos·vmware
AutumnWind042015 小时前
【4种打开Ubuntu(WSL)的方法】
linux·ubuntu
辞旧 lekkk16 小时前
【Qt系统相关】鼠标事件
linux·开发语言·qt·学习·计算机外设·萌新
是摆烂第一名呀16 小时前
【rk3506】U-Boot串口时钟未配置,导致串口彻底失效
linux·arm开发·驱动开发·嵌入式硬件