Vi & Vim

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

4
vimで:grepおよび:vimgrepを使用する場合
vim :makeでは、エラーの構築と修正が簡単になり:grep、の:vimgrepように動作し:makeます。しかし、なぜこれらの2つのコマンドが必要なのでしょうか?パターンを検索してを押してみnませんか?単に検索するよりも優れているのは何ですか?



1
「dap」はすべてを削除しますか?
「dd」および「d {motion}」コマンドについてはよく知っていますが、vimのhelp.txtに「dap」が見つかりません。「dap」は通常モードで何をしますか、またその理由は何ですか?(あるいは、自分でこの種のことをどのようにして見つけることができますか?)

2
複数選択の代替?
通常、このcオプションの代替品には、2つのオプション(y)esまたは(n)oがあります。いくつかのyesオプションを選択することは可能ですか? 例 ファイル person: Alice dog: Tobby person: Bob パターン1 :%s/person:/woman:/c パターン2 :%s/person:/man:/c パターン1と2の検索パターンは同じですが、置換パターンが異なります。(1)を置換1に、(2)置換2に、または(n)置換なしにオプションを使用して、それらを1つのパターンに統合します。
15 substitute 

2
行のすべてではなく一部のみで:substituteを実行するにはどうすればよいですか?
このような行があります: function my_function(argument, another argument, but there are spaces) (引数の名前の中の)スペース文字をアンダースコアに置き換えたい。したがって、私は使用したい: :s/\ /_/g しかし、行全体に適用せずに、たとえばカーソル位置から開始することを選択するにはどうすればよいですか?(または3番目の単語)?

2
なぜ `cw`と` ce`は同じことをするのですか?
これはw、Wモーションコマンドとモーションコマンドについていつも私を悩まcせてdきました。それらは、hangeコマンドと一緒に使用した場合、単独で使用した場合とeleteコマンドで使用した場合とでは動作が異なります。 たとえば、このテキストの「q」にカーソルを置きます。 The quick brown fox jumps over the lazy dog. タイピングのdw結果 The brown fox jumps over the lazy dog. 入力deすると The brown fox jumps over the lazy dog. (「The」と「brown」の間の2つのスペースに注意してください。) yANKコマンドも扱いwとe異なり、などと比較することによって示すことができますyeP。 The quickquick brown fox jumps over the lazy dog. およびywP: The quick quick brown fox jumps over the lazy …

2
パターンを含むが、2番目のパターンを含まない行を検索する
ある単語を含むが、2番目の単語を含まない行を検索する必要があります。 たとえば、「This」という単語を含むが「red」という単語を含まない行を検索します これらの行を含むファイルの場合 This is a blue coat This is a red coat This is a purple coat That is a coat 検索では、1行目と3行目のみが検索されます。 アドバイスをありがとう!
15 search 

2
vimコマンドラインでReadlineショートカットを使用するにはどうすればよいですか?
Vimコマンドを編集するときは、Bashや他のすべてのREPLと同じショートカットを使用します:M-b単語に戻るM-Backspace、前の単語を削除M-uする、単語を大文字に変換するC-k、末尾までカットする行など:cmap。すべてではなくを使用して、いくつかのコマンドを構成できました。 これを提供するプラグインまたは設定はありますか? についてceditは知っていますが、必要なのはクイックコマンドを入力するだけであると面倒です。


2
Vimscriptには正式名称がありますか?
Vimscriptと呼ばれることもある言語の名前は、議論の的となっています。Viml(またはVimL?)を使用する場所もあれば、Vimscriptを使用する場所もあります。正式な名前はありますか?もしあれば、それは何であり、いつから公式ですか? VimL対Vimscriptに関する質問(5歳まで) 公式名を持っていると言及している最近の投稿 の実行により、次の:helpgrep \cviml\>ようになりsyntax.txtます。 g:vimsyn_noerror Not all error highlighting that syntax/vim.vim does may be correct; VimL is a difficult language to highlight correctly. そしてversion7.txt: Added special python-vars objects also available for python-buffer and python-window. They ease access to VimL variables from Python. したがってVimL、公式用語のように見えusr_41.txtますが、言語を最もよく文書化するファイルには、の言及はありませんVimL。

2
Vimに貢献するには?
私は4年からVimを使用しています。オープンソースプロジェクトvimに貢献できることを楽しみにしています。Vimに貢献するには、どこから始めれば誰に連絡すればよいかについて、いくつかのヒントが欲しいです。すでにVimに貢献した人々からの助けは大いに役立つでしょう:)。前もって感謝します。 PS-ここに投稿できるかどうかはわかりませんが、Vimの愛好家が最も話しやすい場所なので、ここに投稿することにしました。

4
ラインをインターリーブしてブロックをマージする
これから渡すように、行をインターリーブすることで2つのテキストブロックをマージする専用の方法はありますか? a1 a2 a3 a4 b1 b2 b3 b4 それに: a1 b1 a2 b2 a3 b3 a4 b4 いくつかのコマンドで? 編集:私は本当に佐藤桂のソリューションが好きです、ここに私がそれを実装した方法があります: function! Interleave() " retrieve last selected area position and size let start = line(".") execute "normal! gvo\<esc>" let end = line(".") let [start, end] = sort([start, end], "n") let size …

8
数字の列の合計をすばやく計算する
次のようなマークダウンテーブルを書き留めています。 | 13/05/15 | 09:30-16:00 | 6.5 | | 14/05/15 | 10:00-16:30 | 6.5 | | 16/05/15 | 15:30-01:00 | 9.5 | | 21/05/15 | 09:00-16:30 | 7.5 | | 22/05/15 | 08:30-17:00 | 8.5 | | 28/05/15 | 09:30-15:30 | 6 | | 02/06/15 | 09:00-20:00 | 11 | …

4
ファイル履歴を確実に行き来する方法はありますか
MRUプラグインと同様に、最後に編集したばかりのファイルに移動したいと思います。 :bnextそして:bprev時々動作しますが、ほとんどの場合、私は単に不明瞭なファイルになってしまい、編集を覚えておらず、MRUプラグインに強制的にフォールバックします。 修正する方法はありますか? Ctrl-^最後の2つのファイルを入れ替えます。より多くの間を移動する最良の方法は何ですか? 難しいかもしれませんが、現在の:bn :bp動作を改善できるものには同意します。私がよく見るバッファは完全に適切ではありません。おそらく、最近のファイルを追跡し、マッピングを作成できるようにフックを提供できるプラグインがありますか? コメントに返信することで、私の考えが少し明確になりました。私が欲しいのは、ファイルを最新の保存順に移動できるようにすることです。そうすれば、履歴に戻ると、ファイルを保存するまで順序は変わりません。ファイルが最後になり、その直前に保存されたファイル(つまり、元のファイル)に「戻る」ことができます。 Ctrl-O Ctrl-I現在のバッファを飛び越えずにファイルをすぐに切り替えるペアのようなもの。のようなものuとUnetrwの場合: u Change to recently-visited directory |netrw-u| U Change to subsequently-visited directory |netrw-U|
15 buffers 

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