回答編集履歴
3
修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
解決しました。
|
1
|
+
直接キーを取得できるわけではないのですがそれっぽいことが出来たので解決しました。
|
2
|
-
行数短めで見やすいように<C-n>と<C-x><C-o>のみ対応したコード
|
2
|
+
行数短めで見やすいように<C-n>と<C-x><C-o>のみ対応したコードを載せます。
|
3
3
|
|
4
4
|
```vim
|
5
5
|
inoremap <expr><C-n> pumvisible() ? "\<C-n>" : <SID>F(0)
|
2
修正
answer
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
行数短めで見やすいように<C-n>と<C-x><C-o>のみ対応したコードです。
|
3
3
|
|
4
4
|
```vim
|
5
|
-
inoremap <expr><C-n> pumvisible() ? "\<C-n>" : <SID>
|
5
|
+
inoremap <expr><C-n> pumvisible() ? "\<C-n>" : <SID>F(0)
|
6
|
-
inoremap <expr><C-x><C-o> pumvisible() ? "\<C-x>\<C-o>" : <SID>
|
6
|
+
inoremap <expr><C-x><C-o> pumvisible() ? "\<C-x>\<C-o>" : <SID>F(1)
|
7
7
|
|
8
|
-
function! s:
|
8
|
+
function! s:F(n) abort
|
9
9
|
let l:s = [
|
10
10
|
\ "\<C-n>",
|
11
11
|
\ "\<C-x>\<C-o>",
|
1
修正
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
\ "\<C-x>\<C-o>",
|
12
12
|
\ ]
|
13
13
|
execute 'inoremap <expr><C-u> pumvisible() ? "\<C-u>' . l:s[a:n] . '" : "\<C-u>"'
|
14
|
-
return
|
14
|
+
return l:s[a:n]
|
15
15
|
endfunction
|
16
16
|
```
|
17
17
|
|