vim 编辑器学习整理

Normal模式

移动

  • gi 快速跳转到最后一次编辑的地方并进入插入模式gg 移动到文件开头,G 移动到文件结尾
  • H (head)跳转到屏幕开头,M (middle) 跳转到文件中间,L (lower) 跳转到屏幕结尾
  • ctrl+u/f (upword/forword)上下翻页,zz 将当前行置于屏幕中间
  • h j k l ←↓↑→
  • w/W 移动到下一个word/WORD开头(WORD指以空白符分割的单词)b/B 回到上一个word/WORD开头e/E 移动到下一个word/WORD尾
  • f{char} 移动到指定字符上面, 跳转到下一个指定字符, 跳转到前一个指定字符, t{char} 移动到指定字符前一个字符上, F{char} 反过来搜前面的字符
  • 0 移动到行首第一个字符$ 移动到行尾^ 移动到第一个非空白字符,g_ 移动到尾行非空白字符

删除

  • x 删除一个字符
  • d 通常配合其文本对象一起作用,dd 删除整行,dw (= daw (delete around a word))删除整个单词包括周围的空格,dt+{char} 删除直到某个字符,d$ 删除到行尾,d0 删除到行首,2dd 删除两行

修改

  • r (replace)替换一个字符,s (substitute)替换并进入插入模式,c (change)配合文本对象,快速进行修改,caw 删除当前单词并进入插入模式,ct+{char} 删除到字符位置并进入插入模式
  • R 连续替换,S 整行删除并进入插入模式(光标在行首),C 删除整行并进入插入模式(光标在原位置)

查询

  • / 前向搜索, 反向搜索
  • n/N 跳转到上一个或下一个匹配
  • */# 进行当前单词的前向和后向匹配

复制粘贴

  • y (yank) 复制,p (put) 粘贴,d 剪切,同样可配合文本对象如 yiw 复制一个单词,yy 复制一行
  • 使用 v 切换到 visual 模式选中要复制内容,然后使用p粘贴

其他

  • ctrl+r 退回

insert模式

  • a (append)
  • i (insert)
  • o (open a new line below)
  • A (append after line)
  • I (insert before line)
  • O (open a new line above)
  • ctrl+h 删除上一个字符
  • ctrl+w 删除上一个单词
  • ctrl+u 删除当前行(终端同样可用)

复制粘贴

  • 和其他文本编辑器差不多, ctrl+v 粘贴(为何本人使用该命令无法粘贴?)
  • 在vimrc中设置 autoindent, 粘贴 python 代码缩进错乱,需要使用:set paste 和 设置 :set nopaste 来解决

cmd模式

  • :vs 竖分屏
  • :sp 横分屏
  • :% s/foo/bar/g 全局替换
  • :[range]s/{pattern}/{string}/[flags] range 表示范围,如10,20表示10-20行,% 表示全部,pattern 是要替换的模式,string 是替换后的文本,flags可选择参数有 g(global) 表示全局范围内执行,c(confirm)表示确认,可以确认或者拒绝修改,n(number)报告匹配到的次数而不替换,可以用来查询匹配次数
  • :reg a 查看寄存器 a 中保存的内容
  • :set clipboard=unnamed 设置系统剪贴板为无名寄存器内容

visual模式

visual模式一般用来块状选择文本

  • Normal模式下用 v 进入visual模式
  • 使用 V 选择行
  • 使用 ctrl+v 进行方块选择

常用寄存器

  • 复制专用寄存器 "0 使用 y 复制文本同时会被拷贝到复制寄存器中
  • 系统剪贴板 "+ 在复制前加上可复制到系统剪贴板
  • 其他寄存器 "% 当前文件名, ". 上次插入的文本

大佬视频教程,本篇笔记都摘自于大佬视频

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值