[note]MIT-the missing semester —— Vim学习笔记

Vim

始于1976年的Vi编辑器

持续使用,使用编辑器超过20h,可以达到之前一样的开发效率,并且在以后的coding中愈发感受到它的魅力

Vim是基于命令行当前最流行的编辑器

有多个操作模式

Vim的哲学

Vim 是一个多模态编辑 器,Vim避免了使用鼠标(因为太慢了),甚至避免了使用键盘上下左右键,因为那样会导致过多的手指的移动。

这样的Vim使用的哲学使得vim成为了一个可以跟上你的思维模式的编辑器,因为你可以专心于coding而不是反复得切换鼠标键盘,或者是将你的finger移动到各种各样得地方上去。

一些解释

在课程中以及vim的一些教程中常常会出现一些符号,这代表不同的组合键,有以下几点。

  1. 裸键(bare key) 当我们说 i 时,就是单单指按下i

  2. 组合键 ,拿ctrl+V举例,有三种方式,分别是^V ,Ctrl-V,<C-V>

编辑模式

当你打开vim时,默认打开的是普通模式(normal)。

在插入模式中按下的大多数键将进入文本缓冲区,而在普通模式中则不会

从普通模式按下i进入插入模式,再按下<Esc>回到普通模式

从普通模式按下r进入替换模式,再按下<Esc>回到普通模式

从普通模式按下v进入可视化模式,再按下<Esc>回到普通模式

从普通模式按下:进入命令模式,再按下<Esc>回到普通模式

  • 普通模式(normal):移动光标、阅读内容、从文件到文件的跳转

  • 插入模式(insert):插入文本

  • 替换模式(replace):覆盖文本而不是插入文本

  • 可视化模式(visual v一般、<S-V>行、<C-V>块):选中文本块

  • 命令模式(command):用于执行命令

在这里插入图片描述

由于在使用Vim时会很多次用到ESC键,而它在键盘的角落,所以推荐将大小写锁定键绑定为ESC键(或者用原生的ctrl+[

vim支持参数输入,例如 vim text.md将会打开该目录下的text文件

操作方法

插入文本

切换到插入模式,插入任何你想要的文本

命令行

正常模式键入:打开命令模式,下面是常见命令。

  • :q 退出当前窗口(quit),只有只剩一个窗口才退出vim

    • :qa 退出所有窗口(quit all)
  • :w 保存(write)

  • :wq 保存并退出

  • :e {filename} 打开要编辑的文件

  • :ls 显示打开的缓存

  • :help {标题} 打开帮助文档

    • :help :w 打开:w的帮助文档

    • :help w 打开w 移动的帮助文档

缓存,标签页,窗口

Vim 会维护一系列打开的文件,称为 “缓存”。一个 Vim 会话包含一系列标签页,每个标签页包含 一系列窗口(分隔面板)。每个窗口显示一个缓存。跟网页浏览器等其他你熟悉的程序不一样的是, 缓存和窗口不是一一对应的关系;窗口只是视角。一个缓存可以在多个窗口打开,甚至在同一 个标签页内的多个窗口打开。这个功能其实很好用,比如在查看同一个文件的不同部分的时候。

Vim 默认打开一个标签页,这个标签也包含一个窗口。

普通模式

vim界面本身是一种程序语言,键入命令本身就是一种操作,这些操作使得vim的编辑十分高效

移动

  • 基本移动:hjkl 左下上右

  • 词的移动:w 下一个词,b 词初,e 词尾

  • 行的移动: 0 行初,^ 第一个非空格字符,$ 行尾

  • 翻页: ^U向上翻页(up) ,^D 向下翻页(down)

  • 屏幕: H 屏幕首行(Highest),M屏幕中间(middle),L 屏幕底部(lowest)

  • 文件: gg文件头,G文件尾

  • 查找: f{字符}向后查找这行字符(find),F{字符}向前,t{字符}向后跳转到该字符光标前一位(to),T{字符} 向前跳转到光标后一位

  • 搜索: /{正则表达式}, n / N 用于导航匹配

  • 杂项: % (找到配对,比如括号或者 /* */ 之类的注释对)

  • 行数: :{行数}<CR> 或者 {行数}G ({行数} 为行数)

编辑

  • O 在上方 o 在下方插入行,并转到insert模式

  • u 撤销(undo)

  • ^r 重做(redo)

  • d{移动命令} 删除 {移动命令}

    • 例如,dw 删除词,d$ 删除到行尾,d0 删除到行头,dd删除当前行。
  • c{移动命令} 改变 {移动命令},相当于d命令然后转到插入模式,cc删除当前行并转到插入模式

  • x删除光标的字符(相当于dl

  • s替换字符并转到插入模式(相当于xi

  • r{字符}替换光标字符为指定字符

  • y 复制 "yank"是vim中复制的专用术语 ;yy 复制当前行;同样可以搭配移动命令,如yw

  • p 粘贴 (paste)

  • v 进入可视化模式,并进行操作

    • 选中文字,进行复制、删除、改变等操作

    • V进入行可视化,选择则是每行

    • ^v进入块可视化,选择是矩形形状的

  • ~对选择的文本将大小写反转(先再可视化模式选择文本)

  • . 重复上一次操作的命令

计数

在操作前加上数字,会执行操作若干次

EX.

  • 3w 向后移动三个词

  • 5j向下移动5行

  • 7dw 删除后面7个词

修饰语

用修饰语改变名词的意思,修饰语有i 内部的,a 周围/包括

  • ci( 改变当前括号内的内容

  • ci[ 改变当前方括号内的内容

  • da'删除一个单引号字符串,包括周围的单引号

多窗口

  • :sp / :vsp 来分割窗口

  • 同一个缓存可以在多个窗口中显示

  • 50
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值