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.1.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.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vi_editor-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0f982298d85bacbd95afa3dc3cb0566cc4bab0859f81bf9a23b226cae3417769
MD5 f7f1a93ca8e58d8188be1c1da6785eb9
BLAKE2b-256 a4c29d954203861120dbf469f82fbda32d9f0c40e4c8450ebd35d1a26293f5dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vi_editor-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b449fe9da0dabb007e0c491ae28c2eefc582c33881f60bec8d80bcb71c1bef9d
MD5 15b5d3972d0606201fdacf1fe0e01896
BLAKE2b-256 6c2bd1a28a821d5b3df287afde94b36db0b05766e81ae791ae8e5a9af81dafa2

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