Éviter le texte en dents de scie lors du collage en vi?
Question
Bien que je n'ai aucun problème à l'aide SecureCRT (5.1.2 build 274) au travail à partir de Windows et se connecter à Linux PC exécutant, j'ai un problème lors de la connexion à un appareil Asterisk intégré qui fournit des « vi » par BusyBox 1.4.1 ( 10.03.2008).
La question que je vais avoir, est que lorsque je coller le code dans vi, apparaît texte dentelés comme ceci:
<?php
try {
$dbh = new PDO("sqlite:./db.sqlite");
$dbh->exec("CREATE TABLE IF NOT EXISTS customer (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255))");
Quelqu'un quel est le problème? Est-il possible de reconfigurer soit BusyBox ou SecureCRT pour que je puisse coller avec succès?
Merci.
La solution
Ceci est indentation automatique en conflit avec l'empreinte existante vi. Activer le mode coller avant de coller.
<ESC>:set paste
NB: J'utilise habituellement vim. Il est possible que la fonction n'existe pas dans vi.
Autres conseils
Je suppose que vous avez smartindent
ou autoindent
sous tension. Je l'habitude de faire set si!
et set ai!
, mais la réponse de David Dorward semble avoir le même effet. (Je dois me rappeler que l'un. :))
Je pense que set ai
est le seul vi
vanille. Si vous voulez la force pour désactiver, faire set noai
(set ai!
flips juste l'état.)