计算机工具基础(五)——Vim

Vim

MIT《Missing in CS Class(2020):Class 3》笔记

注:<>^在本文中指Ctrl,如<c>^cCtrl-c

Vim是终端环境中常用的纯文本编辑器。Vim的默认配置文件位于~/.vimrc

模式

Vim有如下5种模式:

  • 常规模式(Normal):进入Vim后的默认模式,用于阅读文件。以Esc自其他模式中退至此模式
  • 插入模式(Insert):用于插入文本,以i进入
  • 替换模式(Replace):用于替换文本,以r进入
  • 可视模式(Visual):用于选中文本,与在其他编辑器中按Shift+方向键选中文本等效。分为普通可视模式(以字符为单位,以v进入)、行可视模式(以行为单位,以V进入)、块可视模式(纵向选择,以<v>进入)。
  • 命令模式(Command):用于执行某些命令,以:进入

会话、缓存、标签、窗口

  • 会话(Session):保存了vim的完整工作状态,包括缓存、窗口、标签、选项等。
  • 缓存(Buffer):缓存是加载进内存中的文件,每个文件对应一个缓存。关闭窗口不会清除缓存。
  • 标签(Tab):标签负责组织窗口,每个标签包含独立的窗口布局。类似于桌面操作系统的一个桌面。Vim默认打开一个标签页,仅包含一个窗口。
  • 窗口(Window):标签页内的视图,显示缓存内容。一个标签可分割出多个窗口。

命令

以下命令适用于命令模式,不要与常规模式中的操作混淆。

  • q退出所在窗口(但不退出缓存)

    qa:退出所有窗口(但不退出缓存)
    q!:强制退出所在窗口(在缓存未写入文件的情形下)

  • w保存缓存内容至文件

  • wq保存缓存内容并退出窗口

  • e file_name:在此窗口覆盖的打开文件file_name

  • help command:查阅command的帮助手册。注意若为命令,需为:command

  • set options:用于设置选项

  • sp file_name水平分割。将file_name加载进缓存,在同一标签页内,在此窗口的下方分离出新窗口,显示内容为file_name。若不指定file_name,则分离当前窗口所显示的缓存。

    vsp file_name垂直分割。将file_name加载进缓存,在同一标签页内,在此窗口的右方分离出新窗口,显示内容为file_name。若不指定file_name,则分离当前窗口所显示的缓存。

  • tabnew file_name:将file_name加载进缓存,新建一个tab,显示内容为file_name

  • tabn:切换到下一个(next)标签
    tabp:切换到上一个(previous)标签

快捷键

常规模式

  • G:跳到文尾 gg:跳到文首
  • H:左 J:下 K:上 L:右
  • w:word,跳至下个词首 b:begin,跳至上个词首 e:end,跳至下个词尾
  • 0:移动至行首 $:移动至行尾 ^:移动至本行首个非空字符
  • <f>:向上翻一页 <b>:向下翻一页
  • <u>:向上翻半页 <d>:向下翻半页
  • /pattern向后匹配模式串pattern ?pattern向前匹配字符串pattern
  • n:当前匹配方向的下个匹配 N:当前匹配方向的上个匹配
  • u:撤销 <r>:重做
  • y:复制(默认复制当前光标字符,可通过进入可视模式选中内容) p:粘贴

命令模式

  • <w>+方向键:切换窗口

格式化代码

常规模式下:gg=G

posted @   椰萝Yerosius  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示