OK, I almost have the fix:

ijt@curry:~/repos/yi$ gd
diff --git a/src/Yi/Keymap/Vim.hs b/src/Yi/Keymap/Vim.hs
index 8720ff9..a6f1c2c 100644
--- a/src/Yi/Keymap/Vim.hs
+++ b/src/Yi/Keymap/Vim.hs
@@ -1745,7 +1745,10 @@ validMarkIdentifier = fmap f $ oneOfchar
"<>^'`" <|> charOf i
 -- --------------------
 -- | Keyword
 kwd_mode :: VimOpts -> VimMode
-kwd_mode opts = some (ctrlCh 'n' ?>> write . viWordComplete $
completeCaseSensitive
+kwd_mode opts = some (
+    choice [ctrlCh 'n' ?>> write . viWordComplete $
completeCaseSensitive opts,
+            ctrlCh 'p' ?>> write . viWordComplete $
completeCaseSensitive opts]
+    ) >>
                 deprioritize >>
                 write resetComplete
 -- 'adjustPriority' is there to lift the ambiguity between
"continuing" completion

I just have to change it so C-p searches backwards.

On Mar 11, 5:04 pm, yi-edi...@googlecode.com wrote:
> Status: New
> Owner: ----
> Labels: Type-Defect Priority-Medium
>
> New issue 337 by issac.vi...@gmail.com: C-p and C-n don't do hippy  
> completion in vim modehttp://code.google.com/p/yi-editor/issues/detail?id=337
>
> What steps will reproduce the problem?
> 1. yi --as=vim
> 2. iFooBarBaz<CR>Foo
> 3. C-p
>
> What is the expected output? What do you see instead?
> The identifier FooBarBaz should be completed. Instead an error message  
> appears:
>
> Unrecognized input: C-p.
>
> Also, C-n does not hippy complete with the next identifier that matches. It  
> just advances to the next line, which is not consistent with vim's good  
> behavior.
>
> Please provide relevant version information:
>
> What version of Yi are you using? 0.6.2.5
> What version of GHC?
> What version of Cabal?
> What operating system/version? Ubuntu
>
> If you generated it (--debug) please provide your .yi.dbg file
>
> Please provide any additional information below.

-- 
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel

Reply via email to