Skip to content

Latest commit

 

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeoVipe Logo

NeoVipe

A modern rework of vipe, turning $EDITOR into a pipe friendly tool.

Allows for piping in and out of $EDITOR even if it doesn't normally support pipes.

printf "change me\n" > "my_input.txt"
	head -n 1 "my_input.txt" | cut -f 1 | nvipe > "my_output.txt"
	cat "my_output.txt"
	This text could be changed to anything you wanted it to be in your editor.

Installation

Clone the repository and run sudo make install to install NeoVipe, its completions, and its man page for all users.

Alternatively put nvipe anywhere on your $PATH, make it executable, and you're all set. You can manually install tab completions for Bash and Zsh by sourcing the included nvipe-completions file in your corresponding shell rc file.

Features

In it's latest incarnation NeoVipe offers the following on top of its base functionality:

  • Respect $VISUAL and fallback to vi if neither $VISUAL nor $EDITOR is specified.
  • Secure temporary file creation using mktemp (or at least more secure, see here for caveats).
    • $TMPDIR is respected if it has been set in the environment.
    • Specify a template filename with -t or --template, defaults to nvipe.XXXXXXXXXXXXXXXX if unspecified.
  • Piping to stdout only continues if the file is saved in $EDITOR, otherwise an error is raised.
    • This behavior can be overriden by invoking NeoVipe with the -p or --pipe-without-save flags, though changes made in $EDITOR do not persist unless the file is saved.
  • Allows emitting filenames via the -x or --output-file-name flags for use with xargs and other similar tools.
    • Specify a delimiter to append to the filename via the -d or --delimiter flag. Defaults to \n if unspecified.
  • Tab completion of arguments for Bash and Zsh.

Uninstallation

If you installed with sudo make install, you can remove NeoVipe, its manual page, and completions with sudo make uninstall.

Alternatively, just delete NeoVipe, its manual page, and completion files if you installed it manually.

Origin

NeoVipe is adapted and updated from the following sources:

License

NeoVipe is licensed under the terms of the GNU General Public License version 2.0.

About

A modern rework of vipe, turning $EDITOR into a pipe friendly tool.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages