sponsor Vim development Vim logo Vim Book Ad

VIP : Special copy and paste for VHDL entities, components and instances of components

 script karma  Rating 36/14, Downloaded by 2032  Comments, bugs, improvements  Vim wiki

created by
JP Ricaud
 
script type
utility
 
description
VIP (VHDL Interface Plug-in) is a script for VIM text editor which provides some facilities to copy paste entities, components and instances of components.

For example you can copy the component :

component mux is   -- place the cursor on this line and enter the command :Viy (Vhdl Interface Yank)
   port (  
     INPUT  : in  std_logic_vector (15 downto 0);  
     SEL    : in  std_logic;  
     OUTPUT : out std_logic    
   );  
end component mux;

and paste it as an instance :

mux_0 : mux   -- place the cursor here and enter the command :Vii (Vhdl Interface Instance)
   port map (  
      INPUT   => s_INPUT,  
      SEL     => s_SEL,  
      OUTPUT  => s_OUTPUT  
  );

VIP can :

  - copy an entity and paste it as
          - an entity
          - a component
          - an instance

  - copy a component and paste it as
          - an entity
          - a component
          - an instance

  - copy a instance and paste it as
          - an instance (with auto-incrementation of the suffix number)

VIP tries to respect your indentation as much as possible (spaces, tabs, spaces + tabs).
It can work with many different styles of writing entities, components and instances but not all of them. See documentation.

Source : https://github.com/JPR75/vip
 
install details
Put the plugin/vip.vim file into your ~/.vim/plugin (or $HOME\\vimfiles\\plugin) directory.
Put the doc/vip.txt into your ~/.vim/doc (or $HOME\\vimfiles\\doc) directory.

Run ":helptags ~/.vim/doc" (":helptags $HOME/vimfiles/doc")
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
vip.zip 1.4.0 2016-02-01 7.0 JP Ricaud Updated with Franz Hechfellner improvements:

    "since I use your plugin often, I improved vip.vim in terms of multible
    braces and empty lines and made it more robust for different entitiy
    formats. It is still not perfect but better."
vip.zip 1.2.0 2010-12-12 7.0 JP Ricaud - Support for a wider style of writing blocks, like :

component foo
    port (
        a,b: in bit;
         c: out bit);
end component;

- Bug fix
- Minor optimization.
vip.zip 1.0.1 2010-11-21 7.0 JP Ricaud Fixed missing argument when pasting an entity as an instance
vip.zip 1.0.0 2010-11-19 7.0 JP Ricaud Initial upload
ip used for rating: 216.73.216.130

Questions about Vim should go to the maillist. Help Uganda.     Vim at Github