当前位置: 首页 > news >正文

【vim 学习系列文章 18 -- 选中行前后增加两行】


请阅读【嵌入式开发学习必备专栏 之 Vim】


文章目录

    • 选中行前后增加两行
      • 1. 定义函数
      • 2. 创建快捷键映射
      • 3. 保存并重新加载 `.vimrc`
      • 使用方法
    • 重新选中实现
      • 步骤 1: 定义函数
      • 步骤 2: 绑定快捷键
      • 保存并重新加载 `.vimrc`
      • 使用方法

选中行前后增加两行

为了在 Vim 中实现这个功能,需要定义一个 Vimscript 函数,该函数能够在当前选中的行(Visual 模式下)的最前面一行和最后一行增加空白行。然后,可以为这个函数创建一个快捷键映射,以便在 Visual 模式下快速使用。
以下是如何步骤实现这个功能的详细说明:

1. 定义函数

打开 .vimrc 文件,然后添加以下函数定义:

function! AddLinesBeforeAndAfter()" 获取Visual模式选中的起始和结束行号let start_line = line("'<")let end_line = line("'>")" 在选中区域的最后一行后面插入一空白行call append(end_line, '')" 在选中区域的第一行前面插入一空白行" 注意:因为已经在末尾添加了一行,所以这里不需要调整 start_linecall append(start_line - 1, '')
endfunction

2. 创建快捷键映射

.vimrc 文件中的函数定义下方,添加一个映射,以便在 Visual 模式下使用快捷键(比如 gaa)来调用这个函数:

vnoremap gaa :<C-u>call AddLinesBeforeAndAfter()<CR>

这行代码的作用是在 Visual 模式下,当按下 gaa 时,会调用之前定义的 AddLinesBeforeAndAfter 函数。

3. 保存并重新加载 .vimrc

在对 .vimrc 文件进行修改后,保存并退出。然后,需要重新加载 Vim 配置,以便更改生效。可以通过在 Vim 中执行命令 :source ~/.vimrc 来实现这一点,或者简单地重新启动 Vim。

使用方法

  1. 进入 Vim 并打开一个文件。
  2. 进入 Visual 模式(按 v 或者 V 选择多行)。
  3. 使用方向键选择多行文本。
  4. 按下 gaa(或者设置的其他快捷键),在选中行的最前面一行和最后一行增加空白行。
    这样,就能够在 Visual 模式下选中的行的最前面一行和最后一行快速添加空白行了。这个功能在编辑文件时,尤其是在编写代码时,可能会非常有用。

重新选中实现

还可以实现个函数 在选中行的最前面一行增加一行,在选中行的最后一行增加一行,然后再选中所有的行包含新增的两行:

要在 Vim 中实现这个功能,需要编写一个 Vim script 函数,该函数在选中行(Visual 模式下)的最前面和最后面各增加一行空行,然后重新选中原始选中的行以及新增的两行。接着,将这个函数绑定到一个快捷键上。
这里是如何做到的:

步骤 1: 定义函数

首先,打开你的 .vimrc 文件,在其中添加以下函数定义:

function! AddLinesAndReselect()" 获取Visual模式选中的起始和结束行号let start_line = line("'<")let end_line = line("'>")" 在选中区域之前和之后各添加一个空行call append(end_line, '')call append(start_line - 1, '')" 重新选中包括新增的两行在内的区域" 注意:因为在起始行前添加了一行,所以起始行和结束行都需要偏移let new_start_line = start_line - 1let new_end_line = end_line + 1" 使用 normal 命令进入 Visual 模式并选中新的区域execute "normal! " . new_start_line . "GV" . new_end_line . "G"
endfunction

步骤 2: 绑定快捷键

.vimrc 文件中的函数定义下方,添加一个映射,以便在 Visual 模式下使用快捷键(例如 gaa)来调用这个函数:

vnoremap gaa :<C-u>call AddLinesAndReselect()<CR>

保存并重新加载 .vimrc

在对 .vimrc 文件进行修改后,保存并退出。然后,你需要重新加载 Vim 配置,以便更改生效。你可以通过在 Vim 中执行命令 :source ~/.vimrc 来实现这一点,或者简单地重新启动 Vim。

使用方法

  1. 进入 Vim 并打开一个文件。
  2. 进入 Visual 模式(按 v 或者 V 选择多行)。
  3. 使用方向键选择多行文本。
  4. 按下 gaa(或你设置的其他快捷键),在选中行的最前面和最后面各增加一行空行,并重新选中这个新的区域。
    这个功能在编辑代码或文本时可以非常有用,特别是当你需要在一个代码块的前后添加空行,同时保持选中状态进行进一步编辑时。
http://www.lryc.cn/news/337592.html

相关文章:

  • 分布式系统接口限流方案
  • Flutter仿Boss-6.底部tab切换
  • 深入理解机器学习:用Python构建您的第一个预测模型
  • redisson与redis集群检测心跳机制原理
  • 部署Redis
  • 性能测试-数据库优化二(SQL的优化、数据库拆表、分表分区,读写分离、redis)
  • 44.基于SpringBoot + Vue实现的前后端分离-汽车租赁管理系统(项目 + 论文PPT)
  • 2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(五)(含2022年和2023年)
  • Lua语法(四)——协程
  • LangChain-15 Manage Prompt Size 管理上下文大小,用Agent的方式询问问题,并去百科检索内容,总结后返回
  • OR-TOOL 背包算法
  • 前端h5录音
  • Android Studio 使用Flutter开发第一个Web页面(进行中)
  • Vue.js组件精讲 第2章 基础:Vue.js组件的三个API:prop、event、slot
  • npm install 报 ERESOLVE unable to resolve dependency tree 异常解决方法
  • RPC还是HTTP
  • Conda 常用命令总结
  • Spring MVC 文件上传和下载
  • WSL访问adb usb device
  • CDF与PDF(描述随机变量的分布情况)
  • react项目中需要条形码功能,安装react-barcode使用时报错
  • ES6基础(JavaScript基础)
  • [蓝桥杯] 纸张尺寸(C语言)
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.04.05-2024.04.10
  • 【golang】动态生成微信小程序二维码实战下:golang 生成 小程序二维码图片 并通过s3协议上传到对象存储桶 | 腾讯云 cos
  • kubeadm k8s 1.24之后版本安装,带cri-dockerd
  • 13-pyspark的共享变量用法总结
  • BI数据分析软件:行业趋势与功能特点剖析
  • centos7上docker搭建vulhub靶场
  • Flutter入门指南