play-with-vim1~5
1、移动
h,j,k,l分别对应左下上右
2、模式
vim有四种模式:普通模式,插入模式,可视模式,命令行模式
- 进入vim 默认为普通模式,光标为方块
- 输入i 进入插入模式,窗口左下角为insert ,光标为闪烁竖线(闪不闪和vim配置有关)
- 在普通模式下输入ctrl + v (windows有的是ctrl + q) 进入可视模式
- 在普通模式下输入冒号 进入命令行模式
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的更多相关文章
- vim1
Vim模式介绍 几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim接入不同的方式:命令目录(鼠标或者键盘驱动),组合键(CTRL和ALT组成)或鼠标输入.Vim和vi一样, ...
- 入门VMware Workstation下的Debian学习之Vim简单使用(三)
什么是Vim? Vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. Vim是从vi发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广 ...
- vim 源码分析
vim 源码分析 http://bbs.csdn.net/topics/230031469 Ver7.1 晕.看不明白很正常. 7.1已经很大了. 支持了太多东西. 代码行数那么多(源码压缩了都 ...
- Armbian编译以及定制
Armbian项目地址 Github: https://github.com/armbian/build Armbian for TV Box 项目地址 Github: https://github. ...
- 第二周、ubuntu的简单介绍与使用
一.复习第一周的大致内容:1.UNIX与Linux.ubuntu系统UNIX是1971年贝尔实验室的肯·汤普逊.丹尼斯·里奇,合作研发一款通过的操作系统,多用户.多任务.安全.稳定,收费.Linux是 ...
随机推荐
- Spring常用jar包的功能
jar名称 描述 spring-framework.jar spring框架比较完整的功能,core+aop+ioc+transaction spring-core.jar 基本上的核心工具类,一些u ...
- 【[SDOI2017]数字表格】
求 \[Ans=\prod_{i=1}^N\prod_{j=1}^MFib[(i,j)]\] 连乘的反演,其实并没有什么不一样 我们把套路柿子拿出来 \[F(n)=\sum_{i=1}^N\sum_{ ...
- numpy的操作
import numpy as np ######################## # 索引 n1 = np.random.randint(0, 100, 10) # print(n1) ''' ...
- [JSOI2008]火星人
嘟嘟嘟 嗯. splay维护哈希. 如题,用splay维护哈希,查找的时候二分.所以复杂度是取决于询问复杂度:\(O(n \log^ 2{n})\). 这道题还有一个技巧,就是一个节点记录的是他的子树 ...
- Hive学习之路 (十二)Hive SQL练习之影评案例
案例说明 现有如此三份数据:1.users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, A ...
- robotframwork的WEB功能测试(二)—登录
小结一下截止到目前,我接触的系统的登录模拟. 1. 带token的session:这种用抓包工具很容易抓到,使用这个链接就可以模拟已登录. 2. 使用cookie:有的系统是判断cookie来判断是否 ...
- VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...
- c++——类和对象初探
2.1 基本概念 1)类.对象.成员变量.成员函数 2)面向对象三大概念 封装.继承.多态 3)编程实践 类的定义和对象的定义,对象的使用 求圆形的面积 定义Teacher类,打印Teacher的信息 ...
- 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 ...
- PAT乙级1026
1026 程序运行时间 (15 分) 要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时 ...