Я хочу вставить что-то, что я вырезал со своего рабочего стола, в файл, открытый в Vi.
Но если я вставлю вкладки, они встраиваются друг в друга по всей странице.
Я думаю, что это какое-то изменение визуального режима, но не могу найти команду.
Этот вопрос не не по теме. Я пришел сюда только потому, что пытался скопировать вставку в vi во время программирования, и у меня возникли проблемы с автоматическим отступом.
В Unix вы можете использовать: r! Cat <ENTER>, затем вставить, а затем набрать <CTRL-D>, когда это будет сделано.





Если вы используете VIM, вы можете использовать "* p" (т.е. двойные кавычки, звездочку, букву p).
У вас наверняка стоит autoindent. Чтобы отключить его при вставке:
<Esc> :set noai
<paste all you want>
<Esc> :set ai
У меня в .exrc есть следующие ярлыки:
map ^P :set noai^M
map ^N :set ai^M
Обратите внимание, что это должны быть фактические управляющие символы - вставьте их, используя Ctrl-V, Ctrl-P и так далее.
Используйте опцию paste. Помимо отключения autoindent, он также установит другие параметры, такие как textwidth и wrapmargin, на удобные для вставки значения по умолчанию:
<Esc> :set paste
<paste all you want>
<Esc> :set nopaste
Вы также можете установить клавишу для переключения режима вставки. У моего .vimrc есть такая строка:
set pastetoggle=<C-P> " Ctrl-P toggles paste mode
Я обнаружил, что если я сначала скопирую строки с вкладками в текстовый редактор, а затем повторно скопирую их оттуда в vim, то вкладки будут правильными.
Это не не по теме, люди все еще программируют на vi и vim