2012-01-04 5 views
13

MySQLでViを使用してファイルを取得する方法を知りたいと思います。私が使用してログイン:MySQLでViを使用して失われたファイルを取得する

mysql -uuser -p -hserver -A database 

は、その後、私が行います、

\e 

エディタが開き、私は200行の私のクエリを入力し、私は、ファイルを保存した場合、私は:wq\G(それは言う:/tmp/sql9SbYQZ saved )私は結果を見る。私はミスをしたり別のクエリを実行し、私は再び\eを入力しようとした場合

さて、クエリが失われます。

ll /tmp/sql9SbYQZ 
ls: /tmp/sql9SbYQZ: No such file or directory 

紛失したファイルを取得する方法はありますか?ここで

答えて

30

は、ここで私は私がミスをした場合には、現在のクエリを保存するために、私の.vimrcに加えるものです。

nmap <F7> :w! /tmp/query.sql\| wq!<CR> 

これは、F7キーへのマップを作成します(もちろん変更できます)。したがって、editまたは\eを使用してファイルを開くたびに、F7キーを使用してファイルを変更します。

これは/tmp/query.sqlにあなたの現在のクエリのバックアップを保存して、一時ファイルを保存して閉じます。このようにして、間違えた場合は、バックアップファイルを再オープンして再試行します。

0

はあなたが試すことができるものです:Linuxでは

、あなたはファイル.mysql_historyをを参照してくださいする必要があり、次の

$ cd 
$ cp .mysql_history mystuff.txt 
$ vi mystuff.txt 

を行います。 mysqlクライアントは実行されたすべてのクエリとコマンドを記録します。うまくいけば、あなたの質問がそこにあります。

試してみてください!あなたがあなたのメッセージから参照としてMySQL、crontabファイル、および他の多くで使用されるVI/Mエディタで

1

は、仕事は、tmpファイルで行われます。

編集(ビッグdoah!lsの-lを/ tmp/...について嫌なものを削除し、あなたはすでにそれをやった!)

将来溶液を、vimwにバッファを伝えることですあなたの択一のファイル名、すなわち

w! /home/you/scripts/mysql2.sql 

その後

q 

でエディタを閉じ、あなたが旧姓ない場合がありますdの後に!

こちらがお役に立てば幸いです。

関連する問題