vim的使用

1. 相关前置知识

常见的编辑器一般分类两大类

  • 记事本、word、vscode... 这些属于是所见即所得的
  • vim、nano、emacs... 这些是属于命令式的

练习vim达到熟练程度的时间会更长,但同时上限也会更高

Vim总共有三种模式

  • 普通模式(命令模式)
  • 编辑模式(插入模式)
  • 视图模式

普通模式 → 编辑模式

  • i(insert):光标前插入
  • a(append):光标后插入
  • I(shift + i):行首插入
  • A:行尾插入
  • o:从下面插入新行
  • shift + o:从上面插入新行

普通模式 → 视图模式

  • v
  • V:进入行选择模式(行优先)
  • Ctrl + v:进入块选择模式(列优先)

编辑/视图模式 → 普通模式

  • ESC

退出vim

  • :q:未修改内容退出
  • :q!:修改了内容,强制退出(不修改内容)
  • :wq:保存内容并退出

2. 命令模式

:以下命令中,当n为1时,可以省去n,例如d1d,可直接dd。

1. 移动
  • 方向

    • h:←
    • j:↓
    • k:↑
    • l:→
  • 首尾

    • ^:行首
    • $:行尾
    • H(head):页首
    • L(last):页末
    • gg:开始
    • G:结尾
  • 翻页

    • Ctrl + f(forward):下一页
    • Ctrl + b(backward):上一页
    • Ctrl + d(down):下半页
    • Ctrl + u(up):上半页
  • 行跳转

    • n-:向上移动n行
    • n-:向下移动n行
    • :[n]:去到第n行
    • nG:去到第n行
  • 列跳转

    • nw(word):向后跳到第n个单词的开头
    • nb(back):向前跳到第n个单词的开头
    • ne(end):向后跳到第n个单词的结尾
    • nge(go end):向前跳到第n个单词的结尾
    • -:跳到上一行开头
    • +:跳到下一行开头
    • 0(数字零):跳到本行第1个位置
2. 剪切
  • 删除字符
    • nx:从光标处起,向后删除n个字符(包括光标处字符)
    • nX:从光标向前删除n个字符(不包括光标处字符)
  • 删除单词
    • dnw:删除n个单词(删除后光标在下一个单词词首位置)
    • dne:删除n个单词(删除后光标在被删除的单词词尾的位置)
  • 删除行
    • dnd:删除n行
    • d$:从光标处删除到行尾(包括光标处字符)
    • d^:从光标前删除到行首(不包括光标处字符)
    • dt字符(delete to 字符):从光标处删除到某个字符的位置(不包括该字符)
  • 粘贴
    • p
3. 复制
  • 复制行
    • yny:复制n行
    • :a,by:复制第a行~第b行
4. 查找
  • /pattern(正则表达式)
    • n:下一个匹配项
    • N:上一个匹配项
5. 替换
  • :s/pattern/替换项(默认只能替换光标所在行第一个匹配项)

    • :s/pattern/替换项/g(替换光标所在行所有匹配项)
    • :a,bs/pattern/替换项/g(替换第a行~第b行的所有匹配项)
    • :%s/pattern/替换项/g(全文替换)

    补充

    在大文件中,例如上千万行的文件中,全文替换替换可使用sed流编辑器来替换,速度更快。

6. 其他
  • u:撤销
  • Ctrl + r:取消撤销

3. 视图模式

1. 代码对齐
  1. 按下shift+v进入视图模式
  2. 选中需要代码对齐的行
  3. 按下等于号=
2. 多行注释
  1. 按下ctrl+v以block进入视图模式
  2. 按大写字母I,输入注释符//(此时只有第一行会被修改,不要慌)
  3. 按esc键就会全部注释掉了
3. 多行复制
  1. 按下shift+v进入视图模式
  2. 选中需要复制的行
  3. 按下y
4. 多行删除
  1. 进入需要的视图模式
  2. 选中删除的内容
  3. 按下d

4. 多窗口

1. 多窗口
  • :new [文件名]:水平多窗口
  • :vnew [文件名]:垂直多窗口
  • :sp [文件名](split):水平多窗口
  • :vsp [文件名]:垂直多窗口
  • ctrl+w,w:使光标在多个窗口来回切换
2. 多标签
  • :tabnew [文件名]:在新标签里打开
  • gt:跳到下一个标签
  • gT:跳到上一个标签

5. 其他

1. 锁定和解锁vim窗口
  • ctrl + s:锁定
  • ctrl + q:解除锁定
2. 对比两个文件的内容
  • vimdiff file1 file2
  • ]c:跳到下一个差异处
  • [c:跳到上一个差异处
  • :qa:全部退出
相关推荐
小贺儿开发16 小时前
Unity VideoPlayer 播放控制器
unity·编辑器·播放器·视频·工具·videoplayer·互动
Kingairy21 小时前
vi(vim)常用命令汇总
linux·编辑器·vim
互联网散修1 天前
鸿蒙实战:图片编辑器——添加文字的UI适配与键盘避让
ui·编辑器·harmonyos
网易Y3编辑器1 天前
AI全流程创游丨网易Y3编辑器Full Mode与Patch Mode双模式架构深度解析
人工智能·架构·编辑器
互联网散修1 天前
鸿蒙实战:图片编辑器——涂鸦、撤回与保存功能
编辑器·harmonyos·涂鸦·图片编辑
棒棒的唐2 天前
Vscode Continue插件 集成 本地llama.cpp大模型实现代码补全
ide·vscode·编辑器
万粉变现经纪人2 天前
2026最新Windows11系统CMD安装Claude Code 快速接入DeepSeek V4 Pro在VSCode编程工具中使用保姆级入门教程指南
linux·运维·ide·windows·vscode·macos·编辑器
老约家的可汗2 天前
Linux中yum、vim和gcc
linux·运维·vim
Smoothcloud润云3 天前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text
特立独行的猫a3 天前
鸿蒙 PC 移植记:将微软的 `edit` 轻量级终端编辑器带到 OpenHarmony
microsoft·rust·编辑器·harmonyos·鸿蒙pc·edit