Vi & Vim

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

3
Vimで貼り付けたばかりのテキストブロックを視覚的に選択するにはどうすればよいですか?
通常、ソースファイル間でコードスニペットを移動/コピーする必要があります。テキストのブロックを貼り付けた後、通常、ブロックを再インデントするなど、何らかの操作をそのブロックに適用する必要があります=。 貼り付けたテキストブロックを手動で簡単に視覚的に選択する方法はありますか?

3
Vimが大量のファイル(スワップ、バックアップ、取り消しなど)を残さないようにするにはどうすればよいですか?
デフォルトでvimは、スワップファイルはプロジェクトディレクトリに残され、クラッシュ時にはバックアップファイルが残されます。 これを防ぐことはできますか?または、すべてのプロジェクトの.VCSignoreファイルを更新する必要がありますか?

1
Vimはpython3でコンパイルされましたが、has( 'python')は0を返します
これらの指示に従って、python 3でvimをコンパイルしました:https : //github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source インストール後、python3があるかどうかを確認しました。 vim --version | grep "python" 返されたもの: +python3/dyn そして +python/dyn しかし、vimを起動してfollowinfコマンドの1つを入力すると、次のようになります0: :echo has('python3/dyn') :echo has('python3') :echo has('python') :echo has('python/dyn') 誰かが同様の問題を抱えていますか? 編集:やあみんなたくさんの有用なコメント、私はただ感謝を言い、みんなに私がこれを解決するために何をしたかを知らせたかった。私が提供した最初のリンクから再び指示に従いましたが、今回はvim.tinyを削除し、vimにpython2とpython3の両方をサポートさせようとする代わりに、python3サポートでビルドします。これはそれを修正しました タイピング python3 print("works") vimでは、を示しますworks。タイピング echo has('python3') の出力を与え1、最終的に vim --version | grep python3 私に価値を与えます +python3 すべての助けと提案をありがとう!

2
Vimが最大テキスト幅を80ではなく79に設定するのはなぜですか?
Vimのいくつかのデフォルト値について少し困惑しています。特に、のためにgq{motion}、と言われています [...] If the 'textwidth' option is 0, the formatted line length is the screen width (with a maximum width of 79). 80代わりに、最大幅をに設定するのであれば、もっと意味があるはずだと思いました。 誰かがこれについて私に教えてもらえますか?私は何かが欠けていると思います。
13 formatting 

1
Pythonブロックモーションの終了
pythonブロックの終了/開始に移動するモーションが必要です。また、前/次のメソッド/クラスの開始/終了に移動する別のモーションが必要です(すべての組み合わせ)。 私はvim-indent-object、python-mode、chapa、vim-python-objectなどを試しました。それらのどれもブロックの終わりをサポートせず、上記のモーションのすべての組み合わせをサポートしません。 私は私が提供したプラグインを持っていた時間に一度覚えて]]、[[、][および[](検索「] [」および「[]」の動き、前/次のメソッド/クラスの/最後の初めのために、私は私のプラグインディレクトリにそれを見つけることができませんプラグインされたディレクトリですべての発生を分析しましたが、「] [」または「[]」を定義するものは見つかりませんでした。 使用したプラグインを知っていますか?この機能を提供するプラグインを知っていますか?


3
キーが何にマッピングされているかを調べる方法は?
:map引数なしでコマンドを実行すると、ユーザー定義のマッピングのリストが表示されるはずですが、たとえば、Ctrl-Wを押すとCtrl-Iが発生しますが、組み込みマッピングとしてどのような機能が発生したのかわかりません:mapコマンドには表示されません。 キーの機能を調べるにはどうすればよいですか?

4
インクリメントしながらヤンクアンドペースト
Vimで.sqlファイルを編集しています: INSERT INTO apps_forms (app_id, form_id) VALUES (1, 1), 私がやろうとしているのは、(1, 1),行をヤンクして137回貼り付けることです。ただし、カッコ内の2番目の数値は、毎回インクリメントされるようにします。出力は次のようになります。 INSERT INTO apps_forms (app_id, form_id) VALUES (1, 1), (1, 2), (1, 3), ... (1, 137), Vimでそれを行う方法はありますか?その場合、どのコマンドを使用しますか? ありがとう!

2
「次へ移動」コマンドの逆は何ですか
次,の行に移動したい場合は、と入力しt,ます。私は以前に行きたい場合は,、私が使用することができ/n、入る、Nこれはフィドルのビットです。tコマンドを逆にして前のコマンドに移動する最良の方法は何,ですか?
13 search 

2
:nohlsearchと:set nohlsearchの機能的な違いは何ですか?
私はそれを:nohlsearch実際に使用すると、実際には同じことをしないことに気付きました:set nohlsearch。 特に、hlsearch設定は実際にはオフになりません(これが何を行うか:set hlsearch)。 私が意味することを実証するには: :set hlsearch :nohlsearch :echo &hlsearch これは印刷します1(hlsearchはまだ設定されています!) :set hlsearch :set nohlsearch :echo &hlsearch これ0は、vimで設定をオフにする標準的な方法を使用してhlsearchをオフに切り替えたために出力されます。 :nohlsearchexコマンドが存在するための実際の理由が必要なので、私はちょっと不思議に思っています。 私が気にする理由は、vimスクリプトで検索ハイライトがアクティブかどうかをテストする必要があり:nohlsearch、他のスクリプトで ":set nohlsearch"の代わりに使用していたため、&hlsearchテストが常に戻るため1です。だから、nohlsearchexコマンドを使用しなくなったことで何が変わっているのだろうかと思っています。
13 search  highlight 

4
既存のウィンドウを既存のタブに移動する
場合によっては、既存のタブにウィンドウを移動する必要がありますが、これを実行できるコマンド/キーボードショートカットがあるかどうか疑問に思っていました。ウィンドウを閉じてタブに切り替えてから、新しい分割で開くことができることは知っていますが、これを実現するより短い方法があるのではないかと思っていました。新しいタブではなく、既存のタブに移動したいことに注意してください<C-w>T。

2
cpo&vimは特別な構文ですか?
スクリプトでは、次のようなことをするのが習慣です。 let s:save_cpo = &cpo set cpo&vim ... script ... let &cpo = s:save_cpo スクリプトの互換性のないモードを確保するため。 は: set cpo&vim のようなある種の特別な構文foo & bar?それとも、コマンド、トリガーライン、または他の何かのようなものですか?
13 vimscript 

1
正規表現検索パターンによる折りたたみ
空白で区切られた値の列を含むプレーンテキストファイルを取得しました。このような: AU 3030 .... ... .... AU 3031 .... ... .... AU 3032 .... ... .... AU 3033 .... ... .... IT 48100 ... .. ..... IT 40100 ... .. ..... IT 48123 ... .. ..... UK 3333 ... ... ..... UK 4444 ... ... ..... UK 5555 ... ... …

2
:コマンドで文字列全体をエスケープする方法は?
どれどれ。私はgvim走っているので、ファイルを開いて、autocmdsを尊重します(これは除外されます--remote-tab)。 今、私はできることを知っています(基本的に、いくつかの微調整を行います): gvim --remote-send ":tabe my_file<CR>" 動作します。しかし、ファイルにスペースや奇妙な文字が含まれている場合は、次のことを行う必要があります。 gvim --remote-send ":tabe my\\ file<CR>" (ダブル\\は、そのうちの1つがシェルに食べられるためです。これは、手動で入力するのと同じです。 `:tabe my\ file` でvim動作します)。これで、シェルなどでその文字列を作成する方法を見つけることができますが、次のように、「:tabe」コマンドで文字列を「グローバルに引用」できるといいのですが gvim --remote-send ":tabe 'my file'<CR>" または gvim --remote-send ":tabe \"my file\"<CR>" ---これは、vimコマンドラインに直接書き込むのと同じ:tabe "my file"です。動作していないようです。文字列内のすべてのスペースをシェルで明示的に引用して、次のようなことを行うことができます # <ESC> because the gvim instance can be in a mode different from normal # the double CR: do …

1
タイトルに下線を付ける方法は?(reStructuredText、Markdown、asciidocスタイル)
さまざまなプレーンテキストマークアップ言語: reStructuredText、Markdown、asciidoc(その他)も、下線を使用してタイトルを示します。 Chapter 1 Title =============== Section 1.1 Title ----------------- Subsection 1.1.1 Title ~~~~~~~~~~~~~~~~~~~~~~ Section 1.2 Title ----------------- Chapter 2 Title =============== これらをvimに追加する便利な方法はありますか? 上記の行に一致する長さの文字を追加します。
13 markup 

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