【vim 学习系列文章 14 -- 快速选中多行】

文章目录

    • [vim 快速选中多行的映射](#vim 快速选中多行的映射)

vim 快速选中多行的映射

在 Vim 中,您可以通过定义一个映射(map)来快捷地在 Visual 模式下选择指定数量的行。例如,您可能想通过按键快速选择下面的 10 行。

以下是一个 Vim 映射示例,它将 <Leader>10j 绑定为在 Normal 模式下选择当前行和接下来的 9 行(共 10 行):

vim 复制代码
nnoremap <Leader>10j :normal! V9j<CR> 

这里的 <Leader> 是 Vim 中的一个特殊占位符,它通常被映射为 \(反斜线),但您可以将它重新映射为其他的按键。nnoremap 是用于创建不可递归的正常模式下的映射的命令。V 是进入 Visual Line 模式的命令,9j 表示将光标向下移动 9 行,<CR> 表示回车键,用于执行前面的 :normal! 命令。

可以将上面的代码放入您的 .vimrc 配置文件中,然后在 Vim 重新加载配置或下次启动时,新的映射就会生效。

可以将上面的代码放入您的 .vimrc 配置文件中,然后在 Vim 重新加载配置或下次启动时,新的映射就会生效。

如果您想要一个更通用的映射,您可以创建一个函数,并使用一个 Vim 的命令来接受参数,这样您就可以指定要选择的行数了:

php 复制代码
function! SelectLines(count)
    execute "normal! V" . (a:count - 1) . "j"
endfunction
nnoremap <Leader>sl :set operatorfunc=SelectLines<CR>g@l

在这个映射中,<Leader>sl 会设置 operatorfunc 为我们的 SelectLines 函数,并使用 g@l 来等待用户输入数字表示要选择的行数。然后,用户可以输入例如 10 和回车,以选择当前行和接下来的 9 行。

相关推荐
星火开发设计12 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BackCatK Chen12 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓13 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
理人综艺好会13 小时前
Web学习之用户认证
前端·学习
●VON13 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
AI视觉网奇13 小时前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5
Hello World . .14 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
woodykissme14 小时前
倒圆角问题解决思路分享
笔记·学习·工艺
黎雁·泠崖14 小时前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习
香芋Yu14 小时前
【机器学习教程】第02章:线性代数基础【下】
学习·机器学习