Как избежать появления лишних скобок при вставке в Vim - PullRequest
6 голосов
/ 21 марта 2009

Я использую несколько карт, пока кодирую:

imap ( ()<C-[>i
imap [ []<C-[>i
imap { {}<C-[>i

так что когда я ставлю "(", он пишет "()" (то же самое для "[" и "{"). Проблема в том, что когда я вставляю что-то в Vim:

for (i = 0; i < count; i++) {
tab[i] = something()
}  

Я получаю

for (i = 0; i < count; i++) {
tab[i] = something()
}  
)]})

Можно ли избежать лишних скобок?

1 Ответ

11 голосов
/ 21 марта 2009

Вы хотите вариант 'paste'; установите его с помощью :set paste. Он отключает сопоставления режима вставки, сокращения и другие параметры автоформатирования.

Другое дело, что есть несколько способов вставки:

  • "+p
  • :set mouse=a, а затем средний щелчок
  • режим вставки, <C-R>+
  • :a! и затем используйте команду вставки вашего терминала

Все они будут правильно вставлены. Единственное, что сбивает с толку vim - это когда вы используете команду "paste" вашего терминала без предварительного предупреждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...