Vi & Vim

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

2
vimtutorの言語を変更する
私のvimtutorはポルトガル語です。私のWindows OSは英語で書かれているので、なぜかわかりません。vimのインストールプロセスで「ポルトガル語」を選択したことを覚えていません。 どうすれば英語に変更できますか?

3
マークを以前の値に設定します
マークを使用してmA、mB... 'A、'B... 、...を使用してさまざまなファイル間を簡単に移動できます そして、いつか(私が認めたいよりも頻繁に)、不注意のため、または理由が何であれ、m[LETTER]私がしたくないときに以前の値を消去する既存のマークを使用します。たいていの場合、最初にマークがポイントしているファイルを開きません。 この場合、自分が間違いを犯したことにすぐに気づいたとき、マークがどこを指していたかを覚えて、この場所に移動して再度設定する以外に、以前のマークの値を取得できますか? 私はそのようなコマンドをドキュメントで見つけていませんので、それが存在しない場合、あなたがこの状況で使用する賢い回避策はありますか?
9 mark 

2
ここからXバイト移動
現在のカーソル位置(改行を含む)からXバイト先に移動するにはどうすればよいですか? [count]goバッファの先頭からXバイト先に移動するために使用できます。私は試してみましたShift + V, G, [count]go(それ[count]goが私の選択の最初からカウントを開始すると仮定しました)が、残念ながらgo、バッファの最初からカウントを開始するだけなので、それも機能しませんでした。 また:set rulerformat=%o、現在のバイトオフセットを表示しようとしました(バイトオフセットにジャンプしてバイトオフセットとして位置を表示することで提案されています)[count]go。頭に数字を追加して、最後にを発行しました。これは機能しますが、あまり実用的ではありません...

1
自動フォーマット:テキストを挿入するときに後で折り返す
読んだ後help textwithとhelp fo-table、私は私が設定したときにすることを期待しました set textwidth=20 " for demonstration set formatoptions=tcq その後、テキストを挿入すると、常に最終的に行が折り返されますが、そうではありません。折り返しは、カーソル(またはその前)でのみ発生します。貼り付けてもラッピングは一切発生しません。 例(Vim 7.4): 12345678901234567890 This is a long line ヒットAして入力を開始すると、行は自動的に折り返されます。 しかし、02wi「still」と入力して入力しても、折り返されません。 12345678901234567890 This is still a long line 折り返す前に、さらに7文字入力する必要があります。その後、問題は次の行に続きます。 12345678901234567890 This is still more <-- it wraps here typing and again a long line 貼り付けでも折り返しはトリガーされません。 12345678901234567890 This is a long …

1
コマンドのプレフィックスに不条理に大きな数が使用されるのを防ぐ(または少なくとも確認を促す)にはどうすればよいですか?
あなたが思うほど頻繁には起こりませんが、たまに起こり、私は猫を飼っていません。 基本的に、数字の行またはテンキーをマッシュしてから、繰り返し可能なコマンドをトリガーするキーコンボをたまたま叩いた場合、誤ってVimに数千回、数百万回、または数十億回もタスクを実行するように命令することができます。これは簡単に制御できなくなり、データが失われる可能性があります。 したがって、ソースコードにこのようなDoSを防止するための健全性チェックとして機能するように変更できる構成または何かがあるかどうか疑問に思います。

1
Pythonの引数補完
Pythonの引数補完を取得する方法はありますか? 現在ctags、python-mode、YouCompleteMeの組み合わせを使用していますが、関数の引数をオートコンプリートする関数がありません(または少なくともそれらを表示します)。 それをサポートするプラグインはありますか? vim / gvim 7.4とUbuntu 14.04を使用しています

1
数行の指示
1行の命令を複数の行に分割する方法はありますか? たとえば、変身したい setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long string" : "another long string" に setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long string" : "another long string" しかし、上記のようにしようとすると、「無効な引数」エラーが発生します。
9 vimscript 

2
問題:線を垂直に移動すると折り目が閉じる
m(例:m+1)で線を移動すると、すべての折り目が閉じます。その後、zvもう一度折りたたみを開くと、カーソルが移動した位置に移動します。私は{{{ }}}マーク付きの折りたたみを使用set foldmethod=markerし、.vimrcに入れています。 行を移動するときにvimが折り目を閉じないようにするにはどうすればよいですか?
9 folding 

4
“ gf”(または同様の)を使用してファイルを開き、検索語にジャンプできますか?
ファイルパスの引数gfを認識するvimのコマンド(または類似のもの)を取得する方法はあり+{cmd}ますか? vimを起動して、次のようにして検索語に直接移動できます。 $ vim +/coding_effort ~/project/file 同様に、コマンドモードでは次のことができます。 :e +/coding_effort ~/project/file 私はよくメモを取り、次のような他のファイルを参照します。 For more info see +/coding_effort ~/project/file where there's a detailed discussion. 私はを選択し+/coding_effort ~/project/file、のようgfに入力して、vimに正しいことをしてもらいたいと思っています。

3
強調表示されたソースコードをファイルに出力してvim外で使用する方法
私の職場では、私たちが抱えていたいくつかの問題を解決するために開発したカスタム言語のプレゼンテーションをしたいと思います。開発を容易にするために、この特定の言語用に独自のvim構文ファイルを作成しました。 今、私はそれを別のコンピュータに提示する必要がありますが、その構文ファイルはありません。私が知っていることすべてのために、それはvimがインストールされていないかもしれません(しかし私はそれを疑います)。 less -r自分のコンピューターで行うのと同じ構文の強調表示をファイルで取得できれば完璧です。 ただし、(Debianのgnomeからのターミナルで)色を保持しながらコピーして貼り付ける方法、またはvimから生の制御文字として構文を強調表示してファイルを出力する方法がわかりません。私はvimから解決策を見つけることに自信がありますが、それを行うために何を探すべきかわかりません。 開いたファイルの構文を強調表示して別のファイルのANSI raw-control-charsとして出力する方法を知っていますか?

1
YouCompleteMeを使用しているときに、提案の数を制限するにはどうすればよいですか?
私はかなり大きなphpコードベース(約1.3 mil行のコード)に取り組んでいます。私はタグを生成しました、そして今私が何かをタイプしているとき $data-> YouCompleteMeは非常に遅延が激しく、タグから可能なすべての補完のリストを取得しようとすると、基本的にVimをフリーズします。これを修正する方法はありますか?たとえば、候補の数を制限することにより、たとえば、リスト全体をロードする代わりに、上位10の候補のみを表示します。

2
外部コマンドを使用せずにコードプロジェクトをナビゲートする
Ctagsや他の外部ツールを使用せずにコードベースをナビゲートするために、コマンドモードまたは検索モードでVimコマンド/クエリのツールボックスを収集しようとしています。Ctagはすばらしいですが、サポートは、行き詰まっている開発環境によって異なります。Vimの知識だけに依存したいと思います。
9 search  ide 

4
前の行の「=」までコンテンツを逆方向に削除するにはどうすればよいですか?
私はjavascriptコードの例を使用します: 1 var a = 1; 2 var b = |{}; カーソルが|(カーソルの形状がブロックの場合は文字「{」の上)の位置にaあります。オブジェクトを割り当てたいので、次のように変更します。 1 var a = {}; では、カーソルが「{」の上にあることを知りたいのですが、「{」の前のすべての内容を1行目の「=」記号の後の空白まですばやく削除するにはどうすればよいですか。 他の通常のエディターでは、バックスペースキーを押してコードを削除します。しかし、私はこれをvimで達成する方法はありません。

1
「:ls」の結果をファイルに書き出す方法はありますか?
現在、たくさんの分割があり、これらのファイルを見つけるのにしばらく時間がかかりました(基本的に、相互に接続された50個のファイルを通してバグを追跡しています)。 :ls > /tmp/filelist私がファイルに対して開いている現在のスプリット/バッファを書き出すようなコマンドはありますか?

3
最も古いバッファを自動的に閉じますか?
最近、多くのファイルを編集して、各ファイルを少し変更する必要がありました。各ファイルにアクセスするために、私はNERDtreeを参照し、次々とファイルを開きました。ファイルをどんどん開くと、メモリ使用量が大幅に増えていることに気づきました。vimを閉じると、多くのメモリが戻ってきました。 かなりの数のプラグインをインストールしていますが、メモリ使用量が大幅に増加した理由は、いくつかの編集後に開いたバッファの数が原因であると考えています。 vimが一度に開くことができるバッファーの数を制限し、編集時間に関して古いバッファーを自動的に閉じる方法はありますか?
9 buffers 

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