Сопоставление клавиш Vim для визуального режима - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь создать отображение для визуального режима, где я нажимаю F7, и выбранный код будет заключен в / * и / соответственно. Я хочу, чтобы / и * / находились в отдельной строке.

У меня это есть в моем vimr c:

autocmd BufNewFile,BufRead *.c,*.js xmap <F7> I <ENTER> <ESC> k I /* <ESC> gv A */ <ENTER> <ESC>

, так как я хочу, чтобы это отображение было только действительно для файлов C и js. Работает ПОЧТИ, как я хочу. Единственная проблема заключается в том, что вместо кода, находящегося на новой строке после / *, будет пустая строка после кода и перед закрытием * /.

Я действительно не понимаю, почему, поскольку выполнение каждое действие вручную делает то, что я хочу.

Результат нажатия F7 должен превратить этот код:

for (size_t a = 0; a<5; a++) {
    printf("%d\n", somearray[a]);
 }

в этот

  /*
    for (size_t a = 0; a<5; a++) {
            printf("%d\n", somearray[a]);
         }
 */

пока он есть, по какой-то причине получится так:

/*for (size_t a = 0; a<5; a++) {
        printf("%d\n", somearray[a]);
     }
---newline---
*/

1 Ответ

0 голосов
/ 06 августа 2020

Сейчас работает.

autocmd BufNewFile,BufRead *.c,*.js xmap <F7> I<CR><ESC>kI /*<ESC> gv A*/ <CR> <ESC>
...