Vi & Vim

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


5
ルート時の設定とプラグイン( `sudo vim`)?
ルートとしてファイルを編集してsudo vim somefile.conf使用する必要があり、キーバインドや設定、プラグインを使用できない場合、本当にイライラします。 ルートとして編集する必要があるときにすべてのカスタマイズを取得する方法はありますか? プラグインにvim-plugを使用しています。

5
有効な配色をリストしますか?
:colorschemeコマンドについて知りました。Vimから有効な配色のリストを取得する方法はありますか?インターネット上のどこかのリストからではなく、Vim内からこれを実行できるようにしたいと思います。


2
ファイルを解凍しようとしないようにvimに指示する方法
.xlsxVimでファイルを開こうとしていますが、次のエラーが表示されました。 ***error*** (zip#Browse) unzip not available on your system バイナリファイルであることは知っていますが、いくつかのチェックサムを行い、おそらく16進数に変換したいと思います。 拡張子を変更しても、Vimはそれを解凍しようとしないことに気付きました。それは私の質問に私を導きます: ファイルを解凍せずに開くようにvimに指示する方法はありますか? FWIW、私はWindows 7でVim 7.4を使用しています。

4
複数のC ++ソースファイルプロジェクトの関数宣言または定義にジャンプできますか?
複数のC ++ソースファイルプロジェクトの関数宣言または定義にジャンプできますか? ヘッダーファイルがあるとしましょうfoo.hpp: int bar(); およびソースファイルfoo.cpp: #include "foo.hpp" int bar() { return 42; } メインファイルmain.cpp: #include "foo.hpp" int main() { bar(); return 0; } vimは、関数bar()から関数の定義と宣言の両方を見つけることができmainますか?

1
Vimの複数のインスタンス間でコマンド履歴はどのように解決されますか?
Vimはexコマンドの履歴を保持し(:↑and 経由でアクセス可能q:)、その履歴は終了後も保持されます。 Vimの複数のインスタンス(同じユーザー、同じホームディレクトリ)を実行している場合、Vimはコマンド履歴間でどのように仲裁しますか?終了する最後のプロセスが優先されるようです。すべてのインスタンスのコマンド履歴を保持する方法はありますか?

1
TABを2スペースに設定
タブ挿入を強制的にスペースにするために、.vimrcで次を設定することが適切であることを示唆するさまざまな回答を調べました。 filetype plugin indent on " On pressing tab, insert 2 spaces set expandtab " show existing tab with 2 spaces width set tabstop=2 set softtabstop=2 " when indenting with '>', use 2 spaces width set shiftwidth=2 ただし、2つのスペースを使用しようとすると、デフォルトでタブごとに4つのスペースが引き続き使用されます。set expandtabこれらの宣言の一番下に移動してみました。softtabstop宣言を削除しようとしました。他の質問に対するさまざまな回答も精査しました。誰かが私を助けることができれば、それは素晴らしいことです。

6
プラグインがアクティブかどうかを確認する方法
vim-latexsuite適切なファイルを開いたときに、filetypeプラグイン(など)がインストールされ、アクティブ化されているかどうかを確認するにはどうすればよいですか?別の人気のあるエディターは、関連する「マイナーモード」がアクティブであることを示します。vimと同等のものは何ですか?

1
「インクルードファイルのスキャン」にCtrl-nの完了に時間がかかる
私はvimスキルを磨き、Ctrl-nコマンドを使用して完了をいじっています。Perlでプログラミングしています。挿入モードでCtrl-nを押すと、ターミナルの下部に「含まれるファイルをスキャンしています」というメッセージが表示され、perl配布ディレクトリのファイルをスキャンしているように見えます。これが完了するまでに数秒かかる場合があります。私がインクルードしたパッケージでコメントアウトされているように見えます: #use Moose; この機能を有効にするには、これらの行を削除する必要があります。何か不足していますか? perl-supportプラグインを使用しています。

2
Vimが終了後に端末をクリアしないようにします
私が行った場合: $ less file を押しqて終了しless、lessまだ実行中のときに画面に表示されていたのと同じテキストが表示されます。 しかし、もし私が $ vim file そして:q、私の端末は空白です... 終了後の端末のスクリーンショットlessとvim: どういうわけかこれを防ぐことができますか?これは私のLinuxシステムでのみです。私のFreeBSDシステムが実際に期待通りに動作します(、すべての周りに同じソフトウェア/設定を使用してTERMいるxterm-colorの両方のために、vim -u NONE違いはありません)。 私が持ちたいものの例:
15 terminal  linux  quit 

5
元に戻すファイルから変更を元に戻すときに通知を受け取ることはできますか?
しばらくの間、Vim の取り消しファイル機能を使用しています。これは非常に便利な機能です。 ただし、面倒な点の1つは、前回ファイルを開いたときに行った変更を誤って取り消すのが非常に簡単なことです。2分前、1時間前、先週、1か月前などです。 たとえば、ファイルを開いて、いくつかの変更を行ってから、他のファイルを変更して、変更が不要であるか、一時的なデバッグステートメントであることがわかったとします。 以前は、uVimが「最も古い変更で既に」と言うまでキーを押し続けるだけ:wqで済みました。ただし、ファイルを前回開いたときに行った変更を元に戻さないように注意する必要があります。これを行っているかどうかを確認する明確な方法はありません。 これをより明確にする方法はありますか?たとえば、どこかに表示したり、警告を発行したり、確認を求めたりすることもできます。

5
「ドット演算子」でマクロを繰り返すことはできますか?
.コマンドでマクロを繰り返すことはできますか?たとえば、次のように入力できるようにしたいと思います。 @q... 効果的に@q4回呼び出す。デフォルトの動作では、これは「Q」は、たとえば、単一のコマンドを保持している場合にのみ動作しdw、xまたはiHello<esc>。(ただし、「。」は最後のキーストローク/コマンドではなく、最後の変更を繰り返すため、これは理にかなっています) 私もこの作品を数に入れてみたいです。たとえば、次のように入力します。 3@q. 実質的に@q6回実行するのと同じです。この動作を構成するにはどうすればよいですか?
15 macro  count 

1
Vim正規表現リテラルを異なるマジックモードに変換する方法はありますか?
文字列リテラルに魔法のVim正規表現がある場合、正規表現全体を別の魔法モードを使用する代替表現に変換する方法はありますか?そのため、同等の正規表現をソースコードに貼り付けることができますか? たとえば、このマジックモードパターンを変換する場合: '\m-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>' 非常に魔法のモードにすると、読みやすくなります: '\v-=<\d+L=>|0[xX][0-9a-fA-F]+>' 私はしばしば手で変換しようとしてミスを犯します。

2
vimに検索と置換の履歴はありますか?
IDEおよびテキストエディターで検索を取得し、履歴を置き換えることができます。同様に、検索履歴またはvimで以前に検索された式を取得する方法はありますか?
14 search 

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