JAChapmanII / Jail

A "for learning" keymap-able text editor inspired by vim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jail is currently a rough clone of vim.

WARNING: jail is starting to manipulate files. Use this functionality at your
own risk. The developers hold no responsibility for any and all files and
monetary loss the usage of jail causes you.

What will it be?
    Soon (I hope) it will be a rather bad clone of vim in C++. Further on, it
    will hopefully be a not so bad clone of vim.

Building:
    A (pretty crappy) Makefile is set up, so simply issue
        make
    on any decently set up GNU/Linux machine
    Note: If you want the version information to be correct (if you're making
        a package or some such) run "make config" beforehand to generate the
        latest config.hpp

    See the Makefile for other options.

Running:
    ./bin/jl [switches] <file name>
    If you run jail without a file name, it will list the switches. It
    probably also has a help file I'm not entirely sure XD

Usage:
    Read what it says. Maybe the devs will make a man page. Or maybe the --help
    switch will actually provide some level of help in the future. Maybe.

    Note: this section needs updating. If you look in keymap.def you can see
    what the default keymap looks like. The keymap file will probably get its
    own documentation in another file, planned as docs/README_keymap

    There are several commands from vim implemented:
        0: move cursor to the beginning of the line
        $: move cursor to the end of the line
        j,  down: move cursor down
        k,    up: move cursor up
        h,  left: move cursor left  [backspace also does this]
        l, right: move cursor right

        gg: move cursor to top of buffer
         G: move cursor to bottom of buffer

        I: move to beginning of line and go into insert mode
        i: enter insert mode

        A: move to end of line and go into insert mode
        a: move the cursor right once and enter insert mode

        O: create a new line above the current one, move to it and enter insert mode
        o: create a new line below the current one, move to it and enter insert mode

        J: combine the line the cursor is on with the one after it

        PageUp,   ^B: move a full page up
        PageDown, ^F: move down a full page

        x: delete the character in front of the cursor
            If you are at the end of a line, this is equivalent to J
        dd: delete the line the cursor is on

        ZZ: save and quit (abort quitting if we can't save for some reason)

        :, ;: prompt for a named command
            write: save the file overtop of the opened one
            quit: quit (no prompt to save file)

    In insert mode, the arrow keys and the full page movement keys still work.

    Backspace deletes the character behind the cursor.
    Escape switches back to command mode.

About

A "for learning" keymap-able text editor inspired by vim


Languages

Language:C++ 98.8%Language:Shell 1.2%