Vim 实用技巧必知必会
吴咏炜
前 Intel 资深软件架构师
新⼈⾸单¥19.9
2400 人已学习
课程目录
已完结 24 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (2讲)
开篇词|我们为什么要学 Vim?
免费
导读|池建强:Vim 就是四个字“唯快不破”
基础篇 (10讲)
01|各平台下的 Vim 安装方法:上路前准备好你的宝马
02|基本概念和基础命令:应对简单的编辑任务
03|更多常用命令:应对稍复杂的编辑任务
04|初步定制:让你的 Vim 更顺手
05|多文件打开与缓冲区:复制粘贴的正确姿势
06|窗口和标签页:修改、对比多个文件的正确姿势
07|正则表达式:实现文件内容的搜索和替换
08|基本编程支持:规避、解决编程时的常见问题
09|七大常用技巧:让编辑效率再上一个台阶
10|代码重构实验:在实战中提高编辑熟练度
提高篇 (6讲)
11|文本的细节:关于字符、编码、行你所需要知道的一切
12|语法加亮和配色方案:颜即正义
13|YouCompleteMe:Vim 里的自动完成
14|Vim 脚本简介:开始你的深度定制
15|插件荟萃:不可或缺的插件
16|终端和 GDB 支持:不离开 Vim 完成开发任务
拓展篇 (5讲)
拓展1|纯文本编辑:使用 Vim 书写中英文文档
拓展2|C 程序员的 Vim 工作环境:C 代码的搜索、提示和自动完成
拓展3|Python 程序员的 Vim 工作环境:完整的 Python 开发环境
拓展4 | 插件样例分析:自己动手改进插件
拓展5 | 其他插件和技巧:吴咏炜的箱底私藏
结束语 (1讲)
结束语|Vim 森林探秘,一切才刚刚开始
Vim 实用技巧必知必会
15
15
1.0x
00:00/00:00
登录|注册

16|终端和 GDB 支持:不离开 Vim 完成开发任务

吴咏炜 2020-09-09
你好,我是吴咏炜。
早在 Vim 和 Emacs 的“圣战”时期,Emacs 有个功能可是 Vim 用户一直暗暗垂涎的,那就是可以集成 GDB 来调试程序。Emacs 之所以能够实现这个功能,是因为它可以模拟一个终端环境,像终端一样跟一个程序进行输入输出的交互。这样一来,我们不离开编辑器,也能调试程序,既可以方便地看到目前执行在源代码的第几行,也可以直接在编辑器里跟执行中的程序进行交互。
很多主流的开发环境都支持类似的功能。但 Vim 一直不支持这样的功能,直到 Vim 8。虽然到得有点晚,但 Vim 也算是厚积薄发,利用 libvterm 给出了完整的终端支持。今天,我们就拿终端窗口支持和 GDB 支持,作为我们最后的技术话题来介绍了。

终端窗口支持

基本用法

使用 :terminal(缩写 :term)命令,我们可以在 Vim 的窗口中运行终端模拟器。基本的用法就是下面两种:
使用 :terminal,后面不跟其他命令,分割一个新窗口,并使用默认的 shell 程序进行终端模拟;shell 退出后窗口自动关闭(可用使用命令参数 ++noclose 改变这一行为)。
使用 :terminal 命令 的方式,分割一个新窗口,在其中运行指定的命令并进行终端模拟;命令执行完成退出后窗口不自动关闭,保留执行中显示的信息(可用使用命令参数 ++close 改变这一行为)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Vim 实用技巧必知必会》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥19.9
立即订阅
登录 后留言

精选留言(4)

  • Fstar
    老师,怎么在vimrc设置默认shell啊,Windows 下我每次打开默认打开的是 cmd,我想用的是 powershell,每次打开都要敲 :term powershell,命令有点长(当然我也想到一个解决方案是加个快捷方式 \t

    作者回复: :help 'shell'
    :set shell=powershell.exe

    2020-09-16
  • 唐龙
    首先体验了一下`:tab term`的无限递归,我一直都挺喜欢用多个标签页的。

    后面试了一下gdb,突然发现我几乎没用过gdb,就记得start run b c s这么几个命令,但是也确实体验到了在中间那一栏输出。

    虽然还不太熟练,但是我设想了一下,以后再写项目的时候,切换文件直接用`:e`,编辑多个文件用多个标签页,除了gdb调试的时候基本不会主动使用多窗口,但是gdb调试用多窗口还是挺舒服的。
    当然也可以写一些快捷键简化上述操作,比如:`nnoremap <leader>o :tabnew `。

    整篇课程里80%+的插件自己都尝试了一下,`frazrepo/vim-rainbow`在我看来就特别香。

    感觉自己还可以进一步的做些定制,主要是快捷键,到时候再假装vim是IDE,奈斯。

    作者回复: 不错不错,多多练习就对了。

    2020-09-09
  • 我来也
    学习了.
    有时间了再好好研究研究.

    这个功能对我来说还比较陌生.
    之前是用tmux来实现终端的一部分功能.

    在使用了`vim-dispatch`插件后,才知道这个功能这么方便.
    可以单独开一个小终端去执行make中的编译操作,
    主窗口还是继续做自己的事情.

    这样编译结束或出错了,立马就知道了,也不用傻等.

    ----
    老师在写专栏的过程中没少恶补周边知识吧,哈哈。

    平常自己折腾的话,不需要掌握的特别全,能用和好用就够了.
    但是写专栏时,就需要知识比较全,且是准确无误的,有时还需要知道来龙去脉.

    ----
    不知不觉专栏的正文部分都结束了,不舍。������

    作者回复: 老师在写专栏的过程中没少恶补周边知识吧,哈哈。
    ------------------

    回头看结束语,你就知道了。:-)

    2020-09-09
  • doge
    学到了,单文件调试效果确实不错。不过大型项目的调试感觉不是特别好用了。

    作者回复: 比以前有进步。:-)

    2020-09-09
收起评论
4
返回
顶部