开发者

Avoiding jagged text when pasting into vi?

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.


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.


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.)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜