Избегать зубчатого текста при вставке в 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!
просто переворачивает состояние.)