Vi & Vim

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

3
オープンマンセクション3
LinuxでCを開発するためにVimを使用しています。K基になる単語のmanページを開くためにを押すと、どのmanセクションを開くかを制御できません。それをどこかに指定する方法はありますか?

6
n行を削除して1行のスクリプトをスキップ
単にn行を削除し、1行をスキップして、ドキュメントの最後まで繰り返す基本的なVimスクリプトを作成したいと思います。特定の一致は気にせず、行を削除したいだけです。例えば; したがって3ddj、ドキュメント全体に対してコマンドを繰り返したいと思います。 Text I want to keep. Text I want to delete. Text I want to delete. Text I want to delete. Text I want to keep. Text I want to delete. Text I want to delete. Text I want to delete. Text I want to keep. Text I want …

1
編集中に加えられた外部の変更をマージする
Vimで編集中のファイルに外部の変更が加えられた場合、私はによってファイルのコンテンツを再読み込みできることを理解しています:edit。しかし、(内部で)保存したいファイルに変更を加えたと仮定します。2つの変更セット(外部と内部)を統合する方法はありますか?私が理解していることから、:edit単に外部の変化を取り入れます。
10 merge 

1
C ++コメントをGoogleのスタイルに準拠するように調整するにはどうすればよいですか?
Vimが私のコメントをGoogle cpplintに準拠するようにフォーマットする方法はありますか? 上のセクションは準拠していません。準拠するには5つの変更が必要です。 このコメントを同じレベルに保つ 後にスペースを追加 // コードとコメントの間に少なくとも2つのスペースを追加する コメントを揃える 後にスペースを追加 // (私もここでこの質問をしていることに注意してください、Tabular https://github.com/godlygeek/tabular/issues/44で行うことが可能かもしれません) 編集:以下の推奨事項に従って、これは機能します: プラグイン=> https://github.com/rhysd/vim-clang-format .nvimrcまたは.vimrc構成: let g:clang_format#code_style='google' let g:clang_format#style_options = { \ "AccessModifierOffset" : -3, \ "Standard" : "C++03"}

6
各行の最初の4文字を同じ行の終わりにコピーする方法は?
次のような一連の行があるとします。 2001 "Some Kind of Title," Author's Name, Publication Name, 1 Mar. 2002 "Some Kind of Title," Author's Name, Publication Name, 12 Oct. 2003 "Some Kind of Title," Author's Name, Publication Name, 8 Apr. 2004 "Some Kind of Title," Author's Name, Publication Name, 3 Jun. 最初の4文字(年)を取得し、行の最後にコピーして、次のようにする方法はありますか。 2001 "Some Kind of …


2
単一の文字を挿入してから挿入モードを終了する方法はありますか?
テキストを調べているとき、たとえば特定の単語や引用符などの周りにバッククォートを追加しているとき、挿入するたびにEscキーまたはCtrl- [キーを押す必要があるのはイライラします。挿入(および追加)は異なるため、.あまり役に立ちません。 r単一の文字の後に通常モードに戻るようなものはありますか?ただし、置換モードの代わりに挿入モードを使用しますか?

4
neovim端末エミュレータの使用例?
neovimとVimの大きな違いの1つは、neovimに非同期で動作する端末エミュレーターが含まれていることです。 ただし、この機能からどのように利益を得ることができるかはわかりません。何のために使えるの?neovimのターミナル機能の使用例をいくつか挙げて、私がそれを最大限に使用する方法を理解できるようにしていただけませんか 通常のVim :read !{command}では:write !{command}、通常、、、Ctrl+Zおよびfgtmux分割ウィンドウを使用します。
10 terminal  neovim 

2
バッファ全体を置き換える最も効率的な方法は?
現在、バッファ全体を他のテキスト(クリップボードなど)に置き換える2つの類似した方法があります。 方法1: すべての行を削除::%d。 テキストを貼り付け:("+Pまたは類似:):put+。 方法#2: すべての行を視覚的に選択しますggVG。 テキストを貼り付け:"+P。 しかし、私はそれを行うための1つのコマンドを発射する方法を見つけることができなかったようです。私が見つけた最も近いものは:changeコマンドです。しかし、それはレジスターではうまく機能しないようです。もちろん、関数を作成したり、そのためのキーをマップしたりできます。しかし、これらすべてのカスタマイズを行う前に、以下を確認したいと思います。 ある範囲の行を他のテキストで置き換える組み込みコマンドはありますか?同様に、:%replace+バッファ全体をクリップボードのテキストに置き換えることができますか?


3
ヘルプ内の影付きの用語
ときどき、特定のトピックのヘルプシステムを検索しているときに、別のトピックが表示されることがあります。 たとえば:h display、「表示」設定のヘルプが必要なときに、「GUIリソース」に関するヘルプが表示された場合(のようにset display=lastline)。 これらの「影のある」トピックを見つける方法、または最も関連性の高い一致するトピックをリストする方法を教えてください。

2
新しいタブを開くことをデフォルトにするにはどうすればよいですか?
私が開くとvim、複数のファイル(とvim f1 f2 ...)、どのように私はそれを使用せずに、直接タブで開くことができますか-p? シェルの動作をvimの動作から分離し、vimベースのエイリアスなどを削除したいと考えています。そのため、エイリアスなどを使用したくないのです(したがって、no -p)。 これはいくつかのSEサイト(SOなど)で要求されたと確信しています。ただし、これを行う最善の方法を判断する立場にはないので、提案された方法が優れている理由についてのメモも期待しています。 リンクされた特定のSO投稿の場合: 受け入れられた答えはしtabpagemax=9999ます。個人的なバイアスと呼んでいますが、制限が多数に設定されているのがわかり、何か問題があると思います(見た場合の感じ方chmod 777)。 :au VimEnter * set tabpagemax=9999|sil tab ball|set tabpagemax&vim 他の答えは、はるかに簡潔である一方で、余分な空のタブが開かれることになります。 :autocmd VimEnter * argdo tabedit 余分なタブを開かず、制限を大きな値に設定しない(または、それが悪いことではない理由を説明する)答えを期待しています。

1
プリペンド挿入モードはありますか?
私はtoからztoまでのすべての文字を含む文字列を書き込もうとしていたのaですが、逆方向に書くことができれば、これはずっと簡単になると思いました。 これは、挿入されたすべての文字の後にカーソルが前進しないINSERTモードのようなものです。私はそのようなものを見つけることができなかったので、このモードがすでに存在しているか、または何らかの方法で達成できるかどうか疑問に思っていますか? 注:テキストを元に戻すことができることは承知していますが、これは重要ではありません。

2
vimrc内からvimとvimdiffを区別するにはどうすればよいですか?
私はvimにすべてのバッファをタブとして開く関数があります。ただし、この関数を追加した後、vimdiffもファイルを開いて、異なるタブとして比較するため、違いが表示されません。vimrcファイルを呼び出しているvimまたはvimdiffかどうかを確認する方法はありますか? function! OpenTabs() let bf=len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) if bf > 1 exe "tab 5sball" endif endfunction
10 vimrc  vimdiff 


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