{"action":"closed","issue":{"url":"https://api.github.com/repos/VSCodeVim/Vim/issues/408","repository_url":"https://api.github.com/repos/VSCodeVim/Vim","labels_url":"https://api.github.com/repos/VSCodeVim/Vim/issues/408/labels{/name}","comments_url":"https://api.github.com/repos/VSCodeVim/Vim/issues/408/comments","events_url":"https://api.github.com/repos/VSCodeVim/Vim/issues/408/events","html_url":"https://github.com/VSCodeVim/Vim/issues/408","id":164471365,"number":408,"title":"Non-recursive remapping","user":{"login":"johnfn","id":167745,"avatar_url":"https://avatars.githubusercontent.com/u/167745?v=3","gravatar_id":"","url":"https://api.github.com/users/johnfn","html_url":"https://github.com/johnfn","followers_url":"https://api.github.com/users/johnfn/followers","following_url":"https://api.github.com/users/johnfn/following{/other_user}","gists_url":"https://api.github.com/users/johnfn/gists{/gist_id}","starred_url":"https://api.github.com/users/johnfn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnfn/subscriptions","organizations_url":"https://api.github.com/users/johnfn/orgs","repos_url":"https://api.github.com/users/johnfn/repos","events_url":"https://api.github.com/users/johnfn/events{/privacy}","received_events_url":"https://api.github.com/users/johnfn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/VSCodeVim/Vim/labels/difficulty-medium","name":"difficulty-medium","color":"fbca04"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/VSCodeVim/Vim/milestones/3","html_url":"https://github.com/VSCodeVim/Vim/milestones/v0.2","labels_url":"https://api.github.com/repos/VSCodeVim/Vim/milestones/3/labels","id":1865612,"number":3,"title":"v0.2","description":"Implement Visual Block Mode and Multiple Cursor Mode. Fix all bugs along the way. ","creator":{"login":"johnfn","id":167745,"avatar_url":"https://avatars.githubusercontent.com/u/167745?v=3","gravatar_id":"","url":"https://api.github.com/users/johnfn","html_url":"https://github.com/johnfn","followers_url":"https://api.github.com/users/johnfn/followers","following_url":"https://api.github.com/users/johnfn/following{/other_user}","gists_url":"https://api.github.com/users/johnfn/gists{/gist_id}","starred_url":"https://api.github.com/users/johnfn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnfn/subscriptions","organizations_url":"https://api.github.com/users/johnfn/orgs","repos_url":"https://api.github.com/users/johnfn/repos","events_url":"https://api.github.com/users/johnfn/events{/privacy}","received_events_url":"https://api.github.com/users/johnfn/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":38,"state":"open","created_at":"2016-07-05T17:48:39Z","updated_at":"2016-08-29T23:39:34Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2016-07-08T07:05:33Z","updated_at":"2016-08-29T23:39:34Z","closed_at":"2016-08-29T23:39:34Z","body":"Our remapping is currently _recursive_ mapping, done in vim with `:map`. For instance, if you map j to jj, then VSCodeVim will go into an infinite loop and die when you press j.\r\n\r\nMore generally useful is _nonrecursive_ mapping, done in vim with `:noremap`. If you nonrecursively map j to jj, then pressing j just acts as if you had pressed j twice instead.\r\n\r\nNon-recursive mapping is actually not hard at all to do; I suspect it will be less than 20 lines of code. I only marked it as medium because ya gotta know where those lines of code go."}}
{"actor":{"display_login":"johnfn"}}