1、移动

h,j,k,l分别对应左下上右

2、模式

vim有四种模式:普通模式,插入模式,可视模式,命令行模式

  1. 进入vim 默认为普通模式,光标为方块
  2. 输入i 进入插入模式,窗口左下角为insert ,光标为闪烁竖线(闪不闪和vim配置有关)
  3. 在普通模式下输入ctrl + v (windows有的是ctrl + q) 进入可视模式
  4. 在普通模式下输入冒号 进入命令行模式

3、基于单词移动


比如在日常编程中一行代码:
private static final long serialVersionUID = 351592739956574233 6L;
当光标停留在private时

普通模式下,输入:

  • w:到下一单词开头,即static的s
  • b:反向移动到当前单词(如果光标不在单词开头)/ 上一单词 开头
  • e:移动到当前单词(如果光标不在单词结尾)/下一单词的 结尾
  • ge:反向移动到当前单词/ 上一单词 结尾

但是我们往往会遇到一些标点,由于他们的存在我们使用ew的时候往往有些问题,vim是如何划分单词的呢:

4、单词与字串

单词:由字母、数字、下划线或其他非空白字符的序列组成
字串:由非空白字符序列组成
他们都以空白字符分隔。
以request.getParameter("uuid"); 为例
单词:request . getParameter (" uuid ");
只有一个字串
也就是说 字母、数字、下划线 连在一起的 属于一个单词,
非空白字符连在一起的,也是一个单词。
如果把uuid换成一个, 逗号
那么 (","); 就是一个单词

那么在字串间的移动也有快捷键
即 W E B gE 原理同3

5、屏幕行与实际行

如果一行内容大于窗口,会进行换行 就像这样:

标号为实际行7的屏幕行占用了两行。
jk移动的话是以实际行为准,如果要移动屏幕行,使用gj, gk。

play-with-vim1~5的更多相关文章

  1. vim1

    Vim模式介绍 几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim接入不同的方式:命令目录(鼠标或者键盘驱动),组合键(CTRL和ALT组成)或鼠标输入.Vim和vi一样, ...

  2. 入门VMware Workstation下的Debian学习之Vim简单使用(三)

    什么是Vim? Vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. Vim是从vi发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广 ...

  3. vim 源码分析

    vim 源码分析 http://bbs.csdn.net/topics/230031469 Ver7.1  晕.看不明白很正常.  7.1已经很大了.  支持了太多东西. 代码行数那么多(源码压缩了都 ...

  4. Armbian编译以及定制

    Armbian项目地址 Github: https://github.com/armbian/build Armbian for TV Box 项目地址 Github: https://github. ...

  5. 第二周、ubuntu的简单介绍与使用

    一.复习第一周的大致内容:1.UNIX与Linux.ubuntu系统UNIX是1971年贝尔实验室的肯·汤普逊.丹尼斯·里奇,合作研发一款通过的操作系统,多用户.多任务.安全.稳定,收费.Linux是 ...

随机推荐

  1. hihocoder [Offer收割]编程练习赛61

    [Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...

  2. java内存分配策略

    对象的内存分配,从大方向将就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓存,将按线程优先在TLAB上分配. 1. 对象优先在Eden区分配:大多数情况下,对象在新生代Ed ...

  3. python3 mock

    mock的官网学习备忘录:官网地址https://docs.python.org/3/library/unittest.mock.html#quick-guide 1,安装 python3 unitt ...

  4. tp5简要

    1.实例化模型 namespace app\web\controller; use think\Controller; use app\web\model\Member; use think\Load ...

  5. (转)sqlmap用户手册

    原文地址:http://drops.wooyun.org/papers/143 http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sqlma ...

  6. 前端获取table表格里面的所有(单个)tr和所有(单个)td,用js实现

    今天在做项目遇到了一个问题,就是获取不到table里面的td. 本来是打算使用jq来解决的,但网上大部分人使用的都是获取到table标签然后点出他的children函数,我的前端页面没有这个函数,然后 ...

  7. 四、Delphi10.3读取JSON数据

    一.我们有一段JSON数据如下: { "五班": [ { "姓名": "张三", "成绩": 75.5 }, { &qu ...

  8. R语言学习笔记(十九):字符串处理中预定义字符组(表格介绍)

    R中预定义的字符组 代码 含义说明 [:digit:]或\\d 数字; [0-9] [^[:digit:]]或\\D 非数字; 等价于[^0-9] [:lower:] 小写字母; [a-z] [:up ...

  9. JavaWeb基础—XML学习小结

    一.概述 是什么? 指可扩展标记语言 能干什么? 传输和存储数据 怎么干? 需要自行定义标签. XML 独立于硬件.软件以及应用程序 通常.建立完xml文件后首要的任务是:引入约束文件! 二.XML简 ...

  10. flex拖动图片

    <?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="htt ...