問題タブ [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 - gVim の vimdiff で大文字と小文字を区別しないようにする
1 つはすべて大文字で、もう 1 つは小文字で書かれた 2 つのアセンブリ ファイルを比較しようとしています。多くの行は、大文字小文字と空白まで同一です。
差分モードで2つのバッファを使用しながら、次のことを試しました:
空白の問題はうまく機能しているように見えますが、ignore ケースは機能しません。たとえば、次の 2 行では次のようになります。
[最初の行は 12 個のスペースで始まり、2 行目は 1 つのタブで始まります]
なんで?私に何ができる?
更新: これらの 2 行では、すべての違いが無視されていることに気付きました。
vim - Vim/gVimの関数呼び出しを介して代替差分モードをアクティブにする
最近の質問で、vimdiffに比較時に余分なスペースを無視させる方法を尋ねました。答えといくつかのさらなる読書に続いて、私は次のことをしようとしました:
.1。_vimrc
を見つけて、MyDiff()
関数定義を見つけます。次の行が含まれています。
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
.2。その行を次のように変更しながら、のようMyDiff2()
に関数を複製します。_vimrc
if &diffopt =~ 'iwhite' | let opt = opt . '--ignore-all-space ' | endif
.3。差分モードで2つのファイルを使用してgVimを開き、次の手順を実行します。
:set diffexpr=MyDiff2()
:set diffopt+=iwhite
:call MyDiff2()
そしてまた:
:diffupdate
r3=r2;
これにより、vimdiffが: vsのような違いを無視するようになると期待して
r3 = r2;
いましたが、そうではありません。何故ですか?
私の設定は次のとおりです。
diffexpr=MyDiff2()
diffopt=filler,iwhite,icase
linux - Vimdiff で差分セクションを展開/折りたたむにはどうすればよいですか?
私は今日 vimdiff を使い始めて、Windows ベースの差分エディターで当然のことと思っていたことのいくつかを実行したいと考えました (差分セクションの展開/折りたたみ、完全なファイル展開/上に 3 つのコンテキスト行がある差分のみ、または以下など)。現在、次のコマンドしか知りません。
キーボードショートカット:
do- 他のウィンドウから現在のウィンドウへの変更を取得します。
dp- 現在のウィンドウからの変更を別のウィンドウに置きます。
]c- 次の変更にジャンプします。
[c- 前の変更にジャンプします。
Ctrl+ W, w- もう一方の分割ウィンドウに切り替えます ( Ctrl+ W, Ctrl+は、少し後でキーWを離した場合に備えて同じことを行います)Ctrl
同様の機能を複製できるように、誰かが私を正しい方向に向けることができますか?
たとえば、差分の周りの行を展開/折りたたむことができればいいと思います。
vim - vimdiffと比較するためにファイルの多くのペアをキューに入れる方法はありますか?
比較してvimdiffとマージする必要のあるファイルが数十個あります。シェルに何度も戻ってファイルの各ペアを開くのではなく、一度にすべてを開くことができるように、比較のためにファイルのペアをキューに入れる方法はありますか?
これは、各ペアを独自のタブで開くことで実行できますか?私のシェルはBashです。
windows-xp - "Diff with Vim" コマンドが機能しないのはなぜですか?
WinXP で gVim を実行しています。
フォルダーを開き、2 つのファイルを選択して、"Diff with Vim" をクリックします。スクリーンショット:
gVim GUI が起動し、各ファイルが独自のタブに表示されます。各タブが DIFF モードになっていることに気付きました。ただし、2 つのタブ間で行われる比較はありません。両方のファイルは完全に異なりますが、強調表示も何もありません。左側に灰色の線があるだけで、これは「DIFF」モードであると解釈されます。
何が起こっている?私のvimdiffが機能していませんか、それとも何か他のものですか?
私の解決策
以前、Windows コンテキスト メニューを使用して複数のタブでファイルを開く必要があったとき、投稿者のアドバイスに従い、次の行を.vimrcファイルに追加しました。:autocmd BufReadPost * tab ball
これにより、1 つの Vim ウィンドウの別々のタブで 2 つのファイルを開くことができましたが、必要に応じて 2 つのファイルを比較する機能が失われました。これらの両方の機能をオンにする解決策は、2 つのファイルを比較autocmd
したくない場合にのみ上記を有効にすることです。したがって、.vimrcファイルのコードを以下のように変更すると、Vim機能を使用した Diff が回復しました。&diff==0
上記のVim Wikia リンクのコメント部分にもこのソリューションを追加しました。
windows - vim の差分ウィンドウ
かなり複雑になったスクリプトに取り組んでいます。ほぼ同一のコードを持つセクションがいくつかあると思います。バッファに 2 つ (またはそれ以上) のウィンドウがある vim でファイルを開き、同じファイルのウィンドウの内容を比較することはできますか? vimdiff は 2 つのファイルでしか機能しないようです。ファイルのコピーを作成して 2 つのバージョンを vimdiff しようとすると、差分の起点がファイルの先頭にロックされたままになります。ウィンドウのロックを解除して、比較したいファイルの部分にウィンドウを移動することはできますが、差分が表示されません。ヒントやヒントはありますか?比較したいセクションを切り取り、別のファイルに貼り付けて vimdiff を適用することもできますが、個別のファイルにパッチを適用しようとすると、どのセクションがどこから来たのかわからなくなるリスクがあり、より簡単な方法が必要だと確信しています。 、より簡単な方法。
linux - Vimdiff:あるファイルから別のファイルへの特定の関数内のすべての変更をどのように配置しますか?
Vimdiffでは、「do」または「dp」を使用して、あるファイルから別のファイルに変更を移動できることを知っています...しかし、これらは個々の変更用です。特定のスコープ/選択内のすべての変更を元に戻す必要がある場合(たとえば、特定の機能へのすべての変更を元に戻すが、残りはそのままにします)、一度にそれを行う方法はありますか?
vim - vimdiff を使用してファイル全体を置き換えますか?
gitマージにvimdiffを使用しています。使用する 1 つのファイルを選択する簡単な方法はありますか?現在、1 つのバッファーからすべてを選択し、$MERGE をそれに置き換えて保存しています。私はそれをマクロ化できると思いますが、より良い方法があるかどうか疑問に思っていました. ありがとう!
mercurial - hg book が書かれてから `hg backout` の振る舞いは変わりましたか?
新しいリポジトリ を作成し、test-backout
そこに新しいファイル を追加しましたfile
。次に、毎回 4 つのコミットを行い、file
使用するコミットの数を追加します。
実際には、ファイルには次のものが含まれていました。
hg book によると、 を実行すると、次のようhg backout --merge 2
になります。
しかし、代わりに、マージに失敗し、difftool (vimdiff) が開き、3 つのオプションが表示されます。
私は最初にオプションを付けて試しましたが、--merge
オプションを付けずにもう一度試しました。私の質問は今、私が得る方法がまだありますか?
間違いを犯したり、何かを見逃したりしただけですか、それともそれらのオプションにこだわっていますか?