Vim光标移动命令汇总

原文地址:Vim教程网——Vim光标移动命令汇总

介绍Vim光标移动命令,移动vim光标到行首、行跳转、vim匹配单词和匹配括号跳转,Vim翻页命令。

一、Vim光标移动简介

Vi/Vim中进行光标移动的命令是针对不同的操作单位而设计,不同的命令对应不同的操作单位。

在执行Vim光标移动命令时,首先要分清楚是采用哪种操作单位:一个字符、一个句子、一个段落、一行、一屏、一页。

确定操作单位后,需要确定命令重复执行的次数。Vim光标移动命令的操作对象范围计算公式为:
操作范围 = 操作次数 x 操作单位

例如:5h命令表示左移5个字符,8w命令右移8个单词

二、Vim移动光标命令

2.1 上、下、左、右

h    j↓    k↑    l

Vim的上下左右移动光标命令是经过精心设计的,我们在使用编辑器时最常用的操作是下移光标。
而键盘上的j、k按键使用最方便,所以分别用来作为下移、上移光标。
h、l分别位于j、k的两侧,根据其所在方位用来实现光标的左移和右移。

2.2 行级移动

0         移动光标到当前行行首
$         移动光标到当前行行尾
^         移动光标到当前行的第一个非空字符
nG       移动光标到当前文件的第n行
:n       移动光标到当前文件的第n行 (同上)

tips

(1) Vim的命令中,0 表示行首,$* 表示行尾。可以回顾下[Vim文本编辑命令汇总](https://vimjc.com/vim-edit-command.html)中提到的删除命令,里面就提到了*0*和*$

(2) 移动光标到当前文件的第n行使用的命令:n是在vim尾行模式下执行的,所以输入完:n后需要按回车键执行命令

2.3 文件首尾移动

gg:0       移动光标到当前文件的第一行
GG:$       移动光标到当前未经的最后一行

2.4 单词级移动

wW          移动到下一单词的开头
bB          移动到上一单词的开头
eE          移动到光标所在单词的末尾

vim单词级鼠标移动

W、B、E命令操作的单词是以空白字符(空格、Tab)分隔的字串
比如字符串“str1-str2 str3-str4”,对W、B、E命令来说是两个单词,而对w、b、e命令来说则是四个单词

关于Vim单词和字串,可以参考Vim教程网文章Vim基于单词移动及其Vim单词、字串概念

2.5 匹配单词级移动

*        移动光标到 [匹配] 光标当前所在单词的下一个单词
#        移动光标到 [匹配] 光标当前所在单词的上一个单词

2.6 匹配括号移动

%        移动光标到括号左半部分( 包括({[ )对应右半匹配部分( )}] )

2.7 段落级移动

}       移动光标到当前段落的末尾
{       移到光标到当前段落的开头

2.8 屏幕级移动

H       移动光标到屏幕的第一行
M       移动光标到屏幕的中间一行
L       移动光标到屏幕的最后一行

2.9 翻页

Ctrl + f       向前滚动一页
Ctrl + b       向后滚动一页

Ctrl + u       向前滚动半页
Ctrl + d       向后滚动半页

三、与其他命令联动

很多命令都可以和Vim教程网总结的vim光标移动命令连动

基本命令模式为:<start_position><command><end_position>

例如,Vim命令0y$拆开分别表示:0移动光标到当前行首;y复制;$当前行尾。所以,命令0y$意味着复制光标当前所在行所有内容

例如,Vim命令ye,表示从当前位置拷贝到当前所在单词的最后一个字符


Vim教程
同步分享Vim命令、插件等教程内容。
83 声望
4 粉丝
0 条评论
推荐阅读
关于 Ubuntu 20.04 LTS 的网络(dchp/dns/route/PPPoE)
前言旧时代网络管理软件 net-tools、NetworkManager新时代网络管理软件 iproute2、resolvectl新时代旧时代大致可按 2010 年划分检查网卡是否已插入网线直接查看文件 {代码...} ip addr 或 ip link 命令查看网卡状...

qbit2阅读 14.9k

Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。

ThinkSNS1阅读 2.4k

confluence7.2.1的部署与迁移---呕心沥血版
Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 到官网下载最新版本,截止目前...

暗涌阅读 7.8k

C++编译器和链接器的完全指南
C++是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节。编译器和链接器是两个非常重要的概念。本文将详细介绍C++中的编译器和链接器以及它们的工作原理和使用方法。

小万哥2阅读 981

封面图
在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。

扣钉日记3阅读 1.4k

封面图
Ubuntu 20.04 读写 Windows 10 共享目录(qbit)
本文实验环境中,Windows 操作系统版本为 Windows Server 2016,应该对 Windows 10 和 Windows Server 2019 同样适用

qbit1阅读 6.2k

Ubuntu 20.04 搭建 Elasticsearch 7.x 小集群(qbit)
环境ES 节点硬件:3 台 AWS m5.4xlarge(16 vCPU/64GB 内存)Kibana 硬件:1 台 AWS m5.large(2 vCPU/8GB 内存)操作系统:Ubuntu 20.04 LTSElasticsearch 7.9.3Kibana 7.9.3机器示意图操作系统这里主要讲 EBS ...

qbit阅读 4.1k

83 声望
4 粉丝
宣传栏