Ненужные отступы в bash
Я пытался вставить текст из одного файла в другой в Bash. Я работаю в Putty.
Чтобы быть более понятным, у меня есть файл hotel.txt
с некоторыми строками текста, которые с отступом, таким образом, имеют табуляции и пробелы. Когда я вставляю несколько таких строк в другой файл, созданный с помощью vi
, они вставлены с дополнительной вкладкой каждый.
Весь мой текст автоматически вставляется с каждой строкой, имеющей дополнительную вкладку, как только я вставляю, используя правую кнопку мыши.
У кого-нибудь есть решение?
я пробовал :set paste
, но не работает со мной, по-видимому.
3 ответа
Пока в vi
, войдите в режим выхода с помощью Esc. Тогда скажи :set paste
,
Теперь вы должны быть в состоянии вставить текст без изменений.
Вы можете включить 'paste'
от высказывания :set nopaste
,
Чтобы сделать изменение постоянным, вы можете добавить :set paste
на ваш ${HOME}/.vimrc
,
Это не совсем ответ, но вы можете удалить дополнительную вкладку в начале таким образом
:%s/^^I//g
где ^I - символ табуляции, и вы можете ввести его, нажав Cv и затем табуляцию.
(или введите следующую последовательность
gg "goto top
c-v "visual selection
S-G "goto end of file
<< " indent visual selection one to the left.
)
Это происходит потому, что вы либо не копируете отступ в первой строке, либо потому, что вставляете в уже отступ.