Я пытался вставить текст из одного файла в другой в Bash. Я работаю в Putty.

Чтобы быть более понятным, у меня есть файл hotel.txt с некоторыми строками текста с отступом, таким образом, есть табуляция и пробелы. Когда я вставляю несколько строк с отступами в другой файл, созданный с помощью vi , они вставляются с дополнительной вкладкой.

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

У кого-нибудь есть решение?

Я пытался :set paste , но, очевидно, не работает со мной.

3 ответа3

0

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

0

Это не совсем ответ, но вы можете удалить дополнительную вкладку в начале таким образом

:%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.

)

0

Находясь в vi , войдите в режим выхода с помощью Esc. Тогда скажите :set paste .

Теперь вы сможете вставить текст без изменений.

Вы можете отключить 'paste' , сказав :set nopaste .

Чтобы сделать изменение постоянным, вы можете добавить :set paste в ваш ${HOME}/.vimrc .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .