This happens because you're either not copying the indentation of the first line or because you're pasting on an already indented position.
Ненужные отступы в bash
Я пытался вставить текст из одного файла в другой в Bash. Я работаю в Putty.
Чтобы быть более понятным, у меня есть файл hotel.txt
с некоторыми строками текста с отступом, таким образом, есть вкладки и пробелы. Когда я vi
вставляю несколько этих строк с отступами в другой файл, созданный с использованием, они вставляются с дополнительной вкладкой.
Весь мой текст автоматически вставляется с каждой строкой, имеющей дополнительную вкладку, как только я вставляю, используя правую кнопку мыши.
У кого-нибудь есть решение?
Я пытался :set paste
, но, видимо, со мной не работает.
3 ответа на вопрос
Its not exactly an answer but you can remove the extra tab in the beginning this way
:%s/^^I//g
where ^I is the tab character and you can type it by pressing C-v and then tab.
(or type the following sequence
gg "goto top c-v "visual selection S-G "goto end of file << " indent visual selection one to the left.
)
While in vi
, enter the escape mode using Esc. Then say :set paste
.
Now you should be able to paste text unmodified.
You can turn 'paste'
off by saying :set nopaste
.
In order to make the change permanent, you can add :set paste
to your $/.vimrc
.
Похожие вопросы
-
2
.profile в Mac OS X?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
13
Какие функции Vim вы используете?
-
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
8
Переименуйте группу файлов одной командой
-
2
Почему мой путь не обновляется * сейчас *?
-
5
Как удалить символическую ссылку на каталог?
-
8
Спаси меня от бессмысленного терминала
-
9
Как можно добавить номер строки и табуляцию к каждой строке текстового файла?