Vim实战指南(二):光标移动技巧

本文介绍了使用Vim编辑器时提高效率的光标移动技巧,包括按屏、按字词、按搜索词及按行列号移动等多种方式,并提供了实用的快捷键速记。

原文地址:Vim实战指南(二):光标移动技巧

Introduction

提升Vim/vi的打字效率的一个技巧就是快速移动光标。或许你觉得这不值一提,用hjkl或者上下左右也能移动,不过相信我,我下面要介绍的移动光标技巧绝对物超所值。

按屏移动

在命令行模式下,vi的整屏移动命令可以按以下方式速记:

Ctrl+F :forward:同PageDown键,向下移动整屏
Ctrl+B: backward:同PageUp键,向上移动整屏
Ctrl+D: down:向下移动半屏
Ctrl+U: up:向上移动半屏
z[Enter]:使光标指向的当前行成为屏幕的首行
z.:使光标指向的当前行成为屏幕的中间行
z-:使光标指向的挡前行成为屏幕的尾行
H: home:使光标移动到当前屏幕的首行
M: middle:使光标移动到当前屏幕的中间行
L: last:使光标移动到当前屏幕的尾行
[Enter]:使光标移动到下一行的第一个字符
+:同[Enter],使光标移动到下一行的第一个字符
-:使光标移动到上一行的第一个字符

同样,你可以利用vi的组合命令特性,采用数字+字符的方式来移动,如

3H: 3 lines below home line:使光标移动到当前屏幕的首行的下数第三行
3L: 3 lines above last line:使光标移动到当前屏幕的尾行的上数第三行

按字词移动

除了按屏移动,你也需要按字/词来移动,同样在命令行模式下,vi的整屏移动命令可以按以下方式速记:

e: move to end of word:移动到字/词的尾部(包括标点)
E: move to large end of word,移动到字/词的尾部(忽略标点)
(:移动到句首(根据?.!等标点符号)
):移动到下一句
{:移动到段首(根据空行)
}:移动到下一段
[[:移动到章首
]]:移动到下一章

同样,你可以利用vi的组合命令特性,采用数字+字符的方式来移动,如

3)):移动到后三句

按搜索词移动

搜索移动应该是最常使用的移动方式,在命令行模式下输入’/’来启动搜索

/assignment[Enter]:在文中搜索assignment
/programming[Enter]:在文中搜索programming

此处有一个技巧,如果你想搜索an,你可以在an前后各敲一个空格,搜索

/ an [Enter]

当你希望继续搜索时,输入

n:vi将跳到下一个匹配的搜索的地方
N:vi将跳到上一个匹配的搜索的地方
/:从光标位置向后搜索
?:从光标位置向前搜索

此处有一个技巧,如果你觉得搜索的时候屏幕跳动太快,可以输入

:set nowrapscan

搜索的高级用法这里先卖个关子,以免太过复杂,学习曲线太陡,后面我再罗列
如果你只希望在当前行搜索,可以用下面的方法

fa: find a:查找当前行光标后的字符a
Fa:查找当前行光标前的字符a
ta: 同fa,区别在于查找到时光标在a的前面
Tx:同Fa,区别在于查找到时光标在a的前面
;:继续从光标位置向后搜索
,:继续从光标位置向前搜索

按行列号移动

在日常编程中,经常需要直接根据行号来跳转,如编译错误、日志行数等
跳转前,你需要打开行号,输入

:set nu

下面是移动命令,利用vi的组合命令特性,采用数字+字符的方式来移动

3G:移动到第三行
3|:移动到第三列
“:移动当跳转前的行,按搜索词移动也可用
”:同“,区别在于光标跳转到行首

最后,你可以输入Ctrl+G来查看当前行列号,以及文本的总行数

Summary

上述的基本命令一定要熟记于心,加强练习。不要觉得命令太多,快速移动光标绝对是提升编辑速度的利器。

已经博主授权,源码转载自 https://pan.quark.cn/s/053f1da40351 在计算机科学领域,MIPS(Microprocessor without Interlocked Pipeline Stages)被视作一种精简指令集计算机(RISC)的架构,其应用广泛存在于教学实践和嵌入式系统设计中。 本篇内容将深入阐释MIPS汇编语言中涉及数组处理的核心概念与实用操作技巧。 数组作为一种常见的数据结构,在编程中能够以有序化的形式储存及访问具有相同类型的数据元素集合。 在MIPS汇编语言环境下,数组通常借助内存地址与索引进操作。 以下列举了运用MIPS汇编处理数组的关键要素:1. **数据存储**: - MIPS汇编架构采用32位地址系统,从而能够访问高达4GB的内存容量。 - 数组元素一般以连续方式存放在内存之中,且每个元素占据固定大小的字节空间。 例如,针对32位的整型数组,其每个元素将占用4字节的存储空间。 - 数组首元素的地址被称为基地址,而数组任一元素的地址可通过基地址加上元素索引乘以元素尺寸的方式计算得出。 2. **寄存器运用**: - MIPS汇编系统配备了32个通用寄存器,包括$zero, $t0, $s0等。 其中,$zero寄存器通常用于表示恒定的零值,$t0-$t9寄存器用于暂存临时数据,而$s0-$s7寄存器则用于保存子程序的静态变量或参数。 - 在数组处理过程中,基地址常被保存在$s0或$s1寄存器内,索引则存储在$t0或$t1寄存器中,运算结果通常保存在$v0或$v1寄存器。 3. **数组操作指令**: - **Load/Store指令**:这些指令用于在内存与寄存器之间进数据传输,例如`lw`指令用于加载32位数据至寄存器,`sw`指令...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值