Vi & Vim

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

2
別のgitブランチからファイルを開くにはどうすればよいですか?
現在のgitリポジトリの別のブランチからファイルを開きたいです。私はこのSOの質問を見てきましたが、Vimと組み合わせるための提案は面倒です(Vimにパイプする、stdinを開く、ファイルタイプを手動で設定するなど)。構文の強調表示、ファイルタイプの設定などを保持する簡単な方法はありますか? 役立つ場合: 私が持っている逃亡者(ほとんど使用されませんが)プラグインがインストールされています。 変更する必要はありません。 ファイルは、現在開いているバッファのファイルでも、別のバッファでもかまいません。
35 git 

5
まだ存在しないディレクトリにファイルを保存するにはどうすればよいですか?
Vimを起動して、まだ作成されていないディレクトリ内の新しいファイルを編集するとします。 vim nonExisitingDirectory/newFile.txt Vimは喜んで空のバッファーを表示し、新しいファイルの書き込みを開始できます。しかし、ファイルをディスクに書き込みたい場合、このエラーが発生します: E212: Can't Open file for writing. これは、ディレクトリがまだ存在しないためと思われます。Vimにディレクトリの作成を強制する方法はありますか?
35 save  autocmd 

10
ビジュアルモードで選択された一連の行をコメントアウトする方法は?
ビジュアルモードで選択した行を複数コメントアウトするにはどうすればよいですか?言語固有にする方法は? たとえば、最初の4行が選択されている場合: def foo(a,b): for each in (a,b): print each return a+b print "2" コマンド/マクロの操作の結果は次のとおりです(Pythonで): #def foo(a,b): # for each in (a,b): # print each # return a+b print "2"

2
:set background = darkは何をしますか?
私は入れていないcolor xxx私に.vimrc。私はこれを見て私が最初に私を開いたとき.vimrc。 :colordefaultここで私に与えます。 次にを入力し:color darculaます。そして、これに変わります。 :colordarculaここで(自然に)私に与えます。 次にを入力し:set background=darkます。そして、これに変わります。 :colordefaultここに(驚くほど)私を与えます。 だから私の質問は、正確に何を:set background=darkするのですか? 試したが:h background、何も役に立たなかった。このコマンドは実際には背景を変更せず、vimのみがそれに応じて色を変更することを理解しています。しかし、私はまだこの質問をしたいです。後、私は色で本当に幸せだから:color darculaと:set background=dark私は置くことなく、私自身のカラースキームを作成する方法を疑問に思うのでset background=dark、私の中で.vimrc。 @statoxからアドバイスを受けてset background=dark、私の最後の行に書きましたdarcula.vim。次にcolor darcula、3番目のスクリーンショットを提供します。ただし、最初の行に配置するとcolor darcula、2番目のスクリーンショットが表示されます。またset bg=dark、3番目のスクリーンショットに変更します。 私は最初の行にそれを置くことで、私はこのカラースキームが暗い背景用に設計されていることをvimに伝えています。対照的に、最後の行に配置することで、vimにこのカラースキームが明るい背景用に設計されていると仮定し、vimにそれ自体を変更させます(最後の行を処理するとき)。 私が起こったと思われることが真実である場合、私の質問は未回答です。set bg=dark明るいカラースキームを読み込んだ後、vimを使用すると、vimは正確に何が変わりましたか? 私のvim設定全体はhttps://github.com/MichaelMa2014/.vimで利用可能です

5
オプションの引数を使用してvimscript関数を作成する方法は?
オプションの引数を持つ関数を作りたいです。 Pythonでは、私はこのようなことをします: def functionName(arg1,arg2=false,arg3=false): if arg2: #Do stuff with arguments else: #Do stuff without arguments やってみfunction FunctionName(arg1,arg2=false,arg3=false)ましたが、引数が無効であるというエラーが出ます。 vimscriptでこれを行うにはどうすればよいですか?
34 vimscript 

3
UbuntuでVimの新しいバージョンを入手するにはどうすればよいですか?
Ubuntuのパッケージはかなり古い場合がありますが、デスクトッププログラム(Vimなど)の場合、新しいバージョンではさまざまなバグが修正されることが多いため、むしろ最新バージョンが必要です。 Ubuntuで合理的に最新のVimバージョンを入手するにはどうすればよいですか?

4
ファイルタイプに基づいてデフォルトのインデントを変更するにはどうすればよいですか?
作業中のファイルの種類に基づいて、さまざまなインデントを設定したいと思います。たとえば、.cファイルで作業する場合、インデントを4スペースにする必要があります。では.html、ファイルIは、タブ付きの仕事を(してい)したいと思います。 どうすればそれを達成できますか?

2
現在フォーカスされているファイル以外のすべての分割ファイルを閉じますか?
ファイルで作業しているときに、ある時点までのコードの現在のフローを把握するために、複数のファイルを開くことがあります。ただし、これにより、複数のファイルが一度に開いて分割される場合があります。選択したウィンドウ以外をすべて終了するコマンドはありますか?

6
改行以外の行全体を削除できますか?
私は強迫観念で、ファイルに空白を入れないようにするので、vimで私にとってかなり一般的な操作は、行自体ではなく行全体の内容を削除することです(つまり、改行ではありません)。 これを行うための組み込みのvim方法はありますか?おそらくd<movement command>手術? これまでのところ、私が持っている最高のものは(問題の行で)0d$です。もっと速い方法はありますか?


6
ディレクトリツリーのみに設定を適用する
私の仕事では、標準tsの2 を使用しています。私の個人的な好みは4です。これは趣味のプロジェクトに使用するもので、継承したこの他のプロジェクトにはの規則がありts=8ます。 プロジェクトごとに設定したい他の設定もいくつかあります(折りたたみなど)。これらの設定をファイルタイプに基づいたり、ファイルが使用するものに基づいて自動検出することは、各プロジェクトの規則を尊重したいので、良いオプションではありません。 すべてのファイルにモードラインを追加せずに、プロジェクト(ディレクトリツリー内のすべて)に適用される設定ファイルをVimで使用できますか?
33 vimrc  filesystem 

2
通常モードでキーを押した履歴を表示できますか?
Vimはexコマンド、検索、ジャンプ場所、変更、およびその他の履歴を保持していることを知っています。 showcmdセット、Vimはまた、そのコマンドが実行されるまでは、これまでの通常モードのコマンドの入力したものをキーいただけます。 時々、通常モードで、タイプミスとアクションが発生します。これらのアクションを元に戻すことはできますが、失策中の編集がどのように発生したかを知りたいことがあります。編集がクールに見える場合があり、将来的にそれを繰り返す方法を知りたいです。 それでは、通常モードでキーを押した履歴を表示する方法はありますか?実際の編集またはアクション(移動やモード変更など)が発生したときに区切ることが望ましいですか?

3
インテリジェントなC ++自動補完を取得する方法
一部のエディター(Windows上のVisual Studioなど)は、C ++を理解するC ++自動補完を行います。たとえば、次の場合: #include <vector> int main(void) { std::vector<int> v; v.i Visual Studioでは、オートコンプリートstd::vector<int>はiで始まる唯一のメソッドを知っていますinsert。 vimでこの種のオートコンプリートを取得することは可能ですか?

3
VimまたはgVimでモノスペースでないフォントを使用できますか?
vimまたはで非等幅フォントを使用する方法はありますかgvim? gVimのフォントを次のように変更してみました: :set guifont=Dejavu\ Serif\ 12 しかし、これはかなりratherい結果をもたらします: メニューを使用しても同じ結果が得られます([編集]-> [フォントの選択]) :help guifont 言う: Note that the fonts must be mono-spaced (all characters have the same width). An exception is GTK 2: all fonts are accepted, but mono-spaced fonts look best. だから、上記の結果は「見栄えが悪い」と見なされると思いますか?これをどうにか改善できますか? 私はまた、端末でモノスペースでないフォントを設定しようとしました(xterm)が、ほぼ同じ効果があるようです: このbtwに別のターミナルエミュレータを使用しても構いません。
32 terminal  gvim  font 

3
Vimで文字列をどのように「チョップ」しますか?
次のvimscriptを実行するとします。 let @z = system("date") これにより、現在の日付の文字列バージョンがzレジスタに格納されますが、文字列は不要な改行で終了します。chomp文字列の末尾の改行を取り除くための組み込みの方法(Perlに似ています)はありますか?
32 vimscript 

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