跳转至

Vim

约 955 个字 预计阅读时间 3 分钟

1

最强Vim新手指南,手把手教你打造只属于自己的代码编辑器!_哔哩哔哩_bilibili

三个主要(常用)模式:

  • 普通模式(默认模式)
  • 输入模式
  • 命令行模式

普通模式进入输入模式,按 i 键,从输入模式退出,按 Esc

其他进入输入模式的方式

(9条消息) vim 文本编辑器的输入模式 i、a、o、 s、 I、 A、 O、 S 区别_vim s是什么_云山小小子的博客-CSDN博客

普通模式进入命令行模式,按 : 键,退出命令行模式,按 Esc

命令行模式常用命令:

  • 正常退出:
  • :q

  • :quit

( qquit 的缩写)

  • 保存:
  • :w

保存并退出:

  • :wq
  • 查看帮助:
  • :h

  • :help

例如,查看退出的选项:

:h :q

普通模式常用操作:

  • 移动
  • 输入 数字键 + H J K L,向对应方向移动x格/行,如 4+J 向下移动4行
  • W (对应word) 移动到下一个单词的首字母,B (beginning) 移动到本单词(或上一个单词)的首字母
  • F (find) + 一个字母,跳转到下一个最近的对应字母,如 F+T 跳转到下一个最近的 t
  • Ctrl+U (PgUp) Ctrl+D (PgDn),向上向下翻页
  • G+G 移动到文本开头,Shift+G 移动到文本末尾
  • 编辑
  • Y 键复制(yank,拉),可和其他组合,如:
    • Y+A+W (yank + all + word)复制光标所在的整个单词
    • Y+WY+B (含当前光标字母)复制到当前单词的尾/首字母
    • Y+5+HY+5+L (含当前光标字母)向左/右复制5格的文本,如果不输数字键则只复制当前格的字母
    • Y+3+JY+3+K (含当前行)向下/上复制3行的文本,如果不输数字键则只复制当前行
    • Y+F+H 复制到下一个最近的 h 之间的文本
  • P 键(paste)在光标右侧粘贴
  • U 键(undo)撤销
  • C 键(change)修改,选中部分内容删除(剪切)并进入输入模式,选中方法与 复制 操作类似:
    • C+A+W (change all word) 删除当前单词并进入输入模式,......

2

可参考的使用手册

oeasy-vim-tutorial/markdown/01-49420-存活下来.sy.md at main · overmind1980/oeasy-vim-tutorial (github.com)

3

Ctrl+C 也可以从插入模式退出到普通模式

另存为命令为 :sav[eas] {文件名}

:w 命令的使用技巧:

  • 打开已有文件进行编辑,直接输入 :w 命令等于保存
  • 如果在命令行中直接输入 vim 进行编辑(打开一个临时文件进行编辑), :w 可以有两个用处:
    1. :w {文件名} 将输入内容存储为某个新文件(如果为已有文件会提示已存在,如果要强行覆盖可以加上 ! )
    2. :w >> {文件名} 将输入内容追加到已存在文件的末尾( >> 表示追加)

Shift+IShift+A 分别为在行首/末插入,OShift+O 分别为在当前行之下/上插入新行并输入

. 为重复最新的操作,UCtrl+R 分别和撤销/恢复撤销

插入模式下按 Ctrl+O 键可以进入 插入普通模式 ,进行一次普通的命令然后回到插入模式

Shift+4Shift+6 分别为跳到行末/首

E 键是到单词尾字母,Shift 键 加 W E B 可以跳大词(只按空格换行算词)

FShift+F 分别为向后/前查找字母,查找后按 , 可以反方向查找/移动

默认配置下 vim 中 ; 键是直接映射 : 键的(即如果要进入命令行可以直接按 ; 而不需要按 Shift )

Shift+=- 分别为跳到下/上一行首

两个使用技巧

  1. G+G+=+Shift+G 可以全文自动(调整)缩进
  2. 数字 加 Shift+G 可以跳转到指定行号(对于报错非常有用)

最后更新: 2023-12-16
创建日期: 2023-07-18