Vim基本操作

Vim

三个主要模式

  • normal mode(command mode)
  • Insert mode
  • visual mode

normal mode => insert mode

  • 在下方插入一行: o
  • 在上方插入一行:O
  • 在当前光标后插入:a
  • 在当前光标前插入:i
  • 在行尾插入:A
  • 在行首插入:I

光标移动

基础移动

  • 上下左右:hjkl
  • 移动到第一行:gg
  • 移动到最后一行:G
  • 移动到指定行:nG

进阶移动

  • 移动到下一个单词的开头:w

  • 移动到下一个单词的结尾:e

  • 移动到上一个单词的开头:b

  • 移动到行首:0

  • 移动到第一个非空字符: ^

  • 移动到行尾:$

  • 移动到括号匹配处:%

  • 移动到变量定义处:gd(实质是跳到函数内变量第一次出现的位置,若要找文件中第一次出现的位置gD

  • 移动到前一个没有匹配的左大括号处:[{

复制粘贴

  • 复制:y
  • 粘贴:p

不要害怕尝试

  • Undo:u
  • Redo:C-r

删除

  • 删除整行:dd
  • 删除字符:x
  • 删除到行尾:D

删除操作其实是剪切,删掉的内容在剪切板中

替换

  • 替换单个字符:r
  • 替换到行尾:C / .....
  • 修改大小写:~

Composable

  • 删除2个单词d2w
  • 删除单词,做两遍2dw
  • 2d2w
  • d5j删5行 == 在visual mode下选中5行再按d

搜索替换

  • 搜索下一个:/ (下一个按n,上一个按N)
  • 搜索上一个:?
  • 快速搜索当前单词:#/*
  • 将range范围内的from替换成to::[range]s/from/to/[flags]
rangedescriptionexample
21line 21:21s/olad/new/g
lfirst line
$last line
%all lines(= 1,$)
21,25Lines 21 to 25 inclusive
21,$lines 21 to end
.,$current line to end
.+1,$line after current line to end
.,.+5six lines
.,.5same

flags表示操作类型,默认只对第一个匹配的字符进行替换

flagsdescription
g全局替换
i忽略大小写
I大小写敏感
c操作时需要确认
&复用上次替换命令的flags

生成从1~100的序列

  • 录制宏:q
  • 运行宏:@

修饰词

  • i inner
  • a around
  • t till
  • f find
    image-20220423145447463

split window

  • sp
  • vsp
  • 切换窗口C-w [hjkl]

Mark

  • 生成标签m
  • 跳转 `

注释不需要的大段代码

  • v 以字符为单位进行选择
  • V以行尾单位进行选择
  • c+V进入块可视化模式

Tutorial

  • 键位图:http://www.viemu.com/vi-vim-cheat-sheet.gif
  • https://vimsnake.com/
  • http://www.vimgenius.com/
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值