vim: Fix relative line motion
Before this change up and down were in display co-ordinates, after this
change they are in fold coordinates (which matches the vim behaviour).
To make this work without causing usabliity problems, a bunch of extra
keyboard shortcuts now work:
- vim: `z {o,c}` to open,close a fold
- vim: `z f` to fold current visual selection
- vim: `g {j,k,up,down}` to move up/down a display line
- vim: `g {0,^,$,home,end}` to get to start/end of a display line
Fixes: zed-industries/community#1562
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
{"SetOption":{"value":"foldmethod=manual"}}
|
||||
{"Put":{"state":"fn boop() {\n ˇbarp()\n bazp()\n}\n"}}
|
||||
{"Key":"shift-v"}
|
||||
{"Key":"j"}
|
||||
{"Key":"z"}
|
||||
{"Key":"f"}
|
||||
{"Key":"escape"}
|
||||
{"Key":"g"}
|
||||
{"Key":"g"}
|
||||
{"Get":{"state":"ˇfn boop() {\n barp()\n bazp()\n}\n","mode":"Normal"}}
|
||||
{"Key":"j"}
|
||||
{"Key":"j"}
|
||||
{"Get":{"state":"fn boop() {\n barp()\n bazp()\nˇ}\n","mode":"Normal"}}
|
||||
{"Key":"2"}
|
||||
{"Key":"k"}
|
||||
{"Get":{"state":"ˇfn boop() {\n barp()\n bazp()\n}\n","mode":"Normal"}}
|
||||
{"Key":"down"}
|
||||
{"Key":"y"}
|
||||
{"Key":"y"}
|
||||
{"ReadRegister":{"name":"\"","value":" barp()\n bazp()\n"}}
|
||||
{"Key":"z"}
|
||||
{"Key":"o"}
|
||||
{"Get":{"state":"fn boop() {\nˇ barp()\n bazp()\n}\n","mode":"Normal"}}
|
||||
@@ -0,0 +1,26 @@
|
||||
{"SetOption":{"value":"wrap"}}
|
||||
{"SetOption":{"value":"columns=12"}}
|
||||
{"Put":{"state":"tˇwelve char twelve char\ntwelve char\n"}}
|
||||
{"Key":"j"}
|
||||
{"Get":{"state":"twelve char twelve char\ntˇwelve char\n","mode":"Normal"}}
|
||||
{"Key":"k"}
|
||||
{"Get":{"state":"tˇwelve char twelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"g"}
|
||||
{"Key":"j"}
|
||||
{"Get":{"state":"twelve char tˇwelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"g"}
|
||||
{"Key":"j"}
|
||||
{"Get":{"state":"twelve char twelve char\ntˇwelve char\n","mode":"Normal"}}
|
||||
{"Key":"g"}
|
||||
{"Key":"k"}
|
||||
{"Get":{"state":"twelve char tˇwelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"g"}
|
||||
{"Key":"^"}
|
||||
{"Get":{"state":"twelve char ˇtwelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"^"}
|
||||
{"Get":{"state":"ˇtwelve char twelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"g"}
|
||||
{"Key":"$"}
|
||||
{"Get":{"state":"twelve charˇ twelve char\ntwelve char\n","mode":"Normal"}}
|
||||
{"Key":"$"}
|
||||
{"Get":{"state":"twelve char twelve chaˇr\ntwelve char\n","mode":"Normal"}}
|
||||
Reference in New Issue
Block a user