Skip to content
Cayetano Santos edited this page Oct 22, 2017 · 22 revisions

Table of Contents

Headings

Following the status of the vhdl-tools-use-outshine flag (off by default), when the mode is enabled, VHDL-tools will activate outline-minor-mode locally and outshine globally, setting vhdl-tools-outline-regexp as the regexp used to locate headings.

This enables using this kind of headings

-- * Header Level 1

-- ** Header Level 2
MyInstance : MyComponent
port map ( ...
-- * Header Level 1

-- ** Header Level 2

MyInstance : MyComponent
port map ( ...

to delimit code blocks.

Then, call outshine-speed-command-help to get an overview over the available functionality and the keybindings. Additionally, the following keybinds are provided to navigate headings

C-c C-n,   (vhdl-tools-headings-next) - get to next header
C-c C-p,   (vhdl-tools-headings-prev) - get to previous header

Setting vhdl-tools-manage-folding (off by default) to true will allow auto folding upon jumping.

Finally, to browse all headings use imenu as shown in next section.

Custom Imenu

The following keybinds are made available to browse current buffer contents

C-x c i m   - standard imenu
C-x c i i   - instances
C-x c i c   - components
C-x c i p   - processes
C-x c i h   - headings (with a prefix argument use ido instead)
C-x c i a   - all items

Custom SmartScan

Following the status of the vhdl-tools-remap-smartscan and vhdl-tools-use-outshine flags (off by default), VHDL-tools will customize the behaviour of smartscan-symbol-go-forward and smartscan-symbol-go-backward, so that they manage folding/unfolding of section headings. This way, upon jumping, only the relevant section is shown.

Jumping around

The following keybinds are available

C-c M-D - jumps to the definition of symbol at point

C-c M-w - store a link
C-c M-y - paste a link
C-c M-j - follows the link at point

C-c M-. - jumps into the instance at point and move point to current signal

C-c M-a - moves point to first appearance of symbol at point

C-c M-u - jumps to upper hierarchy level

Cursor will jump to the target if there is one, searching packages too. The ring mark is push after jumping, so to get back, press C-c C-p or M-, (default binds under ggtags ) if corresponding definition has been found. Works better for files with correct syntax: think vhdl-beautify-buffer before using VHDL-tools.

Misc

C-c M-b - beautify current block (module, etc.)
Clone this wiki locally