Vi & Vim

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

3
バッファーの中央にジャンプする方法
を押すggとG、バッファの両端にジャンプできます。 42G 行42にジャンプします。 gバッファの中央にジャンプするためのクイックショートカットはありますか。大体のようなものround(number of lines/2)G?

4
内側のテキストをヤンクしたテキストに置き換える方法
私がよく遭遇する編集パターンは次のとおりです。引用符または括弧内のテキストをヤンクし、引用符/括弧の別のペア内のテキストを置換したい。 たとえば、クラス名をコピーしてfoo bar別の場所に貼り付ける場合: <span class="foo bar"> <div class="this-should-be-replaced-with-foo-and-bar"> 私が知っているのはこれです:スパンのクラス内を移動する場合yi"、引用内のテキストをヤンクするために使用します。 今、私はこれをレジスタに持っているので、divのクラスの内容をそれで置き換えることができるはずです。しかし、私はこれを行う便利な方法を見つけることができません。 これを使用するciwと、変更する内容でレジスタが上書きされるため、ヤンクしたテキストが失われます。 私が思いつくことができる最高のことは、divのクラスの最初の引用に移動しp、を押してから、で次の引用に削除することdt"です。 通常、私は自分の立場を台無しにし、引用符の中のどこかにそれを貼り付けて2つの文字列をマージし、それは物事を台無しにしている。 これを簡単にするために、「内側のテキストをヤンクしたコンテンツに置き換えてください」の組み合わせを行う方法があることを望んでいます。

3
Windows 10上のNeovim-準備はできていますか?
私は窓10で立ち往生しており、Neovimを試してみたいと思います。それは準備ができていますか、それとも今のところvim設定をセットアップするだけですか?Neovimの動画や記事をWindowsで実際に見たことはありませんが、グーグルで検索すると、まだ適切に解決されていない問題があった可能性があると思うようになりました。

2
「more」ページャーを使用してvimがコンテンツを表示するときに検索を実行するにはどうすればよいですか?
変数の値を見たいので、コマンドを実行します :let Vimは、--more--ページャーを使用してこのコマンドの結果を表示します。 これをどのようにフレーズで検索できhtmlますか? 私は+/検索のために使用されると言っているページャーのマニュアルページを見てきましたが、それは機能していないようです/。
17 search 


1
単語のつづりを間違えたときに、端末のベルをvimで鳴らすにはどうすればよいですか?
画面を見ずに100回以上wpmで入力する大量の文字起こしを行います。スペルチェッカーが最後の単語をマークしただけで、vimが何らかの可聴キューを与えてくれると便利だと思います(タイプミスをして、書いたものを再確認する必要があることを示す可能性があります)。 スペルチェッカーは、スペースバーを押すとすぐにスペルミスの単語を構文強調表示することができます。これはどのように作動しますか?ある種のコマンドを同時に実行する方法はありますか? ターミナルでは常にvimを使用しています。現在、端末のベルの音は設定していませんが、それが最も簡単な方法であれば、おそらく動作させることができます。

5
Pythonキーワード引数を強調表示するVim構文パターン
私はvim正規表現の学習に苦労しています(他の正規表現もよくわかりません)ので、主な問題は一致する正規表現を定義することです some_function_call(simple_value, keyword=value) この例のキーワード。 したがって、かっこ内にあり、その後に等号がある場合は、単語と一致する必要があります。 次の問題は、vimで構文ファイルを定義する方法です。私はそれを手伝っていただければ幸いですが、学ぶのはそれほど難しくないはずなので、おそらく自分でそれを行うことができます。 pythonの独自の構文スクリプトを作成したという回答に基づいて編集します。試してみてください。 ここにリンクの説明を入力してください

1
Pythonファイルのsyntasticを無効にするにはどうすればよいですか?
シンタスティックプラグインとpythonモードプラグインがインストールされており、両方に構文チェッカーが含まれています。python-mode構文チェッカーはpythonファイルに対してより柔軟であると思うので、(両方ではなく)その1つを使用したいと思います。 Pythonファイルだけでsyntasticを無効にするにはどうすればよいですか?

4
最後のUIコマンドを繰り返すことはできますか?
.最後の編集コマンドを繰り返すために使用できることを知っています。 最後のUI操作コマンドを繰り返す方法はありますか?たとえば10<C-W>-、ウィンドウを10行縮小するように記述できます。もっと小さくしたい場合は、⟨ いくつかのキー pressを押してこのコマンドを簡単に繰り返すことができると便利です。

4
すべての開いているバッファーの検索結果を表示する方法
私がよくすることの1つ(ただし、コマンドラインを使用すること)は、複数のファイルの検索/取得です。 すべての開いているバッファの検索結果を表示する方法はありますか? 理想的には、結果の場所とスニペットを含む新しいスプリットバッファが欲しいのgrepです。例(/statistics): models/statistics.php: /*! \file statistics.php controllers/stats.php: $this->load->model('statistics'); controllers/stats.php: // Query statistics... controllers/stats.php: $num_exams = $this->statistics->countExams(); ボーナスとして、カーソルの下にある用語を検索できるようにしたいと思いますgd。

4
ある分割ウィンドウから別のウィンドウにテキストを送信する
最近、vimバッファーで端末を開くことができるNeoVimのアドオンがありました。これにより、あるvimウィンドウから別の複製にテキストを送信する魅力的な可能性があります。たとえば、REPLのような動作です。 以前は、この種の構成にtmuxを使用していました。ただし、NeoVimのみを使用して試してみたいと思います。 私の質問は-あるvimから別のvimにテキストブロックを送信するにはどうすればよいですか?または多分-テキストの選択、ヤンク、分割の変更、貼り付けのシーケンスを自動化するにはどうすればよいですか?

1
行内のより詳細な比較
私vimdiffはファイル間の違いを検査するために使用し、時々それが少し見逃します。たとえば、次の2つのファイルがある場合: //a.c printf("Hello\n"); そして: //b.c int i = printf("hello\n") + 3; それらを表示することはvimdiff与える: 私が見たいのは、bc hでは大文字ではないということです。 vimdiffにその一部だけを比較するように指示する方法はありますか(その行で)(つまり、int i =とを無視し+ 3ます)?
17 vimdiff 

4
1行につき1つの文で動作するようにVimを設定する方法は?
現在、多くのプレーンテキスト(および段落内の最小限の書式設定を含むLaTeX)を書いていますが、各文を保持するようにvimをセットアップできたらいいと思います(簡単にするために、テキストは「。」、「!」 、または「?」;これは、VCS diffがより便利になるように、行末で句読点の後にスペースが続き、10進数での改行を避けるためです)。 最低限、gq次からテキストをフォーマットしたいと思います。 He lay flat on the brown, pine-needled floor of the forest, his chin on his folded arms, and high overhead the wind blew in the tops of the pine trees. The mountainside sloped gently where he lay; but below it was steep and he could see …

1
Fedora 20でクリップボードのサポートを取得するにはどうすればよいですか?
私にとっても、私にとっても役に立た"+pないよう"*pです。Vimがインストールされ、適切にセットアップされて使用可能になっているかどうかを確認するにはどうすればよいですか 設定されていない場合、設定するにはどうすればよいですか? Mate 18.1でFedora 20を実行しています。vim-enhancedとvim-x11パッケージをインストールしました。 そして私のVimバージョン: $ vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 13 2014 08:56:57) Included patches: 1-207, 209-475 Modified by <bugzilla@redhat.com> Compiled by <bugzilla@redhat.com> Huge version without GUI. Features included (+) or not (-): +acl +farsi +mouse_netterm +syntax +arabic +file_in_path +mouse_sgr +tag_binary …

2
中括弧のない言語で%を使用する
CおよびCのような言語で%は、カーソルが置かれている対応する中括弧にジャンプするために使用できます。これはよく知られている「トリック」です。 しかし、例えばRubyでは: def fun [1, 2].each do |n| end end rubyはmatchpairs((:),{:},[:],<:>デフォルトで設定されている文字を使用しないため、これは機能しません。 私はそれを設定しようとしましたが、うまくいきません: :set matchpairs=def:end E474: Invalid argument: matchpairs=def:end これをRubyなどの言語でも使用できますか?これはRuby固有の質問ではなく、他の例はシェルスクリプト(if/ fi)またはLua(function/ end)などであることに注意してください。

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