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

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


文章目录

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

选中行前后增加两行

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

以下是如何步骤实现这个功能的详细说明:

1. 定义函数

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

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

2. 创建快捷键映射

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

vim 复制代码
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 文件,在其中添加以下函数定义:

vim 复制代码
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 - 1
    let new_end_line = end_line + 1
    " 使用 normal 命令进入 Visual 模式并选中新的区域
    execute "normal! " . new_start_line . "GV" . new_end_line . "G"
endfunction

步骤 2: 绑定快捷键

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

vim 复制代码
vnoremap gaa :<C-u>call AddLinesAndReselect()<CR>

保存并重新加载 .vimrc

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

使用方法

  1. 进入 Vim 并打开一个文件。
  2. 进入 Visual 模式(按 v 或者 V 选择多行)。
  3. 使用方向键选择多行文本。
  4. 按下 gaa(或你设置的其他快捷键),在选中行的最前面和最后面各增加一行空行,并重新选中这个新的区域。
    这个功能在编辑代码或文本时可以非常有用,特别是当你需要在一个代码块的前后添加空行,同时保持选中状态进行进一步编辑时。
相关推荐
Y31742933 分钟前
python Day46 学习(日志Day15复习)
python·学习·机器学习
学不会就看1 小时前
selenium学习实战【Python爬虫】
python·学习·selenium
CIb0la1 小时前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
2301_804774491 小时前
回溯算法学习
学习
~Yogi1 小时前
今日学习:工程问题(场景题)
android·学习
电子云与长程纠缠2 小时前
Houdini POP入门学习07 - 分组
学习·houdini
Auscy2 小时前
JavaScript 数组学习总结
开发语言·javascript·学习
虾球xz2 小时前
CppCon 2015 学习:Transducers, from Clojure to C++
开发语言·c++·学习
moxiaoran57538 小时前
uni-app学习笔记二十九--数据缓存
笔记·学习·uni-app
pop_xiaoli10 小时前
OC—UI学习-2
学习·ui·ios