说明

  • C-字母 = Ctrl + 字母
  • char = 任意字符

开始编辑

insert

按键 功能 说明
i(I) insert 当前位置插入(当前行前)
a(A) append 当前字符后面插入(当前行后)
o(O) open a line below 当前行的下面(当前行上面)

模式

模式 功能 说明
普通模式(ESC) normal 操作和移动
插入模式(i,a,o) insert 编辑
命令模式(:) command 执行命令
可视模式(v,V,C-v) visual 选择

可视模式

visual

按键 说明
v 选中字符
V 选中当前行
C-v 方块选择

插入模式技巧

insert

按键 功能 说明
C-h 删除 上一个字符
C-w 删除 当前单词
C-u 删除 当前行(终端可使用)
C-a 移动到开头 终端
C-e 移动到结尾 终端

切换insert和normal模式

按键 功能 说明
C-[ 切换到normal 代替ESC
C-c 切换到normal 代替ESC
gi 跳转到上一次编辑的位置操作

普通模式

normal

快速移动

按键 功能 说明
hjkl 移动 上下左右
w(W) 移动 下一个单词开头
e(E) 移动 下一个单词结尾
b(B) 移动 上一个单词开头

大写以空白格为分隔符

行间搜索移动

按键 功能 说明
f{char}(F) 跳转 跳转到char上(往前搜)
t{char} 跳转 跳转到char前一个字符
; or , 继续 继续查找

水平移动

按键 功能 说明
0 移动 移动到行首
$ 移动 移动到行尾

页面移动

按键 功能 说明
gg 移动 文件开头
G 移动 文件结尾
C-o 移动 快速返回上一位置
H/M/L 移动 屏幕开头/中间/尾
C-u 翻页
C-f 翻页
zz 翻页 中间

删除命令

按键 功能 说明
{number}x 删除 删除一个字符
diw delete 删除一个单词(不删除空格)
dw 删除word 删除一个单词
{number}dd 删除 删除当前行
dt{符号} 删除 删除符号之间的内容
d 删除 直接删除选中部分

快速修改

按键 功能 说明
r(R) 替换 替换一个字符(替换后面一个字符)
c{任意命令} 改变 删除然后进入i
caw 改变 删除并改变一个单词
s(S) 替换 删除当前字符,然后进入i(删除整行)
u 回退 撤销
C-r 回退 前进

查询

按键 功能 说明
/ or ? 查询
n or N 移动 下 /上
* / # 移动 前 / 后

Text Object

[ number ]< command >[ text object ]

按键 功能
viw 选中一个单词
vaw 选中一个单词(周围)
caw 修改一个单词
ci+符号 删除符号内的内容
...

寄存器

复制粘贴

normal

按键 功能
y(yy) 复制(复制一行)
p 粘贴
” + y 复制到系统剪切板

insert

按键 功能
C-v 粘贴

按键 功能
q{char} 录制宏,并存在a中
q 结束录制宏
:normal @{char} 批量恢复录制
@{char} 恢复录制

示例:

[]中间为示例操作流程

  • q{char}

[

  • I{char}当前行前加入char (例子)
  • A{char}当前行后加入char(例子)

]

  • q 结束录制
  • 恢复录制@a
  • 行选需要操作的文本
  • :normal @a

【最简单的vim教程】vim学习笔记-基础操作的更多相关文章

  1. 简单的玩玩etimer <contiki学习笔记之九 补充>

    这幅图片是对前面  <<contiki学习笔记之九>>  的一个补充说明. 简单的玩玩etimer <contiki学习笔记之九> 或许,自己正在掀开contiki ...

  2. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

  3. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...

  4. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  5. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  6. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  7. ArcGIS Pro 简明教程(2)基础操作和简单制图

    ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...

  8. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  9. MongoDB学习笔记:Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

随机推荐

  1. 20199324《Linux内核原理与分析》第十一周作业

    SET-UID程序漏洞实验 一.实验简介 Set-UID 是 Unix 系统中的一个重要的安全机制.当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限.例如,如果程序的拥有者是root ...

  2. xib下如何修改frame

    1.取消xib下Use Auto Layout 2.xcode->product->clean

  3. redhat下libreoffice 的安装

    1.第一次安装libreoffic时是用网络yum源安装的,但是装好之后不能用,找了好久没有找出问题,后来从官网下载安装包后安装就可以了. 下载地址:https://zh-cn.libreoffice ...

  4. Flask pythn Web 框架总结

    Flask pythn Web 框架总结 一, Flask 介绍 Flask 是一个基于Python 实现的web 开发的'小型轻框架' 1. flask介绍 Flask是一个基于Python实现的w ...

  5. HttpClient的userAgent和refer问题

    HttpClient本质是模拟浏览器去请求网址,获取请求response. 为了更真实的模拟浏览器,不被限制,需要设置一些请求header. 如果是爬虫的话,老虑的会更多些,爬取网站在HttpClie ...

  6. orthologs|paralogs

    从这里我们可以举例说明,例如人的S100A8基因与猪的S100A8基因即为orthologs.人的a球蛋白和b球蛋白基因即为paralogs.需要补充的是,人的a球蛋白和鼠的b球蛋白基因也为paral ...

  7. Laravel5.4 队列简单配置与使用

    概述 什么是队列? 百度百科是这样说的 “队列”是在传输过程中保存数据的容器. 举几个生活中例子: * iphone手机新款发布,三里屯iphone进的新货.大家要排队买,不能说一大堆人一起冲进去,那 ...

  8. Golang os/exec 实现

    os/exec 实现了golang调用shell或者其他OS中已存在的命令的方法. 本文主要是阅读内部实现后的一些总结. 如果要运行ls -rlt,代码如下: package main import ...

  9. LeetCode No.85,86,87

    No.85 MaximalRectangle 最大矩形 题目 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例 输入: [ ["1", ...

  10. mysql中in和exist的区别

    mysql中in和exists的区别 -- in写法select * from A where A.id in (select bid from  B ) and A.name in (select ...