一.光标移动以单个字符为单位;

在命令模式中

h向左

l 向右

j 向上

k 向下

二.光标移动以word 为单位;

w 将光标向前移动一个word;

b 将光标向后移动一个word;

以上2个命令光标都落在word的首个字母上;

e 将光标向前移动一个word;

ge 将光标向后移动一个word;

以上2个命令光标都落在word的尾字母上;

w,b,e对应都有大写的命令,大写的W,B,E对应的边界范围更加大()

以上的命令都可以在命令的前面加上一些数字来快速移动;

如:

向左移动3个字符:3h

向下移动3行:3k

向前移动3个word:3w

三.针对一行的操作命令:

0或者^:移动光标到行首;

$:移动光标到行尾;

fx :在光标当前行查找x字符,并把光标移动到x的字符上面,前面也可以加数字3fx,搜索定位当前行第3次出现的x上;

Fx:同上,只是方向是向后查找;

tx:在光标当前行查找x字符,并把光标移动到x的字符前面一个字符上面,前面也可以加数字3tx;

Tx:在光标后查找x字符,并定位x字符后的一个字符;

fx,Fx,tx,Tx都可以用,和;来重复上一次的操作;

% :将光标的移动到匹配的括号上;

四.针对整个文件的光标快速移动;

gg  移动到文件第一行首,带数字如:100gg(移动到100行行首)

G  移动到文件的最后一行的行首;100G 和  100gg 效果一样;

五.针对整个屏幕下的光标移动;

H 意为 Home,移动光标到当前屏幕最上面的第一行的行首;

M 意为 Middle,移动光标到当前屏幕中的行首;

L  意为 Last ,移动光标到当前屏幕中的最后一行的行首;

六.屏幕滚动;

CTRL+u : 向下滚动半屏,理解为屏幕文字向上(up)缩进半屏;

CTRL+d : 向上滚动半屏,理解为屏幕文字向下(down)缩进半屏;

CTRL+e : 向上滚动一行;

CTRL+y : 向下滚动一行;

CTRL+f  : 向前滚动一屏,实际上是整屏去两行,f理解为Forward;

CTRL+b :向后滚动一屏,b理解为backward

Vim 的光标移动定位的更多相关文章

  1. js判断input输入框为空时遇到的问题 弹窗后,光标没有定位到输入框,而是直接执行我的处理页面程序

    无论是会员注册还是提交订单,我们都要使用到form表单,此时我们在处理数据时,就要判断用户填写的信息.一次是直接通过js判断input输入框是否没有填信息,然后在后台处理文件中通过过滤字符串后再次判断 ...

  2. Chrome 如何让光标快速定位到地址栏-进行搜索

    我们经常花费大量的时间来进行使用浏览器搜索网页,如何进行高效的搜索,需要掌握一些快捷键: Windows: Ctrl + L 或 Alt + D 或 F6 Mac: Command + L Linux ...

  3. vim:修改光标的显示

    我比较习惯vim下光标显示为一条竖线,这样的好处是可以准确的知道光标的位置.但有的时候光标表现为一个方块.这个是可以修改改地. 终端下: 终端下这个和终端的光标设置有关,只要修改了终端中光标的显示,v ...

  4. Vim 打开文件同时定位到某一行

    在linux下,当后台某一行报警出错后,想用vim打开文件同时定位到某一行, Vim +某一行 filename 即可.

  5. 【Pycharm使用者必看】自定义【光标快速定位到行尾】的按键

    1.问题描述 使用Pycharm写代码时,有很多比较方便的快捷键,比如:Shift+Enter快速切换到下一行, 但每次切换到多个括号外或者想移动到行尾,就必须按 End 键或者鼠标点击, 这样操作幅 ...

  6. Vim快速移动光标至行首和行尾

    1. 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首.除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0). 2. ...

  7. 【linux基础】vim快速移动光标至行首行尾、第一行和最后一行

    前言 使用vim的过程中想要快速移动光标至行首.行尾.第一行.最后一行或者某一行,本文对此简单介绍. 具体操作 1.快速至当前行的行首: 1) Home键:  2) 数字0:  3) 符号^; 2.快 ...

  8. vim对光标所在的数字进行增减

    真是vim会在不经意间给你惊喜...... 现在发现把光标移到某数字的上方,c-a是加1, c-x是减1 当时真有点众里寻他千百度的感觉

  9. Vim技巧----光标移动

    w:向前移动,光标停留在下个单词词首,每次一个单词(单词中不含其他字符如:- \ = +等) W:向前移动,光标停留在下个单词词首,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a ...

随机推荐

  1. chkconfig --add失败的处理方法

    author: headsen  chen datet:2018-08-30   11:57:49 1,在/etc/init.d/下面添加两个文件,并授予 +X 的权限,效果如下: 2,添加到开启自启 ...

  2. 二、微信小游戏开发 多线程Worker

    微信多线程Worker教程 微信多线程Worker API 一.创建Worker,并和当前线程通讯 多线程worker只能创建1个.能和当前线程互传数据. 创建worker 在微信开发者工具中,在当前 ...

  3. Swift - 获取状态栏一些信息

    // 获取状态栏的各种信息 :网络类型,运营商,电池电量,显示的系统时间等信息 import UIKit enum NetWorkType { case NetworkStatesNone // 没有 ...

  4. JavaScript三(对象思想)

    JavaScript并不是面向对象的程序设计语言,但它是基于对象的.JavaScript中的每个函数都可用于创建对象,返回的对象既是该对象的实例,也是object的实例 . 一.对象与关联数组 Jav ...

  5. Linux Git服务器安装

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  6. HDU 4247 Pinball Game 3D(cdq 分治+树状数组+动态规划)

    Pinball Game 3D Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. java 常见几种发送http请求案例

    import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...

  8. Maven 的聚合(多模块)和 Parent 继承

    2017年06月26日 21:16:57 Maven 的聚合(多模块)和 Parent 继承 - 偶尔记一下 - CSDN博客 https://blog.csdn.net/isea533/articl ...

  9. Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出

    Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apach ...

  10. Database Sharding Challenges DATABASE SHARDING

    w分布式查询.数据聚合.跨碎片join是可且应避免的.自增主键管理.基于-会话/事务/语句-选择碎片.通过-主键/模块/碎片索引-碎片化数据 http://www.agildata.com/datab ...