Gedit
私が知っている限り、medit
バックアップを保存できるテキストエディタが2つあります。だから、temp.txt
次に編集するときというファイルを作成して保存するとtemp.txt~
。
私の質問は次のとおりです。複数のリビジョンの前に存在していたファイルに戻る場合は、複数のバックアップを持つようにバックアップ名を順番に指定できるテキストエディタがありますか?たとえば、temp.txt
最新バージョンがありますが、ちょっと待っていますtemp.bak.1
かtemp.bak.2
?
これが不可能な場合は、シリアルバージョンが保存されるようにバックアップが作成されるたびにバックアップ名を自動的に変更するいくつかのスクリプトがありますか?一つでもtemp.timestamp.txt
いいでしょう。
nano
(テキストエディタソリューションは気に入らない。)
明確にする必要があるのは、私はコーダーやプログラマーではないということです。私が編集したテキストファイルの以前のバージョンが欲しいです。これらのテキストファイルは
.css
テーマの一部を構成できます。したがって、テーマファイルの特定の側面を編集する場合は、変更が気に入らない場合に備えて少し後ろに戻ることができます。.rc
.svg
答え1
Mercurialを使用してバージョン管理を実行する簡単な方法があります。まずインストールしてください。
~/.hgrc
Mercurial を構成するには、次のコンテンツを含むファイルを作成します。
[ui]
username = Your name <your mail>
verbose = True
一部のMercurialサーバーを使用している場合は、このファイルにさらに情報を追加できます(読み取りman hgrc
)。
次に、cd
テキストファイルを含むディレクトリに移動します。たとえば、
> cd /tmp
> mkdir data && cd data
> cat > text_file.txt
Hello, this is a file.
必要に応じてファイルを追加することもできます。その後、Mercurialを初期化する必要があります。
> hg init
既定ではまだファイルがないので、すべてのファイルを含めたいと Mercurial に伝える必要があります。
> hg st
? text_file.txt
> hg add
adding text_file.txt
> hg st
A text_file.txt
これで簡単なコミットを行います。
> hg comm -m 'first run'
text_file.txt
committed changeset 0:87e90c949984
ここでいくつかの点を修正し、違いを確認してください。
> cat >> text_file.txt
Add one line.
> hg diff
diff -r 87e90c949984 text_file.txt
--- a/text_file.txt Mon Apr 01 12:52:14 2013 +0400
+++ b/text_file.txt Mon Apr 01 12:53:47 2013 +0400
@@ -1,1 +1,2 @@
Hello, this is a file.
+Add one line.
今見た後、別のコミットをしてみてくださいhg log
。 2 つのコミットが表示されます。
最初のコミットに戻るには、次のようにします。
> hg upd -r 0:87e90c949984
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt
Hello, this is a file.
次の内容が表示されます。ファイルが古い。
次に、最後のファイルを復元します。
> hg upd
resolving manifests
getting text_file.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
> cat text_file.txt
Hello, this is a file.
Add one line.
簡単なスクリプトを書くこともできます。
#!/bin/bash
while true; do
hg commit -m "commit: $(date)"
sleep 60
done
ファイルの編集を開始したときに実行すると、各瞬間の変更を確認し、そうであればmercurialは新しいコミットを実行します。また、コメントで述べたように、自動送信にat
orを使用することもできます。cron
答え2
使用しようとする提案に同意します。バージョン管理。バックアップファイルを保存するよりも柔軟で信頼性が高く、設定も簡単です。
それでもバックアップファイル(および他の多く)を細かく制御するには、Emacsを使用できます。設定version-control
セッションt
ごとに1つのバックアップファイルを保持するのではなく、番号付きバックアップを作成する変数です。ただタップするのではなく、新しいバックアップを作成したいときにタップします。(setq version-control t)
~/.emacs
C-u C-x C-s
C-x C-s
別のアプローチは、アプリケーションがバックアップについて知っているかどうかに関係なく、バックアップを実行するファイルシステムを使用することです。ファイルシステムのコピーすべてのディレクトリツリーの上にこれらのファイルシステムを作成します。
答え3
Geanyには適切なプラグインも付属しています。私はLubuntu 13.10でGeany 1.23.1を使用しています。カチッという音ツール、プラグインマネージャこれを見せてください:
ここでチェックボックスを選択してSave Actions
から編集する、プラグイン環境設定、バックアップの保存方法を設定できます。
答え4
少し遅れていますがnano
(少なくとも現在のDebianバージョン2.2.6では)フラグを使用して独自のバックアップ機能を実装できます。-B
-C
Debianのマニュアルページから:
-B (--backup)
When saving a file, back up the previous version of it to the current filename
suffixed with a ~.
-C dir (--backupdir=dir)
Set the directory where nano puts unique backup files if file backups are
enabled.
これをデフォルトにするには、フラグを含むnanoのbashエイリアスを作成して適切な場所に配置します(次の行を追加すると役立ち/home/username/.bash_aliases
ます)。
alias nano='nano -BC /home/username/.nano_backups'
これにより、指定したディレクトリにバックアップが作成されます。例:
$ ls /home/username/.nano_backups
!home!username!.bash_aliases~
!home!username!.bash_aliases~.1
!home!username!.bash_aliases~.10
!home!username!.bash_aliases~.11
!home!username!.bash_aliases~.12
[...]