Question

Although I have no problem using SecureCRT (5.1.2 build 274) to work from Windows and connect to PC's running Linux, I have a problem when connecting to an embedded Asterisk appliance that provides"vi" through BusyBox 1.4.1 (2008-03-10).

The issue I'm having, is that when I paste code into vi, the text appears jagged like this:

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

Does someone what the problem is? Is there a way to reconfigure either BusyBox or SecureCRT so that I can paste successfully?

Thank you.

Was it helpful?

Solution

This is vi's auto-indent conflicting with the existing indentation. Activate paste mode before pasting.

<ESC>:set paste

NB: I usually use vim. It is possible that the feature doesn't exist in vi.

OTHER TIPS

I'd guess you have smartindent or autoindent turned on. I used to do set si! and set ai!, but David Dorward's answer seems to have the same effect. (I'll have to remember that one. :) )

I think set ai is the only one in vanilla vi. If you want to force it to turn off, do set noai (set ai! just flips the state.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top