問題タブ [vimdiff]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - vimdiff と CVS の統合
私は常に、vimdiff を CVS で制御されたファイルで動作させるための、かなり洗練された方法を手に入れたいと思っていました。私は、基本的に CVS から一時ファイルに編集しているファイルをチェックアウトし、その 2 つを vimdiff する、インターネット上で多数の (ややハックな) スクリプトを見つけました (ここでの最良の例)。これらはいずれもブランチを考慮しておらず、常に MAIN から作業していると想定していますが、これは私にとってはまったく役に立ちません。
だから、私の質問はこれです:誰かがこのスクリプト以上のことを行う適切な解決策を見つけましたか?
または、それができない場合、これをどのように実装するか、またはこれを行うために不可欠と思われる機能についての提案を誰かが持っていますか? 私の意図は、使用または構築するための既に構築されたソリューションを誰も提案できない場合は、ここから構築を開始することです。
python - Pythonでコマンドを別の入力にリダイレクトする
これをPythonで複製したいと思います:
(hg cat file.txtは、最後にコミットされたバージョンのfile.txtを出力します)
ファイルをgvimdiffにパイプする方法は知っていますが、別のファイルを受け入れません。
Pythonの部分に行きます...
サブプロセスが呼び出されると、ファイル名として渡されるだけ<(hg cat file)
です。gvimdiff
それで、bashのようにコマンドをリダイレクトする方法はありますか?簡単にするために、ファイルをキャットしてdiffにリダイレクトするだけです。
vim - 差分ファイルで vimdiff を使用する
vimdiff を使用して、差分ファイルに記述されている違いを表示するにはどうすればよいですか?
vim - gvimを使用して差分を印刷しますか?
「gvim-d」で開いたときに表示されるように、すべての一般的なコードを折りたたんで、コンテキストでdiffのみを表示してdiffを印刷する方法はありますか?印刷メニューオプションを試しましたが、折りたたまれた差分を印刷するのではなく、現在「入っている」ファイル全体が印刷されました。
vim - VIM - 最後に保存されたバージョンと現在保存されていないバージョンの差分を表示
重複の可能性:
ファイルを Vim に保存する前に変更を確認できますか?
VIM で同じファイルの保存されたバージョンと編集されたバージョンの差分を表示する方法はありますか?
これがシナリオです。ファイルを開いて何かを編集していて、仕事のためにコンピューターから離れました。しばらくして戻ってきて、何を編集していたか忘れてしまったので、同じファイルの最後に保存されたバージョンと現在保存されていないバージョンの違いを確認したいと思います。それを行う方法はありますか?
もちろん、最後の変更まで取り消しを続け、やり直しを開始して、保存していないバージョンに戻ることができます。しかし、私が見たいのは差分です。
vim - vimdiffによって作成されたスプリットの下に新しいウィンドウを開く方法は?
コマンドプロンプトで、
次のように、2つのファイルを並べて開いたvimインスタンスを取得します。
これは非常に便利ですが、3番目のファイルを開いて確認したい場合があります。別の垂直分割を作成したくありません。そうしないと、行が非常に短くなり、読み取るためだけに常に水平方向にスクロールすることになります。ただし、画面の下部で数行を占めることは問題ありません。それで、どうすれば上記から次のようになりますか?
を使用してみまし:sp file3
たが、最終的には次のようになります(カーソルがfile1にあるときにコマンドを実行したと仮定します)。
よろしくお願いします!
vim - vimdiffでdiffgetを使用する
私はvimdiffを上手に使うことを学ぼうとしています。現在、(を使用して)バッファから別のバッファに差分のブロックを取得する方法を理解しましたが、do
今やろうとしているのは、他のバッファのブロックの1つ(またはいくつか)の行を取得することです。
vimdiff
ドキュメントには次のように書かれています。
しかし、自分がいる行をバッファから別のバッファにコピーするための正しい範囲パラメータを設定する方法がわかりません。
vim - vimdiffウィンドウ間で行をコピーするときにdiffputを元に戻す
コマンドプロンプトで、
2つのファイルが並んで開いているvimインスタンスを取得します。ファイル内のテキストが次のようになっていると仮定します(file1が左側、file2が右側)。
ここで、カーソルが「foo」の「f」にあり、file1の最初の行をfile2の最初の行にコピーしたいとします。
これを行う1つの方法は、 v $ yで行を選択してヤンク(コピー)し、Ctrl + wlを使用してカーソルをfile2の最初の行に移動し、pと入力してコピーした行を貼り付けることです。これを実行して、結局は本当にやりたくないと判断した場合は、uを押して、file2で実行した貼り付けコマンドを元に戻すことができます。
これを行う別の方法は、diffputコマンドdpを使用することです。ただし、これを行った後、それを行うつもりがないと判断した場合、カーソルがまだfile1にあり、uコマンドがfile1への最新の変更を元に戻すため、 uを押すだけで元に戻すことはできません。 file2への最近の変更。したがって、代わりにCtrl+wlまたはCtrl+wwを使用してカーソルをfile2のウィンドウに移動し、uを押す必要があります。
したがって、私の質問は、上記のようにdpを使用した後、カーソルを他のファイルのウィンドウに移動せずに元に戻す簡単な方法はありますか?