Evitando o texto irregular ao colar no VI?
Pergunta
Embora eu não tenha problemas em usar o SecureCrt (5.1.2 Build 274) para trabalhar no Windows e conectar-se ao Linux em execução do PC, tenho um problema ao me conectar a um aparelho de asterisco incorporado que fornece "VI" através do BusyBox 1.4.1 (2008-03 -10).
A questão que estou tendo é que, quando colo código no VI, o texto parece irregular assim:
<?php
try {
$dbh = new PDO("sqlite:./db.sqlite");
$dbh->exec("CREATE TABLE IF NOT EXISTS customer (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255))");
Alguém é qual é o problema? Existe uma maneira de reconfigurar o BusyBox ou o SecureCrt para que eu possa colar com sucesso?
Obrigada.
Solução
Este é o conflito automático de VI com o indentação existente. Ative o modo de pasta antes de colar.
<ESC>:set paste
NB: Eu geralmente uso o VIM. É possível que o recurso não exista no VI.
Outras dicas
Eu acho que você tem smartindent
ou autoindent
ligadas. eu costumava fazer set si!
e set ai!
, mas a resposta de David Dorward parece ter o mesmo efeito. (Vou ter que lembrar disso. :))
Eu penso set ai
é o único em baunilha vi
. Se você quiser força para desligar, faça set noai
(set ai!
apenas vira o estado.)