edit
Comando GDB
Apre un editor sulla riga corrente usando il comando:
$EDITOR +<current-line> <current-file>
L'impostazione predefinita editor
è ex
, ma vim
comprende anche il +<current-line>
formato.
Quando esci dall'editor, torni indietro gdb
.
Ciò consente di navigare liberamente nella fonte ed è particolarmente potente se si dispone di ctags
integrazione.
Questo è un gdb unidirezionale incorporato per i poveri per vim l'integrazione: la cosa principale mancante è impostare i punti di interruzione da Vim.
edit
e al centro
edit
non centra Vim per impostazione predefinita attorno alla fonte, quindi ho creato uno script Python che lo fa: Come aprire il file corrente sulla riga corrente in un editor di testo da GDB?
Comando di breakpoint nell'helper degli appunti
Questo comando vim copia un identificatore di breakpoint di tipo:
b <file-path>:<line-number>
negli appunti:
command! Xg :let @+ = 'b ' . expand('%:p') . ':' . line('.')
Quindi puoi semplicemente incollarlo in gdb
.
Questa è la vim di un uomo povero per l'integrazione gdb per facilitare l'impostazione dei punti di interruzione.
Dashboard GDB
https://github.com/cyrus-and/gdb-dashboard
Questo non ha nulla a che fare con Vim, ma è una soluzione leggera che ottiene molto e potrebbe adattarsi ad altri Vimmer là fuori.
Altri hanno menzionato GDI TUI, ma l'ho trovato troppo rotto e non abbastanza potente da essere sopportabile.
Quindi sono passato invece a soluzioni basate su API Python come GDB Dashboard.
Ho descritto l'usato e la logica in modo più dettagliato in: vista divisa gdb con codice
Ecco uno screenshot di ciò che ti offre:
Vedi anche: /vi/2046/how-can-i-integrate-gdb-with-vim
Rinuncia e usa un vero IDE
Detto questo, questa è la soluzione migliore per la maggior parte delle persone, incluso me stesso. La maggior parte delle persone guadagnerà un sacco di tempo se sarà in grado di saltare le definizioni in modo consapevole in classe C ++ senza selezionare e installare diversi plug-in stessi, e questo include durante il debug di roba. A partire dal 2020 il meno peggio per me è stato Eclipse: https://www.slant.co/topics/1411/~best-ides-for-c-on-linux