Giter Site home page Giter Site logo

mawww / kakoune Goto Github PK

View Code? Open in Web Editor NEW
9.6K 114.0 699.0 41.75 MB

mawww's experiment for a better code editor

Home Page: http://kakoune.org

License: The Unlicense

Ruby 0.09% Python 0.29% Makefile 0.28% C++ 60.37% Shell 0.44% GDB 0.01% KakouneScript 38.23% Perl 0.30%
text-editor c-plus-plus console-application kakoune vim modal-editing

kakoune's People

Contributors

alexherbo2 avatar alyssais avatar andreyorst avatar arachsys avatar arrufat avatar casimir avatar codesoap avatar delapouite avatar doppioandante avatar eraserhd avatar hugomg avatar in0ni avatar jjk96 avatar jjthrash avatar jkonecny12 avatar johnisom avatar krobelus avatar laelath avatar lenormf avatar leperdu avatar m-kru avatar mawww avatar maximbaz avatar occivink avatar ordoviz avatar pickfire avatar qibaobin avatar screwtapello avatar sidkshatriya avatar somasis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kakoune's Issues

move 'n' command in 'm'

n for next match is definitely close to vi but I have another use case – n for negate (see #41).

Also, m for to match still consistent.

no :hook completion

It should complete scope‹✓› hook_name‹✓› filtering_regex‹✗› commands‹✓›.

remove 'f' and 't' motions

f and t motions can be replaced with <limit>/<characters> then H or L motions if needed.

When providing a count with /, set the maximum allowed length of the user input to <limit> characters. Kakoune will automatically issue the command when the user input reaches that length.

register expansion in command-line (prompt) does not fit well with multiple selections

Example:

╭───────────╮
│ foobar    │ n: bar
│ ‾‾‾‾‾‾    │
│ bazqux    │ n: qux
│ ‾‾‾‾‾‾    │
╰───────────╯

s %reg{n}

╭───────────╮
│ foobar    │ n: bar
│    ‾‾‾    │
│ bazqux    │ n: qux
│    ‾‾‾    │
╰───────────╯

We can always have the values of main register by executing

s <c-r>n

Instead of

s %reg{n}

no equivalent to opposite direction

  • n: select next match
  • N: add a new selection with next match
  • alt-r: rotate selections (the main selection becomes the next one)
  • alt-R: rotate selections content

actual supported insert mode commands

[✓] backspace: delete the character before the cursor
[✗] delete: delete the character under the cursor
[✓] : select the character on the right of selection end
[✓] : select the character below the selection end
[✓] : select the character above the selection end
[✓] : select the character on the left of selection end

shift arrow to extend current selection instead of replacing is not supported.

Try Kakoune

Propose a server where Kakoune is available is nice anyway. In this way, new
comers can learn the basics of Kakoune in their terminal (or browser) without
having to build or install Kakoune.

syntax highlighting

I'm wondering if syntax highlighting is yet to be implemented or if there's an option I missed to turn it on.

'.' does not repeat last group action

. repeats last change.

After typing <a-a>WD, D is repeatable in ..

map global normal R <a-a>WD

After typing R, <a-a>WD should be repeatable in ..

It concerns registers as well.

editing multiple buffers

Editing multiple buffers is not easy at the moment. Should be fixed in commit: add -buffer parameter to :exec command.

:exec -buffer a,b,c,d qq

support negative counts

possible candidates are -, Tab or n (for negate).
#15 no equivalent to opposite direction
#42 repeat last normal command
#43 move 'n' command in 'm'

repeat last normal command

Possible candidates to repeat command with counts are . or Tab.

Example: -m to select the previous match, then type Tab to repeat m with -1 as count.
#15 no equivalent to opposite direction
#41 support negative counts
#43 move 'n' command in 'm'

[EDITED] refer to normal commands

Should Kakoune have a parser?

Use case:

  • PEG to handle syntax highlighting

Example:

; JSON grammar
; see http://json.org

JSON ← S? ( Object / Array / String / True / False / Null / Number ) S?

Object ← "{"
             ( String ":" JSON ( "," String ":" JSON )*
             / S? )
         "}"

Array ← "["
            ( JSON ( "," JSON )*
            / S? )
        "]"

String ← S? ["] ( [^ " \ U+0000-U+001F ] / Escape )* ["] S?

Escape ← [\] ( [ " / \ b f n r t ] / UnicodeEscape )

UnicodeEscape ← "u" [0-9A-Fa-f]{4}

True ← "true"

False ← "false"

Null ← "null"

Number ← Minus? IntegralPart FractionalPart? ExponentPart?

Minus ← "-"

IntegralPart ← "0" / [1-9] [0-9]*

FractionalPart ← "." [0-9]+

ExponentPart ← ( "e" / "E" ) ( "+" / "-" )? [0-9]+

S ← [ U+0009 U+000A U+000D U+0020 ]+

(around|inner) motions for (next|last) object

for whole or inner object, when expansion fails, and opener_token was specified, it will search the buffer backwards for the block or, if closer_token was specified, it will search the buffer forwards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.