首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vim:需要一个按名称切换到活动缓冲区的函数

Vim是一款功能强大的文本编辑器,它可以在终端中使用,并且具有很多高级的编辑功能。在Vim中,活动缓冲区指的是当前正在编辑的缓冲区,也就是当前打开的文件。

要实现按名称切换到活动缓冲区的功能,可以使用Vim的内置命令和函数来实现。下面是一个示例函数,可以根据输入的名称切换到对应的活动缓冲区:

代码语言:txt
复制
function! SwitchToBuffer(buffer_name)
    let buffer_number = bufnr(a:buffer_name)
    if buffer_number != -1
        execute 'buffer ' . buffer_number
    else
        echo "Buffer not found: " . a:buffer_name
    endif
endfunction

这个函数接受一个参数buffer_name,表示要切换到的缓冲区的名称。首先,使用bufnr()函数获取缓冲区的编号,如果返回值不等于-1,说明找到了对应的缓冲区。然后,使用execute命令执行buffer命令,将光标切换到指定的缓冲区。如果找不到对应的缓冲区,会输出一条错误信息。

在Vim中,可以将这个函数添加到.vimrc文件中,然后使用:call SwitchToBuffer('buffer_name')命令来调用函数,其中buffer_name是要切换到的缓冲区的名称。

Vim的优势在于其高度可定制性和强大的编辑功能。它支持各种编程语言,并且有丰富的插件生态系统。Vim也可以通过脚本和配置文件进行扩展和自定义,使其适应不同的开发需求。

关于Vim的更多信息和使用技巧,可以参考腾讯云的产品介绍页面:Vim产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

缓冲区列表简介

第三列则是缓冲区名称,一般vim会将文件名作为缓冲区名称 我们可以使用:bnext :ls 显示顺序,显示下一个缓冲区,:bprev 显示上一个缓冲区。...而h 则代表隐藏缓冲区,当一个缓冲区由激活状态变为非激活状态时候,vim会将其标记为隐藏缓冲区。 除了按照顺序显示缓冲区,还可以通过缓冲区名称或者序号来指定显示某个缓冲区。...例如项目中有ui文件、有python代码、也有c代码、甚至还有java代码,我现在要找一个名为showUserName 函数,而且我很清楚我要ui中内容,但是在python、c或者java中都有类似的函数名...后续可以将需要统一管理缓冲区使用该命令添加进来,除了使用详细文件名一个个添加之外,vim也支持使用通配符来进行匹配。...总结 本文到此就结束了,最后再来总结一下该文中使用到命令和快捷键: bnext: 切换到缓冲区列表中一个缓冲区 bprev: 切换到缓冲区列表中一个缓冲区 blast: 切换到缓冲区列表中最后一个缓冲区

55530

Linux常用命令12 - vi

为了能够输入文本,您需要进入插入模式下 i 键。 这种模式允许您以在常规文本编辑器中相同方式插入和删除字符。左下角会提示一个 insert。 ?...打开文件 使用 vim 打开文件,后面跟着要编辑或创建文件名称: vim file.text 保存文件 在 vim 中保存文件命令是:w。...按键盘最左上角 Esc :w 下 Enter 还有一个 update 命令:up,它只在文件中有未保存更改时才将缓冲区写入文件。...要以不同名称保存文件,输入:w new filename,然后 Enter 键。 保存文件并退出 在 vim 中保存文件并退出编辑器命令是:wq。...要保存文件并同时退出编辑器,请按 Esc 切换到正常模式,键入:wq 并按 Enter。 按键盘最左上角 Esc :wq 下 Enter ? 另一个保存文件并退出 vim 命令是:x。

2K30
  • vim从安装到熟练,这篇文章就够了

    [n] gt -- 切换到一个标签。如果前面加了 n , 就切换到第n个标签。第一个标签序号就是1。 gT--切换到一个。 :tab split -- 将当前缓冲区内容在新页签中打开。...:bp -- 上一个缓冲区。 :bl -- 最后一个缓冲区。 :b[n]或:[n]b -- 切换到第n个缓冲区。 :nbw(ipeout) -- 彻底删除第n个缓冲区。...(CTRL-W n或 CTRL-W CTRL-N) ctrl+w f --水平分割出一个窗口,并在新窗口打开名称为光标所在词文件 。...]]: 跳转到下一个函数块开始,需要有单独一行{。 []: 跳转到上一个函数块结束,需要有单独一行}。 ][: 跳转到下一个函数块结束,需要有单独一行}。...C-x C-n -- 缓冲区中出现过关键字补全。 直接C-n或C-p即可。

    4.7K10

    vim 从嫌弃到依赖(11)——标签页操作

    我们浏览器就是一个典型例子。 而vim似乎不是这样vim管理文件采用缓冲区列表方式,一个缓冲区对应一个显示窗口,而多个窗口可以显示在一个屏幕上。...有朝一日我一定要尝试用vim来摸鱼) 除了使用它来摸鱼,我们再来想象这么一个场景:我们在做一个项目,已经打开了需要代码文件,并且将它们经过了精心布局,但是这个时候来了新任务(以前老项目出bug了...,我们不想在精心布置窗口中插入这么一个第三者,总归心里有点别扭。这个时候我们新开一个标签页,在这个标签页里打开原来项目相关文件。当我们修复完这个bug之后,直接回到原来标签页。...切换标签页 在普通模式下使用gt 切换到一个标签页,使用gT 切换到一个标签页,也可以在命令模式中使用:tabn[ext] 和 tabp[revious] 来达到同样效果。...,它会将当前活动子窗口放到新标签页中 tabc[lose]: 关闭当前标签页 tabo[nly]: 关闭除当前激活标签页所有 gt 或 :tabn[ext]: 切换到一个标签页 gT 或 tabp

    55930

    Linux之基础开发工具

    :(shift + ;)即可进入 2.vim基本操作 1.进入vim 在系统提示符号输入vim及文件名称后,默认进入vim全屏幕编辑画面 $ vim test.c 2.正常模式操作 1....从插入模式返回正常模式,Esc 2.从正常模式切换到底行模式 输入: 从底行模式返回正常模式,Esc 3.移动光标 [h] [j] [k] [l]分别控制光标左、下、上、右移动 [G]光标移动到文本末尾...[r]替换光标所在位置一个字符(支持nr,将光标所在位置起n个字符转化为一个字符) [shift + ~]将光标所在位置字母进行大小写转化(一直着可以自动转换到这一行结束) [R]替换光标所到之处字符...撤销上一次操作 如果误执行了一个命令可以下[u]回到上一个操作(将该命令撤销),多次[u]可以执行多次撤销操作。...注意: 用\r回到当前行最开始,用新值覆盖旧值就能实现动态倒计时效果; 因为\r不会主动刷新缓冲区,导致缓冲区内容无法显示在显示器上,因此每一次都要用fflush函数缓冲区进行刷新; 因为

    26120

    vim 使用教程

    插入模式 ——> 普通模式 ESC由插入模式切换到普通模式 普通模式 ——> 可视模式 操作 说明 v 字符移动高亮 V 行高亮 ctrl + v 块高亮 vi{  选中{}中间内容,不包括{}...filename :bnext or :bn 切换到下个缓冲区 :bprev or :bp 切换到上个缓冲区 :bd 关闭缓冲区 :ls 列出所有打开缓冲区 :sp file 新建缓冲区打开 filename...垂直分割窗口 Ctrl + wh 切换到右侧窗口 Ctrl + wl 切换到左侧窗口 Ctrl + wj 切换到下侧窗口 Ctrl + wk 切换到上侧窗口 配置管理 Vim配置文件位于~/.vimrc...使用Leader键 vim组合键是通过按键序列来执行,例如qd这个操作,你只需要先按下q再按下d就好了,而不需要qd一起。 由于Vim已经占用了大量按键,导致我们配置快捷键时处处受限。...://vim-scripts.org/vim/scripts.html 插件 " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处用户名可以省略

    3K40

    vim使用之瞎扯淡

    filename :bnext or :bn 切换到下个缓冲区 :bprev or :bp 切换到上个缓冲区 :bd 关闭缓冲区 :ls 列出所有打开缓冲区 :sp file 新建缓冲区打开 filename...垂直分割窗口 Ctrl + wh 切换到右侧窗口 Ctrl + wl 切换到左侧窗口 Ctrl + wj 切换到下侧窗口 Ctrl + wk 切换到上侧窗口 配置管理 Vim配置文件位于~/.vimrc...k向上移动到新增一行 然而实际执行中,当你下dd时,文件会无限刷出空行直到你下,这是因为这一命令中jddk中dd也按照按键映射解读了。...使用Leader键 vim组合键是通过按键序列来执行,例如qd这个操作,你只需要先按下q再按下d就好了,而不需要qd一起。 由于Vim已经占用了大量按键,导致我们配置快捷键时处处受限。...://vim-scripts.org/vim/scripts.html 插件 " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处用户名可以省略

    64730

    vim编辑页面怎么退出_如何退出Vim编辑器?

    大家好,又见面了,我是你们朋友全栈君。 皈依舞 在输入命令之前,击中ESC钥匙..进入后,下回归来确认。ESC完成当前命令并将Vim换到正常模式..如果你下:,:将出现在底部屏幕上。...安全-退出(如果有未保存更改,则失败)::q[uit]退出电流窗户..如果这是最后一个窗口就退出Vim。当在当前进行更改时,此操作将失败。缓冲器....当文件为只读或缓冲区没有名称时,写入失败.:wqa[ll]*所有窗户。:wq!同样,但写甚至是只读文件。:wqa[ll]!*所有窗户。:x[it], ZZ(与细节)。...ZQ*不写就退出,当可见缓冲区发生更改时也是如此。当存在更改隐藏缓冲区时,不会退出。:qa[ll]!*, :quita[ll][!]*退出Vim,所有对缓冲区更改(包括隐藏)都会丢失。...这个答案没有引用所有Vim写和退出命令和参数。实际上,它们在VIM文档.vim有广泛内置帮助,输入ESC:help回归打开它。这个答案来自于另一个,最初由@dirvine编写,并由其他so用户编辑。

    4.7K10

    vim使用-常用命令

    ;c(confirm)表示确认;n(number)表示报告匹配到次数而不替换 vim 多文件操作 Buffer 什么是Buffer Buffer是只打开一个文件内存缓冲区 :ls ls会列举出当前缓冲区...,然后使用:b n跳转到第几个缓冲区 :bpre :bnext :bfirst :blast :e 文件名称 编辑新文件 窗口 什么是窗口 窗口是Buffer可视化分割区域 一个缓冲区可以分割多个窗口...正常模式常用命令 {N}gt: 切换到变化N标签页 gt: 切换到一个标签页 gT: 切换到一个标签页 vim 文本对象 什么是文本对象 比如一个字符,一个单词,一个句子,一个段落 文本对象操作方式...b寄存器,然后"bp,可以把寄存器b内容粘贴到指定位置 "+: 表示复制到系统剪贴板,需要查看vim是否支持,通过:echo has('clipboard')查看,输出1表明支持;然后去到其它文本就可以...$i"q: 去到行尾,i进入插入模式,输入双引号",q结束宏录制,这样就结束了针对一行操作 接下来回放宏,并且应用到接下来每行,需要使用vim特性,在命令行下执行normal模式命令,执行:

    1.5K30

    VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,标点或单词分割 W...强制退出,放弃修改 多文件编辑 vim file1.. 同时打开多个文件 :args 显示当前编辑文件 :next 切换到下个文件 :prev 切换到前个文件 :next!...不保存当前编辑文件并切换到上个文件 :wnext 保存当前编辑文件并切换到下个文件 :wprev 保存当前编辑文件并切换到上个文件 :first 定位首文件 :last 定位尾文件 ctrl+^ 快速在最近打开两个文件间切换...file :tabp 切换到一个标签 :tabn 切换到一个标签 :tabc 关闭当前标签 :tabo 关闭其他标签 gt 到下一个tab gT 到上一个tab 0gt 跳到第一个tab 5gt 跳到第五个...buffer操作 buffer状态 (非活动缓冲区) a (当前被激活缓冲区) h (隐藏缓冲区) % (当前缓冲区) # (交换缓冲区) = (只读缓冲区) + (已经更改缓冲区VIM

    1.7K20

    Vim常用快捷键

    标点或单词分割 W 跳到下一个字首,长跳,如end-of-line被认为是一个字 e 跳到下一个字尾 E 跳到下一个字尾,长跳 b 跳到上一个字 B 跳到上一个字,长跳 0 跳至行首,不管有无缩进,...强制退出,放弃修改 七、多文件编辑 vim file1.. 同时打开多个文件 :args 显示当前编辑文件 :next 切换到下个文件 :prev 切换到前个文件 **:next!...**不保存当前编辑文件并切换到上个文件 :wnext 保存当前编辑文件并切换到下个文件 :wprev 保存当前编辑文件并切换到上个文件 :first 定位首文件 :last 定位尾文件 ctrl+^ 快速在最近打开两个文件间切换...在新标签中打开文件file :tabp 切换到一个标签 :tabn 切换到一个标签 :tabc 关闭当前标签 :tabo 关闭其他标签 gt 到下一个tab gT 到上一个tab 0gt 跳到第一个...十三、buffer操作 buffer状态 - (非活动缓冲区) a (当前被激活缓冲区) h (隐藏缓冲区) % (当前缓冲区) # (交换缓冲区) = (只读缓冲区) + (已经更改缓冲区

    1.8K00

    超全Vim常用快捷键,建议收藏备用!

    标点或单词分割 W 跳到下一个字首,长跳,如end-of-line被认为是一个字 e 跳到下一个字尾 E 跳到下一个字尾,长跳 b 跳到上一个字 B 跳到上一个字,长跳 0 跳至行首,不管有无缩进,...强制退出,放弃修改 七、多文件编辑 vim file1.. 同时打开多个文件 :args 显示当前编辑文件 :next 切换到下个文件 :prev 切换到前个文件 **:next!...**不保存当前编辑文件并切换到上个文件 :wnext 保存当前编辑文件并切换到下个文件 :wprev 保存当前编辑文件并切换到上个文件 :first 定位首文件 :last 定位尾文件 ctrl+^ 快速在最近打开两个文件间切换...在新标签中打开文件file :tabp 切换到一个标签 :tabn 切换到一个标签 :tabc 关闭当前标签 :tabo 关闭其他标签 gt 到下一个tab gT 到上一个tab 0gt 跳到第一个...十三、buffer操作 buffer状态 - (非活动缓冲区) a (当前被激活缓冲区) h (隐藏缓冲区) % (当前缓冲区) # (交换缓冲区) = (只读缓冲区) + (已经更改缓冲区

    19.4K21

    Linux学习笔记之vim操作指令大全

    0x00 关于Vim Vim是款强大文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅。 Vim几种模式 正常模式:可以使用快捷键命令,或:输入命令行。...:tabe, tabnew – 如果加文件名,就在新标签中打开这个文件, 否则打开一个缓冲区。 ^w gf – 在新标签页里打开光标下路径指定文件。 :tabn – 切换到一个标签。...:tabp – 切换到一个标签。Control + PageUp,也可以。 [n] gt – 切换到一个标签。如果前面加了 n , 就切换到第n个标签。第一个标签序号就是1。...]]: 跳转到下一个函数块开始,需要有单独一行{。 []: 跳转到上一个函数块结束,需要有单独一行}。 ][: 跳转到下一个函数块结束,需要有单独一行}。...C-x C-o – 编程时可以补全关键字和函数名啊。 C-x C-i – 根据头文件内关键字补全。 C-x C-d – 补全宏定义。 C-x C-n – 缓冲区中出现过关键字补全。

    2.8K20

    【总结】vim命令使用总结,该来还是躲不掉啊晕

    写在前面 曾经我也天真的觉得如今很多软件都可以充当文本编辑器,像vim上手这么麻烦可以替代 但随着工作内容有需要在服务器上操作,不支持UI,这时候vim就显得格外重要,其实记住一些常用命令就行,没那么难...~ 先把需要分享(白嫖)资源写在前面,搜集vim键盘图&&命令总结共五份 有了一定vim基础后这些键盘图简直救命,看到好几个用作桌面壁纸 此外推介个大白话简明教程 https://github.com...来个基本案例,打开文本-写入内容-保存退出 vim example.txt 键盘下i 随便写,比如shadousheng 键盘ESC 键盘输入:wq(注意冒号是你需要输入符号而不是仅输入wq)..., - 反向重复之前f、t、F、T操作 } - 移动到下一个段落 (当编辑代码时则为函数/代码块) { - 移动到上一个段落 (当编辑代码时则为函数/代码块) zz - 移动屏幕使光标居中 zt -...窗口 多文件编辑 :e[dit] 文件名 - 新建缓冲区打开 filename :bn[ext] - 切换到下个缓冲区 :bp[revious] - 切换到上个缓冲区 :bd[elete] - 关闭缓冲区

    53221

    Linux 知识点汇总

    pattern匹配串处 vim -r test //发生系统崩溃,恢复文件 只读模式输入模式 i 光标前(光标在第一行第一列) a 光标后(光标在第一行第二列) I 当前行首 A 当前行尾 o/O...更新最新vim版本(vim,vim-common,vim-doc,vim-runtiem),切换到root权限下,打开vim配置文件(vim /etc/vim /vimrc),将需要命令前注释键#删除...malloc和new函数生成对象数据,即人为在内存上进行空间操作,它们在文件系统中没有相应”存储“文件,需要交换分区。...使用该命令,需要提前启动一个进程,即启动一个服务。...消息认证码:MAC消息和密钥公开函数,产生定长值作为认证符。 Hash 函数:将任意长消息映射为定长 hash值公开函数,以该hash值作为认证符。

    35810

    Vim实用技巧

    {cmd}各用于执行一次命令,:shell启动一个交互shell会话 2.挂起Vim,fg唤醒 六、管理多个文件 A.用缓冲区列表管理打开文件 1....:ls显示所有载入内存中缓冲区列表,:bnext可以切换到一个缓冲区 2....%:h,%代表活动缓冲区完整路径,:h修饰符会去除文件名但保留路径中其他部分 B.使用:find撕开文件 1.**通配会会匹配目录下所有子目录 2....:Explore(:E)打开文件管理器,并显示活动缓冲区所在目录 3.:Sexplore及:Vexplore,在一个再来水平切分窗口及垂直切分窗口打开文件管理器 D.把文件保存到不存在目录中 1....{number}@q D.给宏追加命令 1.使用qA,大写{register}即可追加 十二、模式匹配及原义匹配 A.调整查找模式大小写敏感性 1.使用元字符\c和\C,可以覆盖Vim缺省大小写敏感设置

    2.6K30

    从零开始配置 vim(13)——标签页插件

    ").setup{} 启用之后我们发现它将所有缓冲区都以标签页形式显示出来了。...buffer_id 代表真实缓冲区 id,ordinal 应该是由该插件指定一个 id,它与 buffer_id 并不相同,这里我们还是采用它默认 ordinal 选项。...", {noremap = true, silent = true}) --- gt 切换到一个,gT切换到一个 接下来为了方便 buffer管理。...在介绍命令模式时候说过 % 可以代表当前文件名称。而 buffer 名称与当前所关联文件名称相同。...简单来说它会将所有标签页都标记一个字母,然后等待用户下标签所对应字母,以便对对应标签页进行操作。他效果如下图 第二种形式统一了 tab 和 buffer 行为。我自己基本不使用 tab。

    1.2K10

    两个成倍提高工作效率 Vim 使用技巧

    下 i 切换到交互模式然后输入文本。完成之后,键入 :wq 关闭并保存文件。 ? 这些文本会在剪贴板中可用,直到你重启了系统。在你关闭编辑器之后,你之前应用会重新占据主界面。...这仅仅只是一个例子。你甚至可以使用 Vim-anywhere 在烦人 web 表单或者其他应用上进行输入。一旦 Vim-anywhere 被调用,它将会打开一个缓冲区。...请运行: $ vim file1.txt file2.txt Vim顺序显示文件内容。首先显示第一个文件内容,然后显示第二个文件,依此类推。 ?...您将在底部看到加载文件列表。 ? 要切换到一个文件,请输入 :buffer,后跟缓冲区编号。例如,要切换到一个文件,请键入: :buffer 1 ?...要切换到一个文件,请输入 :buffer,然后输入文件缓冲区编号。 - 将一个文件内容复制到另一个文件中 您已经知道了如何同时打开和编辑多个文件。

    1.2K60

    vim编辑器和gccg++编辑器使用讲解

    基本操作 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面: 例如: vim test.c 创建test.c文件并且直接进入该文件编辑 想要退出vim及保存文件,需要换到底行模式...3.2 删除文字 「x」:每一次,删除光标所在位置一个字符 「#x」:例如,「6x」表示删除光标所在位置“后面(包含自己在内)”6个字符 「X」:大写X,每一次,删除光标所在位置“前面”一个字符...「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在该行“往下数”6行文字。 「p」:将缓冲区字符贴到光标所在位置。...3.4 替换 「r」:替换光标所在处字符 「R」:替换光标所到之处字符,直到下「ESC」键为止 3.5 撤销 「u」:如果您误执行一个命令,可以马上下「u」,回到上一个操作。...键,再输入您想寻找字符,如果第一次找关键字不是您想要,可以一直 「n」会往前寻找到您要关键字为止 二者区别就是一个n往前找,一个n往后找 例如: 4.4 保存退出 w (保存当前文件

    16910

    Linux之yum与vim使用

    vim基本使用 vim基本概念 vim模式切换 vim正常模式命令集 vim底行模式操作 vim配置 简单vim配置 一键配置vim 配置sudo权限 写在前面 商业生态 我们在安装一个软件之前都需要安装对应软件包...也就是说安装软件需要向系统目录中写入内容,一般需要root权限,如果时普通用户身份则需要使用sudo提权。yum安装软件只能一个装完了再装另一个....要查看你所有模式:打开vim,底行模式直接输入help vim-modes 当我们使用vim打开一个文件时默认是处于命令模式下,我们可以通过如下指令切换到其他模式下: [正常模式]切换至[插入模式...,不存盘强制退出vim) 从其他模式切换到命令模式只需要按[Esc]键即可,只是有的只需要按一次,有的需要按多次,总之无脑[Esc]总是可以回到命令模式。...「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在该行“往下数”6行文字。 「p」:将缓冲区字符贴到光标所在位置。

    1.6K00
    领券