1 Star 3 Fork 0

X.U./my-vimrc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

my-vimrc

我的Vim和Neovim配置
My Vim & Neovim config



环境需求

操作系统

目前测试了Windows >= 10Ubuntu >= 18.04系统,
我手头上没有Mac电脑,所以暂时没有适配macOS

应用程序版本

如果你习惯使用Vim,请保证版本号 Vim >= 7.3.1058
如果你习惯使用Neovim,请保证版本号 Neovim >= 0.8

版本号低于要求时,可能会有部分功能无法正常使用。

主要功能

  • 目录文件树、命令行、文件历史版本管理、底部状态栏、粘贴板历史、代码标签树、文件和内容的模糊检索、代码格式化、代码补全与跳转(Neovim)、代码调试(Neovim)等。
  • 本套配置中,Vim的定位是增强版的文本编辑器,而非IDE;Neovim可以承担IDE的一部分功能,但也不能完全取代IDE
  • 如果需要在嵌入式设备上配置Vim,或者发现.vimrc配置导致Vim打开文件缓慢、浏览文件时卡顿,可以使用精简版的.vimrc.fast配置文件。精简版的配置保留了大部分主要功能,并使用了更加轻量的插件。

配置我的Vim

Vim Logo

使用完全版配置.vimrc

切换路径至本仓库目录下,复制本仓库的.vimrc作为用户的Vim默认配置文件。

cp ./.vimrc ~/.vimrc

配置中使用了vim-plug作为Vim的插件管理器。首次运行配置过的Vim时,Vim会自动下载并安装插件管理器,并自动安装一系列插件。
主要功能插件的快捷键是<F2> ~ <F5><F7> ~ <F9>。安装完毕后重新进入Vim,即可按动快捷键查看插件是否工作正常。

⚠️注意:

  1. 如果插件下载安装进度过慢或显示某些插件安装失败,请退出Vim,然后尝试重新打开Vim输入命令:PlugInstall来下载安装这些插件。
  2. 配置文件默认使用加速网站来加快对github的访问,如需更换回原始的github网址,请更改配置文件中的GITHUB_RAWGITHUB_SITE变量值,将被注释掉的变量值还原。在改变网址后所有已安装插件都需要更新,输入命令:PlugClean:PlugInstall来重新下载安装插件。

使用精简版配置.vimrc.fast

精简版的配置目标是——首先保证Vim的启动速度和使用流畅性,其次添加方便用户的功能。精简版配置删去了一些不必要的插件,并且使用了更加轻量的插件。使用精简版配置后,Vim会拥有飞快的启动速度,用户将获得流畅的编辑体验。

切换路径至本仓库目录下,复制本仓库的.vimrc.fast作为用户的Vim默认配置文件。

cp ./.vimrc.fast ~/.vimrc

安装插件等操作与完全版配置相同。精简版配置中默认没有占用<F5>功能键,其它功能键的分布与完全版一致。

配置我的Neovim

Neovim
Neovim编辑器是对传统Vim编辑器的重构。Neovim拥有着强大的:

  • 可扩展性——几乎所有主流语言都可以轻松访问Neovim的API,因此大家能够很容易地编写它的插件。Neovim对lua语言的内建支持使得插件可以飞速运行,这让流畅的代码补全和语法高亮等功能成为可能。
  • 可用性——Neovim修缮了Vim过时的默认配置(Neovim定制了一套自己的新默认配置),并添加了现代编辑器的新功能,如现代GUI、异步加载和终端模拟器等。

安装Neovim

本仓库的Neovim配置文件需要比较新的Neovim版本,大多数的包管理器软件源尚未更新该版本,因此需要遵循官方文档手动安装。

对于x86_64架构的Linux系统,执行如下操作来下载Neovim的可执行文件,下载后应当可以直接运行Neovim。

🟨展开安装步骤,适用于x86_64架构的Linux系统
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
./nvim.appimage

此时Neovim应当开始运行。

nvim.appimage是Neovim的启动程序,可以将其改名为nvim放置在/usr/bin/目录下(需要sudo权限。/usr/bin/目录应当存在于$PATH中,操作后所有用户均可使用nvim命令)。

chmod +x nvim.appimage
sudo mv ./nvim.appimage /usr/bin/nvim

或改名为nvim放置在~/.local/bin/目录下(无需sudo权限。~/.local/bin/应当存在于$PATH中,操作后仅当前用户可使用nvim命令)。

mv ./nvim.appimage ~/.local/bin/nvim

💡如果nvim.appimage执行失败(在确认文件已经完整下载后,仍然执行失败),可以手动从安装包里解压Neovim相关文件到本地。

./nvim.appimage --appimage-extract
./squashfs-root/AppRun --version

如果要全局安装(需sudo权限),先对相关文件进行移动,再将可执行文件软连接到系统二进制文件目录下,命名为nvim。操作完成后,使用nvim命令便可以启动Neovim。

sudo mv squashfs-root /
sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
nvim

💡如果没有sudo权限,可以仅对当前用户安装Neovim。对Ubuntu系统而言,可以将程序数据移动至当前用户$HOME下的.local/目录(这是Ubuntu默认用于存放当前用户应用数据的位置);然后将可执行文件软连接至~/.local/bin/nvim~/.local/bin/目录是Ubuntu系统默认用于存放当前用户可执行文件的位置,并应当默认存在于当前用户的$PATH中)。

mv squashfs-root ~/.local/
ln -s ~/.local/squashfs-root/AppRun ~/.local/bin/nvim
nvim

配置Neovim

切换路径至本仓库目录下,复制本仓库的init.vim作为用户的Neovim默认配置文件。
在Linux系统上,应当将Neovim配置文件init.vim放置于~/.config/nvim/目录

mkdir -p ~/.config/nvim/
cp ./init.vim ~/.config/nvim/init.vim

对于Windows系统,用户需要将Neovim配置文件init.vim放置于~\AppData\Local\nvim\目录

# 使用PowerShell
mkdir "~\AppData\Local\nvim\"
cp .\init.vim "~\AppData\Local\nvim\init.vim"

在终端输入nvim进入Neovim,此时将自动开始下载插件管理器plug.vim。下载完毕后Neovim会报告一系列插件未找到的错误,这是正常现象。按下大写的G跳转到信息末尾,即可自动安装所有插件。

主要功能插件的快捷键是<F2> ~ <F9>。安装完毕后重新进入Neovim,即可按动快捷键查看插件是否工作正常。

⚠️注意:

  1. 如果插件下载安装进度过慢或显示某些插件安装失败,请退出Neovim,然后尝试重新打开Neovim输入命令:PlugInstall来下载安装这些插件。
  2. 配置文件默认使用加速网站来加快对github的访问,如需更换回原始的github网址,请更改配置文件中的GITHUB_RAWGITHUB_SITE变量值,将被注释掉的变量值还原。在改变网址后所有已安装插件都需要更新,输入命令:PlugClean:PlugInstall来重新下载安装插件。

主要快捷键

✅按键的描述方式

  • <F2>表示短促地按一下F2功能键。
    有些电脑的功能键需要先按住fn键才能启用,建议设置成不需要按fn键就能直接用。
  • <C-p><C-P>都表示先按住Ctrl不松手,再直接按下键盘上的p键。

<F2> 文件浏览器

以文件树的方式查看当前目录。可以在其中打开/删除/新建文件等。再按一次快捷键可关闭窗口。


<F3> 系统终端

在编辑器内部打开一个系统终端。再次按下该快捷键可隐藏或关闭此终端窗口。

🟨展开详细说明

Vim完全版配置

  • 若当前Vim原生支持终端功能(:echo has('terminal')打印返回值为1),则使用voldikss/vim-floaterm插件。

    • 直接按下<F3>后,一个系统终端会出现在界面下方。终端内部的操作方式和系统原生终端一致,支持Tab命令补全,上下翻阅历史记录等操作。
    • 先按下某个数字键再按下<F3>,会开启一个新的终端,不同编号的终端彼此独立。
    • 同一时间只能显示一个终端,其余的自动被隐藏。被隐藏的终端里运行的程序不会被打断。
    • 无论当前位于哪一个编号的终端,再次按下<F3>都可隐藏当前终端窗口。被隐藏的终端里运行的程序不会被打断。
  • 若当前Vim不支持终端功能,则使用Shougo/vimshell.vim插件。该插件可以在Vim中模拟一个终端窗口。

    • 🟨本插件在安装时需要调用makeg++等命令来生成所需要的库,请事先安装相关的编译工具。
    • 支持Tab命令补全,<C-P>上翻历史记录,<C-N>下翻。
    • 再次按下<F3>可隐藏当前终端窗口,终端内运行的程序不会被打断。

Vim精简版配置

  • 若当前Vim原生支持终端功能(:echo has('terminal')打印返回值为1),则按下<F3>后界面下方会出现一个新的终端窗口。再次按下<F3>可关闭此终端窗口。

    • 🟨终端被关闭时,里面运行的程序会被终止。
  • 若当前Vim不支持终端功能,按下<F3>后会自动执行Vim的:shell命令,屏幕下方会出现一行提示。

    • 此时按任意键即可离开Vim,进入终端。
    • 使用完毕后,在终端内按下<C-D>或执行exit命令,即可结束终端,回到Vim。
    • 🟨终端被关闭时,里面运行的程序会被终止。

Neovim

使用akinsho/toggleterm.nvim插件。

  • 直接按下<F3>后,一个系统终端会出现在界面下方。终端内部的操作方式和系统原生终端一致,支持Tab命令补全,上下翻阅历史记录等操作。
  • 再次按下<F3>可隐藏当前终端窗口,终端内运行的程序不会被打断。
  • 先按下某个数字键再按下<F3>会开启一个新的终端,不同编号的终端彼此独立。不同终端可以同时分屏显示。
  • 按下<Esc>,然后按数字键再按下<F3>,可隐藏指定编号的终端窗口。被隐藏的终端里运行的程序不会被打断。

<F4> 文件历史版本

展示当前文件撤销和重做的历史记录。历史记录可以分叉,并且可以随时将文件内容回退或前进到选定历史版本。再按一次快捷键可关闭窗口。


<F5> 底部状态栏

开启或关闭底部状态栏(默认开启)。状态栏可以显示当前的Vim模式与当前文件的详细信息,如行列号/文件路径/编码/当前按键等。再按一次快捷键可切换状态栏的开关状态。


<F6> 【Neovim】代码调试器

仅适用于Neovim。打开代码调试器,对当前脚本或指定程序进行调试。再按一次快捷键可关闭窗口。

  • 🟨本插件会调用系统中相应的代码调试工具,如gdb(需要安装GCC) pdb(需要安装Python)等,满足依赖后该插件即可调试对应的代码。

<F7> 粘贴板历史

列举最近在编辑器内部复制的所有内容。输入数字或双击对应行,即可粘贴相应内容。再按一次快捷键可关闭窗口。


<F8> 代码标签树

分析并展示当前代码文件的所有标签(指函数/变量/包含文件/宏等),依赖于外部ctags程序。鼠标双击/键盘回车某个标签,即可跳转至标签定义位置。再按一次快捷键可关闭窗口。

  • 🟨本插件需要提供ctags程序方可工作,ctags可通过包管理器安装。ctags命令一般由universal-ctags包和exuberant-ctags包提供,该插件同时兼容两者,但建议安装仍在更新的universal-ctags

<F9> 模糊检索器

快速对文件名/文件内容/标签等信息进行模糊检索。无须记住整个文件路径,只需输入文件路径和文件名的几个字母,即可交互式地进行查找。再按一次快捷键可关闭窗口。

🟨展开详细说明

Vim完全版配置

基于ctrlpvim/ctrlp插件。默认状态下为文件名查找模式,输入大致的文件路径和名称即可进行模糊查找。方向键选择查询结果,回车键打开选择的文件。<C-f><C-b>切换查找的类别(files文件/tags标签等)。
若要查询tags标签,需要在当前目录下提供ctags生成的标签文件。在项目根目录下执行ctags -R .即可生成整个项目的tags文件。

  • 🟦默认在当前工作目录下进行查找。如需查询其他目录下的内容,可手动输入命令:CtrlP 目录名
  • 🟦额外安装文件内容检索工具rgag,可提高本插件的检索效率。两者之中rg的效率略高于ag

Vim精简版配置

基于mileszs/ack.vim插件。按下<F9>后,在Vim界面下方的命令行中输入要查找的文件名称(名称的一部分也可)或“grep正则表达式”。输入完毕后按下回车键,即可在当前工作目录下搜索指定文件。

  • 🟨需要额外安装文件内容检索工具ag,才能正常使用此功能。
    rg的文件搜索接口和本插件不兼容,所以这里用效率稍逊一些的ag
  • 🟦默认在当前工作目录下进行查找。如需查询其他目录下的内容,可在目标文件后写明搜索目录,如:AckFile! 搜索目标 搜索目录

Neovim

基于nvim-telescope/telescope.nvim插件。<F9>进入后只需输入文件路径和文件名的几个字母,即可交互式查找文件位置。

  • 🟦默认在当前工作目录下进行查找。如需查询其他目录下的内容,可手动输入命令:Telescope find_files search_dirs=目录名
  • 🟦额外安装文件内容检索工具rg和文件位置搜索工具fd,可提高本插件的检索效率。

辅助快捷键

✅按键的描述方式

  • <Leader>t表示先短促地按一下反斜杠\(即Leader键),紧接着再短促地按一下小写的t
    两次按键间隔要短,不然编辑器会认为这是两次不相关的输入。
  • <Leader>ve表示依次快速按一下反斜杠\、小写的v和小写的e。按键间隔要短。
  • F(大写F)表示先按住Shift不松手,再按下小写的f,此时输出大写的F
  • <Leader>F表示先短促地按一下反斜杠\,紧接着再短促地按一下大写的F(按Shift不松手并按f)。
  • cY表示先短促地按一下c,紧接着再短促地按一下大写的Y

<Leader>ve 编辑配置文件

快速打开并编辑Vim/Neovim配置文件。打开的配置文件位于一个新的标签页中。

<Leader>vs 保存并更新配置

保存当前已打开的所有可写文件,并使Vim/Neovim配置马上生效。

<Leader>vi 安装插件

先保存并更新配置(若配置文件有错误,忽略报错),然后安装配置文件中新列举的插件。

如果你需要引入某个新插件,可以先在配置文件的插件列表里添加你的插件信息,然后使用此快捷键下载安装对应的新插件到电脑。

<Leader>vc 删除插件

先保存并更新配置(若配置文件有错误,忽略报错),然后删除配置文件中未列举的插件。

如果你不再需要某个旧插件,可以先在配置文件中删除插件列表里的对应那一行,然后使用此快捷键删除电脑上的旧插件本体。

<Leader>vu 更新插件

先保存并更新配置(若配置文件有错误,忽略报错),然后更新配置文件中已列举的插件。


cY 复制行到系统剪贴板

这里往下的四个快捷键都与系统剪贴板相关,其中cYcy快捷键用起来非常方便,强烈推荐

cY的用法和效果类似于Vim中的yy,用来复制Vim当前行的内容到系统剪贴板。在Vim里复制成功后,我们可以将文字内容粘贴到操作系统的其它程序中(如浏览器等)。

🟨展开详细说明
  • 🟨在使用系统剪贴板相关的功能前,需要安装哪些依赖呢?

    1. 如果你正在使用Windows版本的gVim或Neovim——没问题!请拿好你的cYcy快捷键~
      如果你的电脑上拥有PowerShell 5.1或更高,那么你可以使用cYcycPcp全部四个快捷键,好好享受属于你的Vim时光吧!

    2. 如果你正在某个终端模拟器中使用Vim(无论使用的是本地的Vim还是SSH远程服务器的Vim),不妨看一看这张表~
      如果你使用的终端模拟器支持OSC52功能——恭喜你!你可以尽情使用cYcy快捷键,不需要安装任何其它依赖!
      (Windows Terminal和iTerm2都支持,但Linux上的GNOME Terminal尚未支持)

    3. 如果你正在通过SSH连接Linux机器——请确保Linux端SSH服务器配置/etc/ssh/sshd_config打开了X11转发功能X11Forwarding yes
      如果X11转发功能已经打开,我们可以在Linux上安装XSel,XSel能通过X11转发来远程控制Linux的系统剪贴板。
      安装完毕后,在本地使用ssh -X ...命令连接Linux机器(-X表示本次连接允许X11转发),在Linux终端里打开Vim即可使用cYcycPcp全部四个快捷键~

    4. 如果你正在Linux系统的图形界面终端里直接使用Vim——以Ubuntu的GNOME Terminal为例,只需要安装wl-clipboard包即可使用cYcycPcp全部四个快捷键~

cy 复制指定内容到系统剪贴板

复制Vim的指定内容到系统剪贴板,用法类似于Vim的“复制”快捷键y

  • 如果需要复制当前行和下两行的内容,只需要依次按下cy2j即可。
  • 如果需要复制选定区域的内容,请先使用光标或者“Visual操作”划定要复制的范围,然后依次按下cy即可。

cP 粘贴系统剪贴板内容到下一行

获取系统剪贴板的内容,然后将其粘贴到Vim当前行的下一行。用法类似于p

  • 🟨在Windows上粘贴非ASCII字符时,可能会粘贴为乱码。Windows系统同时使用多套不同的字符编码,所以在粘贴时可能会引起乱码。
  • 🟦不建议使用此快捷键,建议通过终端模拟器自身提供的方式来粘贴内容,如<C-S-V>(适用于Windows Terminal、Linux GNOME Terminal等)或<S-Ins>(适用于Git Bash、Cygwin、MSYS2等)。

cp 用系统剪贴板内容替换指定内容

获取系统剪贴板的内容,然后用其替换Vim文中的指定内容,用法类似于Vim的“删除”快捷键d

  • 可以理解为“先删除文中的指定内容,再粘贴系统剪贴板的内容到该位置”。
  • 额外的注意要点和cP相同。不建议使用此快捷键

<Leader>l 空白字符开关

展示/隐藏空白字符,按多次可在展示/隐藏间来回切换。


<Leader>p 粘贴模式开关

进入/退出粘贴模式。在粘贴模式下,自动缩进和一些插件功能会自动关闭。对于Vim来说,需要从外部(如博客等)粘贴内容进入编辑器时,如果内容包含复杂的换行和缩进,建议先切换成粘贴模式再粘贴,以避免错误激活自动缩进和插件功能。按多次可在进入/退出粘贴模式间来回切换。


<Leader>t 制表符/空格切换

<Tab>的输入在空格和制表符\t之间切换,本配置文件默认配置<Tab>的输入为四个空格。


<Leader>f 代码局部格式化

美化代码的指定行/块。需要外部的软件支持。

<Leader>F 代码全局格式化

美化整个代码文件。需要外部的软件支持。

<Leader>s 删除多余空格

删除所有多余的空格。在行尾多余的空格会被红色高亮显示,该操作可以快速删除这些多余空格。

  • 🟨在某些语言(如Markdown)的语法中,行尾空格是有实际语法意义的,这种情况下请不要轻易使用本快捷键。

<Leader>a 检索光标处单词

检索当前光标处单词(应该会用下划线标出)在其它文件中出现的位置。

🟨展开详细说明

Vim完全版配置

基于mileszs/ack.vim插件。

  • 🟨需要额外安装文件内容检索工具rgag,才能正常使用此功能。两者之中rg的效率略高于ag
  • 🟦如果使用rg作为检索工具,可以进一步提高<Leader>a<Leader>A的检索速度。但rg文件搜索接口mileszs/ack.vim插件不兼容,我们将无法使用该插件提供的“文件检索”功能。
    在Vim完全版配置中,我们使用ctrlpvim/ctrlp插件来完成“文件检索”,因此无需在意使用rg带来的副作用。

Vim精简版配置

基于mileszs/ack.vim插件。

  • 🟨需要额外安装文件内容检索工具ag,才能正常使用此功能。
    rg的文件搜索接口和该插件不兼容(见Vim精简版配置的<F9>功能),所以这里我们用效率稍逊一些的ag

Neovim

基于nvim-telescope/telescope.nvim插件。

  • 🟦额外安装文件内容检索工具rg,可提高本插件的检索效率。

<Leader>A 检索给定单词

检索给定单词在其它文件中出现的位置。按下此快捷键后,输入要查找的内容,会返回该内容在其它文件中出现的位置。相关该功能的依赖需求同上。


<Leader>d LSP代码诊断开关

【Neovim】展示/隐藏LSP的代码诊断信息。


更多关于快捷键的信息,请见配置文件最后的hotkeys部分。

【Neovim】代码补全、内容跳转等

🔍LSP 语言服务器协议

语言服务器协议(Language Server Protocol,简称LSP)是由微软等机构,为了统一不同编辑器上各种语言的代码补全、内容跳转等功能,而提出的协议
在过去,每个不同的编辑器(或IDE)都需要编写一套自己的业务逻辑来支持各种编程语言的代码补全、内容跳转等功能——假如市面上有m个编辑器(或IDE),每个都要支持n种编程语言,那就一共需要编写m*n套业务逻辑,来实现不同编辑器上各种语言的代码补全等功能,非常麻烦。 No LSP vs LSP LSP简化了这个过程,协议约定——
先有一套LSP通信协议规范,我们只需要为这n种编程语言设计各自的语言服务器(服务器运行着针对自己语言的代码补全等算法),再为市面上的m个编辑器(或IDE)设计它们的客户端(客户端向服务器发送代码补全的请求,然后把收到的结果展示给用户),最后让服务器和客户端按照LSP规定通信。
同样的问题,LSP的解决方案只需要编写m+n套逻辑,统一而简洁。

🆅 安装本地LSP服务器并配置Neovim LSP客户端

Neovim提供了内置的LSP客户端,配合系统里下载好的LSP语言服务器,我们便可以在Neovim中体验到流畅的代码补全、内容跳转等功能。下面以配置Python3语言的代码自动补全等功能为例。

  1. 下载并安装Python3的LSP语言服务器。
    通过查询LSP语言服务器列表,我们采用pylsp程序包作为Python3的语言服务器。按照该项目的README.md说明,使用pip进行全套工具安装。安装完毕后,终端中pylsp -V命令应当可用。
pip install "python-lsp-server[all]"
  1. 在Neovim的init.vim配置文件中,注册pylsp语言服务器。
    在配置文件中找到Language Server Protocol (LSP) server configs一栏,在其中的MY_LSP_SERVER_LIST列表里向后添加一行新的语言服务器。保存后退出。
-- register your installed LSP server here
MY_LSP_SERVER_LIST = {
    其它语言服务器,
    "pylsp",
}
  1. 使用Neovim打开一个Python3代码文件,在Neovim中输入命令:LspInfo,此时应当显示Neovim的LSP客户端已经找到了本地的pylsp服务器。尝试输入代码,自动补全和函数签名等功能应当自动开始工作。

⌨️相关快捷键

按键 功能
gD 跳转到当前光标处词条(会用下划线标出)的声明位置。按<C-t>跳转回去。
gd 跳转到当前光标处词条的定义位置。按<C-t>跳转回去。
K 展示当前光标处词条的详细信息(如变量的类别信息/函数的签名/库的介绍等)。
gr 展示当前光标处词条的所有引用
gs 展示当前光标处函数实参对应的函数形参与函数签名
gi 展示当前光标处词条的所有实现
gt 跳转到当前光标处类别定义位置。按<C-t>跳转回去。

附:关于Vim的标签跳转

Vim虽然没有对LSP的内建支持,但仍原生支持代码的标签跳转功能。具体操作如下:

  1. 先在项目代码的根目录下执行ctags -R .,递归生成整个项目的tags标签文件。
  2. 接着在项目根目录下打开项目中任何一个代码文件,在要查询定义的词条处按下<C-]>
  3. 如果tags文件中包含了该词条的信息,此时Vim将跳转到该词条的定义处(可以跨代码文件跳转)。
  4. <C-t>,可回到上一次跳转前的位置。如果之前进行了多次跳转,按多次<C-t>可以一级一级地回去。

【Neovim】代码/程序调试

使用说明

按下快捷键呼出代码调试器后,调试器会根据当前打开文件的类型,自动选择合适的调试器。若无法自动选择,请按下数字键手动选择你想要的调试器。

若进入了gdb调试器,请先执行以下命令:

  1. file <待调试的二进制文件路径>,打开你要调试的二进制文件。
  2. b <函数名或断点行号>,给代码分配断点。
  3. r,开始调试程序,程序将在断点处停止。

执行上述命令后,界面将会自动分割为上下两个窗口,分别显示代码和gdb调试命令行。

✅按键的描述方式

  • <M-p>表示先按住Alt不松手,再按下小写的p

⌨️相关快捷键

在开启调试器后,处于Normal模式时,可以使用如下快捷键帮助调试。

按键 功能
<M-r> 开始运行或重新运行程序。
<M-n> 单步跳过。
<M-s> 单步进入。
<M-f> 执行到当前栈帧结束。
<M-c> 继续执行程序。
<M-t> 光标位于代码窗口时,执行程序到当前光标所在行前停止。
<M-b> 光标位于代码窗口时,给当前光标所在行打上/取消断点。
<M-q> 退出调试器。
<M-e> 光标位于代码窗口时,打印当前光标所在位置变量的值。
MIT License Copyright (c) 2021 NewComer00 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

📜我的Vim和Neovim配置 | My Vim & Neovim config 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者 (3)

全部

近期动态

2年多前同步了仓库
2年多前创建了仓库
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
VimL
1
https://gitee.com/xu_wanghao/my-vimrc.git
git@gitee.com:xu_wanghao/my-vimrc.git
xu_wanghao
my-vimrc
my-vimrc
main

搜索帮助