Избегать зубчатого текста при вставке в vi? - PullRequest
2 голосов
/ 10 июня 2010

Хотя у меня нет проблем с использованием SecureCRT (5.1.2 build 274) для работы из Windows и подключения к ПК под управлением Linux, у меня есть проблема при подключении к встроенному устройству Asterisk, которое предоставляет «vi» через BusyBox 1.4.1 ( 2008-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 ]

4 голосов
/ 10 июня 2010

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

<ESC>:set paste

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

1 голос
/ 10 июня 2010

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

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

...