type
status
date
slug
summary
tags
category
icon
password
📌
原文:
开头的话直接激发了我学习的动力,become one of those people 确实是一件很酷的事情!
  1. Understanding Vim’s philosophy, which you’ll never forget
  1. Surpassing your skill in your current editor
  1. Becoming one of those people

搜索

  • /{string}: 搜索字符串
  • t:跳转到目标字符之前一个位置
  • f: 跳转到目标字符
  • ;: 移动到下一个符合搜索条件的字符
  • ,: 移动到上一个符合条件的字符

光标移动

行的移动

  • h:左移
  • l:右移
  • j:下移
  • k:上移
  • :line-number:移动到目标行号

行内移动

  • 0:移动到行首
  • $:移动到行尾
  • ^:移动到该行中第一个非空白字符
  • t”:跳转到下一个引号的前一个字符
  • f”:跳转到下一个引号的位置

按照单词移动

  • w:向前移动一个单词的距离
  • b:向后移动一个单词的距离
  • e:移动到这个单词的最后一个字符
  • W:向后移动一个大字,包括符号
  • B:向前移动一个大字,包括符号

段落移动

  • ):向后移动一句话
  • }:向后移动一段

屏幕移动

  • H:移动到当前屏幕顶部
  • M:移动到当前屏幕中间
  • L:移动当前屏幕底部
  • gg:移动到当前文件顶部
  • G:移动到当前文件底部
  • ctrl+o:返回到上次的位置
  • ctrl+i:返回到上次导航的位置(类似于撤销undo?)
    • 原文:jump to your previous navigation location
  • ctrl+D:向下半页
  • ctrl+U:向上半页
  • ctrl+B:上移一页
  • ctrl+F:下移一页

更改/插入文本

  • i:光标位置插入
  • a:光标下一个位置插入
  • I:行首插入
  • A:行尾插入
  • o:下一行新建一行插入
  • O:上一行新建一行插入
  • r:替换一个字符(但是不进入insert模式)
  • R:替换一个字符并进入insert模式
  • C:删除当前行并插入(更改所在的行)
  • ~:更改大小写

删除

  • x:删除光标下的字符
  • X:删除光标前的字符
  • dd:删除一整行
  • D:从光标位置删除到行尾
  • dt+字符:从光标处删除到该行第一个目标字符之前(不包括这个字符
  • J:将当前行和下一行连接起来(删除这一行到下一行之前的空白字符)

撤销和重做

  • u:撤销
  • ctrl+r:重做

复制剪切粘贴

  • y:复制到下一个目标(名词) 比如 yfs:从当前光标处复制到第一个s处 包括s
  • yy:复制当前行
  • p:将复制的内容粘贴到光标之后
  • P:将复制的内容粘贴到光标之前
  • 剪切:就是删除,删除实际上是把文本拉入了缓存区等待粘贴

检查拼写

  • 配置:set spell spelllang=en_us
  • ]s:跳转到下一个错误拼写的单词
  • [s:跳转到上一个错误拼写的单词
  • z=:如果单词拼写错误,提供一些修改建议
  • zg:将拼写错误的单词标记为拼写正确
  • zw:将正常的单词标记为拼写错误

强大的替换功能

  • :%s /test/test1/g:将所有行的test替换为test1
  • :s /test/test1/g:将本行的test替换为test1

可重复性的命令

  • .:表示重复上一次的命令
    • 举个🌰
    • 在每个含有test的行尾添加[TEST]
      1. /test
      1. A[TEST]Esc
      1. 不断按n.(进入下一个匹配,执行第二条命令)

视觉模式

  • v:基于字符
  • V:基于行
  • ctrl+V:基于列

高效选择内容

  • vi(:选择括号内的
  • va(:选择包括括号内的
mac配置vim插件的一些记录leetcode刷题集合(简单篇)