Vi & Vim

テキストエディタのviおよびVimファミリを使用している人のためのQ&A

3
ブラックホールレジスタ( "_)の用途は何ですか?
最近"_、書き込み専用のレジスタであるブラックホールレジスタについて読みました。 Vimのドキュメントでは、次のように説明しています。 ブラックホールレジスタ "_ このレジスタに書き込むとき、何も起こりません。これを使用して、通常のレジスタに影響を与えずにテキストを削除できます。このレジスタから読み取る場合、何も返されません。 私が読んだすべての記事と本では、著者は常に同じ例を使用しています。これは、以前にヤンクしたものを消去せずにテキストを削除する必要があるときにこのレジスタを使用することです。 私はこの使用法を理解していますが、このレジスタの他の使用例を見つけることができないという事実に驚いています。 このレジスタは、他のいくつかのユースケースで役立ちますか?はいの場合、どれですか? このレジスタの唯一の目的が前に引用したユースケースで使用される場合、Vimの作成者はなぜこのようなレジスタでこの問題を解決することにしたのですか?私が意味するこの回答使用するよりも少ないキーストロークを意味し、問題の解決ショーを"_。を使用"0すると、ブラックホールレジスタの使用を回避することもできますが、なぜそれを作成したのですか?

2
Ctrl-Pを使用して、プロジェクト内のすべてのファイルのファイルコンテンツを対話的に検索する方法
今日、プロジェクトのすべてのファイルで検索を実行しようとしました。Ctrl-Pを使用して、次のような行を検索します。 ただし、検索の結果は、以前に開いたファイルに対してのみです。ここでのみ開きmain.phpます。 すべてのファイルを1つずつ開かずに検索する方法を知っていますか? おかげで、

1
vim-latexのインライン英語文法チェッカー?
私は文法はI型としてチェックしていることのvim-ラテックススイートのための英語の文法チェッカーを探していますが、内部で何ハイライト表示されません$$または\begin{equation}&\end{equation}コマンド。そのようなことはありますか? LanguageToolがあることは知っていますが、.texファイルでは機能しないようです。

2
ファイルが変更されていない場合、書き込み時にファイルに触れないでください
時々、:w何かを読んでいるときにぼんやりとタイプします。これにより、ファイルの変更時間が変更され、ビルドシステムがプロジェクトのかなりの部分を不必要に再構築することがあります。 ファイルを書き込もうとしてファイルが変更されていない場合、vimが単に何もしないように設定する方法はありますか?
15 save 

1
Vimの正規表現マジックは、よく知られている正規表現クラスと互換性がありますか?
多くのUnixツールの正規表現構文は、多くの場合POSIXでコード化された基本および拡張正規表現(それぞれBREおよびERE)であり、一部の最新の実装では、Perlスタイル(PCREがこの実装です)。 Vimの魔法のレベルと、外部で定義されているがよく知られているクラスとの間に1対1の対応関係はありますか?POSIX にルック\mアラウンド\vが含まれていないことを除いて、BREおよびEREのように見えます。 そのような通信が存在する場合、どこかで定義されていますか?pattern.txtの言及は1つだけですPOSIX。 または、Vimの正規表現を記述するために「マジック」に固執する必要がありますか?

2
分割モードからvimを終了する方法は?
一度に分割モードで複数のファイルを編集するときにvimを効率的に終了するにはどうすればよいですか? たとえば、10個の分割ウィンドウがある場合、:q!ウィンドウごとにコマンドを10回繰り返す必要があり、少し時間がかかります。 エディタを終了するより良い方法はありますか? ダーティな回避策については、Control+ Zを押して入力kill %1することで終了できます。
15 split  quit 

4
標準入力からコンテンツを編集する方法は?
まだファイルを持たずにコマンドラインから動的に生成されたvimのコンテンツを編集したいと思います。 例: $ echo This is example. | vim /dev/stdin $ cat /etc/hosts | vim /dev/stdin しかし、エラーで失敗しています: Vim:警告:入力は端末からではありません Vim:入力の読み取りエラー、終了... それを達成することは可能ですか?

4
Windowsでgvimを最大化して起動するにはどうすればよいですか?
ほとんどのコードを一度に表示できるようになるため、エディターにできるだけ多くの画面領域を提供してもらいたいと思います。 問題は、gvim呼び出し方法に応じて、80x25のウィンドウを表示するか、最後の最大化されていないサイズを覚えているかのいずれかです。 それで、どのように記憶された状態に関係なく、可能な限り大きくすることができますか?

2
プラグインVundleを互換性のあるものにし、他のプラグインマネージャーは互換性がありますか?
長い間、私はVundleを使用してvimプラグインを管理してきました。最善の方法は、基本的にプラグインを分離されたディレクトリ構造に整理し、プラグインがプラグインディレクトリに手動で並べられているソースURLに対して更新を追跡することです。 複数のプラグインマネージャーで同じプラグインを使用するためのいくつかの参照に出くわしました。たとえば、NeoBundleは同じプラグインを使用しているようです。ただし、他にも多くのプラグインマネージャーが存在するようです。これらはすべて同じソースファイルを使用するという意味で互換性がありますか、または各マネージャーと互換性を保つためにプラグインを特別に準備する必要がありますか?別の方法で尋ねました、現在のVundleプラグインを処理するのに十分な互換性がある他のプラグインマネージャー、および/または別のマネージャーの下でアドバタイズしてもVundleが管理可能なプラグイン形式はどれですか?

3
新しい行で自動的にインデントするにはどうすればよいですか?
私はさまざまなレベルのインデントでプロジェクトに取り組んでいます。これらのプロジェクトの多くでは、ファイルの一般的な構造により、ほとんどの行は少なくとも2レベルインデントされます(Javaファイルのメソッドなど)。 これは、回線上で新しい行を作成することを意味します public void something () { 次のように、自動的にインデントされた次の行にカーソルを移動します public void something () { [cursor] 新しい行でTabキーを数回押して整列させることができますが、これを行うより良い方法はありますか(自動的に可能)?
15 indentation  ide 

2
Tmuxはvimの背景の一部を変更しています
これは、tmux内でvimを使用する場合にのみ発生するようです。iTerm 2も使用しています。 新しいtmuxペインを作成するか、tmuxペインのサイズを変更すると、すぐに次のようになります。 そして、それを修正する唯一の方法はvimでスクロールすることであり、これはこれに戻ります: これは何が原因ですか?
15 terminal  tmux 


2
パターンを現在の行番号に置き換えます
このファイルの「x」を現在の行番号に置き換えたいと思います。つまり、変更 x x x に 1 2 3 今のところ、Perlのワンライナーを使用しています。 perl -pi -e '$x=$.; s/x/$x/' myfile.txt UltraEditは、垂直方向の選択と置換でそれができると思います。これをvimで実行できますか?(ここでの私の例では、 'x'が1行にすべてあると仮定しています。しかし、実際のファイルの行ははるかに複雑です。)


4
文字xのn番目の出現までカーソルから削除します
私はまでカーソルから削除して、文字の最初の出現を含むことができることを知って、Xとd/x<CR>かとv/x<CR>d、私は最初の選択を参照して、削除したい場合に。現在のカーソル位置からxのn番目の出現まで削除するにはどうすればよいですか? たとえば、カーソルが最初のスペースの後にある場合 ヤダヤダヤダヤダヤダヤダ x ヤダヤダヤダx ヤダヤダヤダx xx そして、私は3分の1にまで削除するコマンドを入力し、Xする結果のニーズを: 矢田の XX

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.