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 1699  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: 18.191.5.239

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github