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. Spring常用jar包的功能

    jar名称 描述 spring-framework.jar spring框架比较完整的功能,core+aop+ioc+transaction spring-core.jar 基本上的核心工具类,一些u ...

  2. 【[SDOI2017]数字表格】

    求 \[Ans=\prod_{i=1}^N\prod_{j=1}^MFib[(i,j)]\] 连乘的反演,其实并没有什么不一样 我们把套路柿子拿出来 \[F(n)=\sum_{i=1}^N\sum_{ ...

  3. numpy的操作

    import numpy as np ######################## # 索引 n1 = np.random.randint(0, 100, 10) # print(n1) ''' ...

  4. [JSOI2008]火星人

    嘟嘟嘟 嗯. splay维护哈希. 如题,用splay维护哈希,查找的时候二分.所以复杂度是取决于询问复杂度:\(O(n \log^ 2{n})\). 这道题还有一个技巧,就是一个节点记录的是他的子树 ...

  5. Hive学习之路 (十二)Hive SQL练习之影评案例

    案例说明 现有如此三份数据:1.users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, A ...

  6. robotframwork的WEB功能测试(二)—登录

    小结一下截止到目前,我接触的系统的登录模拟. 1. 带token的session:这种用抓包工具很容易抓到,使用这个链接就可以模拟已登录. 2. 使用cookie:有的系统是判断cookie来判断是否 ...

  7. VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别

    而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...

  8. c++——类和对象初探

    2.1 基本概念 1)类.对象.成员变量.成员函数 2)面向对象三大概念 封装.继承.多态 3)编程实践 类的定义和对象的定义,对象的使用 求圆形的面积 定义Teacher类,打印Teacher的信息 ...

  9. Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getUser' in class org.uncommons.reportng.ReportMetadata threw exception class java.net.UnknownHostException :

    Running TestSuite [TestNG] [WARN] Ignoring duplicate listener : org.uncommons.reportng.HTMLReporter ...

  10. PAT乙级1026

    1026 程序运行时间 (15 分)   要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时 ...