来源

实验楼(shiyanlou.com)的《Vim编辑器》课程的学习报告。

6种基本模式

普通模式

默认进入vi时的模式,使用编辑器命令,i h j k l 等等

插入模式

用户按下 ia 进入插入模式,在光标处进行编辑等操作。

可视模式

在此模式下使用移动命令 jl 等,回选择一片高亮区域,当用户再使用非移动命令时,此操作会作用于高亮区域。

选择模式

类似普通编辑器的编辑模式,可以使用鼠标选中文本,此时按下的按键属于替换文本,而不属于命令。如在此模式下鼠标选中dog然后输入i的话,就会用字符i把单词dog替换掉。

命令行模式

在此模式下,用户的输入会被解释执行,例如搜索(/?)或者过滤(!)。

Ex模式

在此模式下,用户可以一次执行多条命令。使用:visual离开。

常用操作

普通模式

  • 使用vi/vim命令刚进入vim
  • 在任何模式下连按多次Esc
  • 普通模式下shift + zz退出vim
  • 删除
  • x 删除当前光标所指字符
  • Del 等价于 xinsert键下面那个键
  • X 删除光标前字符
  • dd 删除光标所在行
  • dw 删除光标所在单词
  • d$D ,删除到行尾
  • d^ 删除到行首
  • dG 删到文档结尾(向后删,包括本行),对比如下

  • d1G 删到首行(向前删,包括本行),对比如下

插入模式

  • 普通模式下进入插入模式
  • i 在当前光标位置插入
  • I 在当前行首插入
  • a 在当前光标后插入
  • A 在当前行后插入
  • o 在当前行后插入新行
  • O 在当前行前插入新行

命令行模式

  • 插入模式下: 进入
  • : w 保存文件
  • : w filename 另存为
  • :saveas filename 另存为
  • :q 退出
  • ! 在命令末尾表强制
  • w q ! 组合
  • x 等价于 wq

vim学习一的更多相关文章

  1. Linux学习系列之Linux入门(二)Vim学习

    第二篇 Vim学习 主要内容: 基本命令: 插件扩展: 参考资料: vim是一个命令控制的文本编辑器,可以完成几乎我们想要做的所有工作,除了Emacs几乎没有其他的工具能和它匹敌.官方网站是:http ...

  2. Vi/VIM键盘图, Vi/vim学习图

    Vi/vim学习图 引用: Vi键盘图片可视化教程 http://www.cnblogs.com/me115/archive/2010/11/16/1878295.html 网上的文章易流失.感谢分享 ...

  3. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  4. 推荐vim学习教程--《Vim 练级手册》

    非常不错的vim学习资源,讲解的简单明了,可以作为速查工具,在忘记时就翻下.地址如下: <Vim 练级手册>

  5. VIM学习二: VIM配置代码及效果图

    vim学习及插件 参见:http://www.cnblogs.com/caixu/p/6337926.html .vimrc配置 "***************************** ...

  6. vim学习之改头换面(基础配置)

    还记得在线有个维护博客园的学长说过,这网站的前端做的贼丑,今日一看果真如此.其实我想说毕竟干货多,没有那么多花花肠子.下面开始进入正题. 在入坑了sublime.vscode.atom.notepad ...

  7. vim学习、各类插件配置与安装【转】

    转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...

  8. Linux之Vim学习

    Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...

  9. 菜鸟vimer成长记——第0章、我眼中的vim学习

    这是一系统总结vim的学习文章,记录我自己学习vim的过程和感悟.与此同时也想分享出来给大家,欢迎大家互相讨论和学习. 在这里假设你们对vim已经有了一些基本的认识或者说已经使用过几个月的vim.该系 ...

  10. Vim 学习指南

    作者:耀耀 出处:http://www.linuxeden.com/html/news/20130820/142667.html Vim 学习指南 来源:开源中国社区 作者:耀耀 关注我们:   你想 ...

随机推荐

  1. sping boot 笔记 哎呦不错哦

    http://blog.csdn.net/u011998835/article/details/78352829 学习

  2. [Angular] Show a Loading Indicator for Lazy Routes in Angular

    We can easily code split and lazy load a route in Angular. However when the user then clicks that la ...

  3. jQuery理解与运用

    1. 什么是jQuery 它是一个轻量级的javascript类库,别人写好的一个类. 2. jQuery优点 2.1 总是面向集合  2.2 多行操作集于一行      注1:就一个类“jQuery ...

  4. LOJ P10171 牧场的安排 题解

    每日一题 day6 打卡 Analysis 状压dp dp[i][j]+=dp[i-1][k]; #include<iostream> #include<cstdio> #in ...

  5. koa2做请求转发

    最近用koa2做请求转发时,采用了request(options).pipe(ctx.res)的方法,结果出现了有时候前端获得的数据是分片的. 后来翻阅文档,采取了如下方式解决: const Pass ...

  6. python循环导入的问题

    1.问题 循环导入,代码如下: from c import c def b(): print('b') b.py from b import b def a(): # from b import b ...

  7. ROS与树莓派的结合

    从零开始学树莓派和ROS 今天写下自己的第一篇博客,记录一下自己的学习历程和学习过程中碰到的各种小问题,供同道者参阅和自己以后回顾用 ,水平不高,我就放开手写吧,反正也不会有人看. 我现在在做毕业设计 ...

  8. OpenFOAM Tutorial Standard Solvers【转载】

    转载自:http://www.cnblogs.com/fortran/articles/1996927.html boundaryFoam Steady-state solver for 1D tur ...

  9. 命令行启动模块的Python代码研究

    pyrasite的 __requires__ = 'pyrasite==2.0' import re import sys from pkg_resources import load_entry_p ...

  10. java大型互联网项目大流量高并发所需的技术

    互联网一般运行技术:webservice,jquery,访问量,缓存,数据安全等,JAVA后台就比较多了,不过,像这种大型的互联网项目,基本框架都有了,你需要做的就是熟悉业务,熟悉他们公司所用的框架, ...