我是 vim 用户多年,但主要使用基本动作。
最近我一直在思考如何更有效地使用 Vim。特别是,我想避免由于重复 h、j、k、l 动作而导致手指出现 RSI 的风险。我觉得必须有一种更好的方法来有效地在 Vim 中移动,而不是一直依赖 h、j、k、l。
如何在 Vim 中真正高效地移动?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在 Vim 中,高效移动不仅可以减少手指疲劳和 RSI 的风险,还能极大提升编辑效率。以下是一些进阶的移动技巧和概念,可以帮助你更有效地在文件中导航:
-
单词间的移动:
w
移动到下一个单词的开头。e
移动到当前或下一个单词的结尾。b
移动到上一个单词的开头。
-
行内快速移动:
0
跳转到行首(数字零)。$
跳转到行尾。^
移动到行首的第一个非空白字符。
-
屏幕视图移动:
H
移动到屏幕顶部。M
移动到屏幕中间。L
移动到屏幕底部。Ctrl + u
向上翻半屏。Ctrl + d
向下翻半屏。Ctrl + f
向下翻一整屏。Ctrl + b
向上翻一整屏。
-
百分比移动:
:100
立即跳转到文件的第 100 行。50%
跳转到文件的中间位置。
-
段落移动:
{
移动到当前段落的开头。}
移动到当前段落的结尾。
-
搜索移动:
/pattern
正向搜索匹配的文本,回车后跳转到第一个匹配项。n
和N
分别用于继续向下和向上查找下一个/上一个匹配项。
-
句子间移动:
(
移动到前一个句子的开始。)
移动到下一个句子的结束。
-
标记与跳转:
- 使用
m{a-zA-Z}
设置标记(例如:ma
设置标记 a),然后使用'a
回到该标记的位置,用"
类似操作但用于跳转到上次修改的地方。
- 使用
-
宏录制与重放:
qa
开始录制名为 a 的宏。- 在执行一系列操作后按
q
结束录制。 - @a 播放宏 a。
通过熟练掌握这些快捷键,可以大幅度提高在 Vim 中的移动效率,同时减少对 h、j、k、l 的依赖。此外,Vim 插件如 EasyMotion 或 vim-sneak 还提供了更为灵活和精准的跳转方式,值得尝试。
请根据个人习惯和需求选择合适的移动方式,并不断练习以达到熟练运用。
解决 无用评论 打赏 举报 编辑记录-
悬赏问题
- ¥15 C语言设计一个简单的自动换档程序
- ¥15 关于logstash转发日志时发生的部分内容丢失问题
- ¥17 pro*C预编译“闪回查询”报错SCN不能识别
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。