うまくいけば、これは答えるのが簡単でしょう。
Win7にはgvimとvimがあります。コマンド結果をファイルにリダイレクトし、Vim(またはGvim、同じ効果)で開くと、すべての文字の間にバイナリ0(^ @記号)が挿入されます。
だから、代わりに
r96130
私は持っています
^@r^@9^@6^@1^@3^@0^@
それを(推奨)防止する方法、または(うまく)それを取り除く方法はありますか?
置換を試みましたが、明らかにこれは^ @だけではなく、バイナリゼロ(私は思う)なので、では取り上げられません/^@
。
編集:
1)エンコーディングをUTF-8(私が取り組んでいるコンテンツのエンコーディング)とUTF-16(@Philippe Wendlerの回答による、ありがとう)に設定しようとしましたが、役に立ちませんでした。
2)__PowerShell__は有罪の当事者です。通常のコマンドラインで(を介してcmd
)リダイレクトを実行すると、副作用はありません。PowerShellセッションで作成されたファイルにのみ、これらのバイナリゼロが挿入されます。
3)@Christianが言及したPowershellグッズは役に立ちませんでした。メインOSとしてUbuntuに切り替え、そこでVimを使用しているので、質問には答えないままにしておきます。したがって、ここでの唯一の「解決策」は、PowerShell + Vimを使用しないことです。これは、明らかに答えとして欠けています。:-)
解決!
解決策をくれた@EmperorXLIIに感謝します!コメントにあるようにここに投稿すると、十分に表示されない可能性があります。
dir | OutFile -Encoding UTF8 test
バイナリゼロなしでVimに表示されるファイルを作成します。OEM、ASCII、およびテストした他の2つのエンコーディングを使用して実行した場合も同じことが起こります。
有望なヒントは:he 'fileencodings'
-はい、複数形、@ Dan Fitchによるものですが、その時点ですでにWin7から離れているため、テストしていません。