Избегать зубчатого текста при вставке в vi?

Хотя у меня нет проблем с использованием SecureCRT (5.1.2 build 274) для работы из Windows и подключения к ПК под управлением Linux, у меня есть проблема при подключении к встроенному устройству Asterisk, которое предоставляет "vi" через BusyBox 1.4.1 (2008-03-03) -10).

У меня проблема в том, что когда я вставляю код в vi, текст выглядит неровно, как это:

<?php                                                                                                                               
try {                                                                                                                               
        $dbh = new PDO("sqlite:./db.sqlite");                                                                                       
                $dbh->exec("CREATE TABLE IF NOT EXISTS customer (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255))");        

У кого-нибудь в чем проблема? Есть ли способ перенастроить BusyBox или SecureCRT, чтобы я мог успешно вставить?

Спасибо.

2 ответа

Решение

Это автоматический отступ vi, противоречащий существующему отступу. Активируйте режим вставки перед вставкой.

<ESC>:set paste

NB: я обычно использую vim. Возможно, что функция не существует в vi.

Я полагаю, у вас есть smartindent или же autoindent включенный. обычно я делал set si! а также set ai! Но ответ Дэвида Дорварда, похоже, имеет тот же эффект. (Я должен запомнить это.:))

Я думаю set ai единственный в ванили vi, Если вы хотите, чтобы выключить его, сделайте set noai (set ai! просто переворачивает состояние.)

Другие вопросы по тегам