Skip to main content

A simple Tkinter based VI editor

Project description

VI Editor

A simple VI editor using Tkinter

Table of Contents

About

This is a desktop application on the popular Linux text editor VI. It is written in python using the Tkinter module. It is a clone containing a fraction of the commands in the original version

How to Run

You can run the editor in two ways:-

Option 1: Install package from PyPI (pip)

  # Install package with pip
  pip install vi_editor
  
  # Run directly from terminal
  vi_editor

Or run from a python file.

  from vi_editor import run
  run()

Option 2: Build from source (GitHub)

  • First you need Python interpreter. You can install from Install Python
  • Run the following commands
    # Open a terminal (Command Prompt or PowerShell for Windows, Terminal for macOS or Linux)

    # Ensure git is installed on your system
    git clone https://github.com/AdityaKK0407/vi_editor.git

    # Navigate to project directory
    cd vi_editor
  • Alternatively you can download the project from GitHub and save it in a directory of your choice.
  python main.py

Documentation

Insert Mode

  • i - Insert at cursor
  • a - Insert after cursor
  • A - Insert at end of line
  • o - Insert at next line

Command Mode

  • dd - Delete a single line
  • ndd - Delete n lines
  • C - Delete line from cursor and enter insert mode
  • D - Delete line from cursor
  • x - Delete a single character
  • r - Replace single character
  • R - Replace continuously
  • s - Substitute single character (enter insert mode)
  • S - Substitute entire line (enter insert mode)
  • cw - Change word
  • dw - Delete word
  • cc - Change entire line

Miscellaneous

  • yy - Yank line
  • p - Put line
  • u - Undo
  • w - Move to beginning of word
  • b - Move to end of word
  • 0 - Move to beginning of line
  • $ - Move to end of line
  • h - Move left
  • j - Move down
  • k - Move up
  • l - Move right

License

This project is licensed under the MIT License — see the LICENSE file for details.

Feedback and Contributions

I’ve worked to include all the essential features and make the text editor as proper as possible.
If you spot bugs, have suggestions for improvements, or want to request new features, please share your feedback.

You can contribute by opening an issue or joining the discussions.
Your support is greatly appreciated, and I look forward to hearing your thoughts.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vi_editor-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vi_editor-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file vi_editor-0.1.0.tar.gz.

File metadata

  • Download URL: vi_editor-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for vi_editor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 993643c4a7bcf0077e635a58d360dd7bd8fd544930cb3073ade73e93b1d42185
MD5 ea52bee3d46fb1570487e7f4a5081529
BLAKE2b-256 03d534ababbf89ad4481ac15b6a1fbd7c3e1015c0d49c6e11f9297d43fda25af

See more details on using hashes here.

File details

Details for the file vi_editor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vi_editor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for vi_editor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 def8dfd6dbf2ca01dc8bcfe725b65788ad28a6ef7a4e04a898787e980d6752f6
MD5 cb9d94f498df3302e73ef90c4ca98e32
BLAKE2b-256 27fa71eb1ec045b650c29ed5358fb2b86760185c0fc2555c4a7443be6090860e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page