Vim 的光标移动定位
一.光标移动以单个字符为单位;
在命令模式中
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 的光标移动定位的更多相关文章
- js判断input输入框为空时遇到的问题 弹窗后,光标没有定位到输入框,而是直接执行我的处理页面程序
无论是会员注册还是提交订单,我们都要使用到form表单,此时我们在处理数据时,就要判断用户填写的信息.一次是直接通过js判断input输入框是否没有填信息,然后在后台处理文件中通过过滤字符串后再次判断 ...
- Chrome 如何让光标快速定位到地址栏-进行搜索
我们经常花费大量的时间来进行使用浏览器搜索网页,如何进行高效的搜索,需要掌握一些快捷键: Windows: Ctrl + L 或 Alt + D 或 F6 Mac: Command + L Linux ...
- vim:修改光标的显示
我比较习惯vim下光标显示为一条竖线,这样的好处是可以准确的知道光标的位置.但有的时候光标表现为一个方块.这个是可以修改改地. 终端下: 终端下这个和终端的光标设置有关,只要修改了终端中光标的显示,v ...
- Vim 打开文件同时定位到某一行
在linux下,当后台某一行报警出错后,想用vim打开文件同时定位到某一行, Vim +某一行 filename 即可.
- 【Pycharm使用者必看】自定义【光标快速定位到行尾】的按键
1.问题描述 使用Pycharm写代码时,有很多比较方便的快捷键,比如:Shift+Enter快速切换到下一行, 但每次切换到多个括号外或者想移动到行尾,就必须按 End 键或者鼠标点击, 这样操作幅 ...
- Vim快速移动光标至行首和行尾
1. 需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首.除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0). 2. ...
- 【linux基础】vim快速移动光标至行首行尾、第一行和最后一行
前言 使用vim的过程中想要快速移动光标至行首.行尾.第一行.最后一行或者某一行,本文对此简单介绍. 具体操作 1.快速至当前行的行首: 1) Home键: 2) 数字0: 3) 符号^; 2.快 ...
- vim对光标所在的数字进行增减
真是vim会在不经意间给你惊喜...... 现在发现把光标移到某数字的上方,c-a是加1, c-x是减1 当时真有点众里寻他千百度的感觉
- Vim技巧----光标移动
w:向前移动,光标停留在下个单词词首,每次一个单词(单词中不含其他字符如:- \ = +等) W:向前移动,光标停留在下个单词词首,每次一个字符串(字符串可以含有其字符如:- \ = +等,is-a ...
随机推荐
- chkconfig --add失败的处理方法
author: headsen chen datet:2018-08-30 11:57:49 1,在/etc/init.d/下面添加两个文件,并授予 +X 的权限,效果如下: 2,添加到开启自启 ...
- 二、微信小游戏开发 多线程Worker
微信多线程Worker教程 微信多线程Worker API 一.创建Worker,并和当前线程通讯 多线程worker只能创建1个.能和当前线程互传数据. 创建worker 在微信开发者工具中,在当前 ...
- Swift - 获取状态栏一些信息
// 获取状态栏的各种信息 :网络类型,运营商,电池电量,显示的系统时间等信息 import UIKit enum NetWorkType { case NetworkStatesNone // 没有 ...
- JavaScript三(对象思想)
JavaScript并不是面向对象的程序设计语言,但它是基于对象的.JavaScript中的每个函数都可用于创建对象,返回的对象既是该对象的实例,也是object的实例 . 一.对象与关联数组 Jav ...
- Linux Git服务器安装
① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...
- HDU 4247 Pinball Game 3D(cdq 分治+树状数组+动态规划)
Pinball Game 3D Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- java 常见几种发送http请求案例
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...
- Maven 的聚合(多模块)和 Parent 继承
2017年06月26日 21:16:57 Maven 的聚合(多模块)和 Parent 继承 - 偶尔记一下 - CSDN博客 https://blog.csdn.net/isea533/articl ...
- Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出
Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apach ...
- Database Sharding Challenges DATABASE SHARDING
w分布式查询.数据聚合.跨碎片join是可且应避免的.自增主键管理.基于-会话/事务/语句-选择碎片.通过-主键/模块/碎片索引-碎片化数据 http://www.agildata.com/datab ...