сохранить в режиме вставки (VIM)

34

Я новичок в VIM,

Обычно, я считаю , что хочет , чтобы сохранить и пребывание в режиме вставки, а не хит escape, :wи обратно в режим вставки.

fixer1234
источник
2
Я думаю, что это должно остаться здесь. Большинство вопросов vim задаются на SO, и если начать делить их между сайтами, то ничего не добьется, кроме как дать пользователю больше работы по поиску их на всех трех сайтах. Vim также является редактором, который чаще встречается на машинах программистов, чем на средних (или супер :) пользователей.
Ладья
Я согласен. У SO есть 1199 вопросов, отмеченных vim. SU имеет 106.
Дзен

Ответы:

38

Ctrl+O, тогда :wи Enter.

Жулиано
источник
Да, вот как бы я это тоже сделал.
Дэвид Волевер
2
Что на самом деле сложнее обычного способа, ИМХО.
Ладья
@Idigas: почему это?
Акира
2
Это такое же количество нажатий клавиш, но, кажется, не очень оживленное.
Симус Коннор
32

Вы можете добавить псевдоним, как inoremap <F3> <c-o>:w<cr>у вас .vimrc.

Тордек
источник
4

Не вступая в дискуссию о правильном или неправильном пути, если вы используете графический Vim, такой как MacVim или GVim, вы сможете использовать Cmd- sили Ctrl- sдля сохранения. Я могу сказать, что он работает на OS X с MacVim и Cmd- sи поэтому вы можете сохранить ваши вещи в режиме вставки.

двуличный
источник
2

Помимо того предложения, которое упомянул Джулиано (которое должно быть вынесено и расстреляно - предложение, а не Джулиано), это действительно НЕПРАВИЛЬНЫЙ СПОСОБ ДЕЛАТЬ ЭТО. На самом деле было бы более «нормально» пытаться делать все из командного режима вместо вставки. Но использовать их взаимозаменяемо - это обычный способ vim, и если кому-то это не нравится, нужно действительно избегать vim.

Если вам действительно не нравится не сохранять данные из режима I, позвольте мне предложить редактор под названием Cream - это вариант vim, модифицированный таким образом, чтобы эмулировать современные редакторы (так сказать, он остается в режиме I). время и обычные ярлыки на окнах).

ладья
источник
1
Хотя я согласен с общим правилом, я не думаю, что оно применимо к этому делу. Если вы просто пишете длинный текст и хотите часто его сохранять, сопоставление некоторого ключа с <Co>: w <CR> не так уж и плохо.
Маттео Рива
@ Майкл Крелин ... - Согласен. Но он сказал, что хочет вставить режим, так что вот оно. Лично я сначала подумал о том, чтобы предложить Notepad2 (или какой-то другой конкретный вариант), но это было бы просто отвергнуто как отсутствие ответа на вопрос.
Ладья
@kemp - Нет. Если вы пишете длинный текст и хотите часто сохранять данные, вы используете возможности vim в следующих областях: резервное копирование, запись в резервной копии и файл подкачки (вы можете: помочь любому из них для получения подробной информации). Vim - так оно и есть, и хотя мне (как и всем остальным) время от времени нравится немного настраивать, пытаться избежать нескольких режимов просто неправильно. И это не закончится хорошо. Лучше использовать что-то еще тогда. В конце концов, в настоящее время есть несколько довольно мощных альтернативных редакторов.
Ладья
ну, я не вижу, как его использование режима вставки (все мы используем его!) подразумевает его желание провести в нем оставшуюся часть своей сессии vim. Лично у меня есть отображение для <F2> в обоих режимах только потому, что с тех пор, как в конце 80-х у меня была сумасшедшая клавиатура, я не могу отучиться нажимать <F2> время от времени при редактировании ;-)
Майкл Крелин - хакер
4
Я читаю это как «Я не хочу выходить из режима вставки только для сохранения файла».
Майкл Крелин - хакер
1

Я не могу добавить комментарий к ответу @ Tordek из-за отсутствия репутации :) Поэтому дополняю его ответ:

inoremap <F2> <C-\><C-o>:w<CR>

Добавление <C-\>предотвратит перемещение курсора на один символ влево.

Владимир Бауэр
источник