Vi & Vim

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

3
「softtabstop」は何に使用されますか?
Vimのこれらのタブ関連の設定を知っています。 ts sw expandtab smarttab sts 私の通常の設定はset ts=4 sw=4 expandtab smarttabです。 しかし、stsドキュメントによると、expandtabが設定されていない場合、スペースとタブの組み合わせを使用して、タブサイズに必要な数の空白を構成しようとします。 この設定の有用なシナリオを本当に考えることはできません:なぜ誰かが物事を台無しにするかもしれない固定数のタブとスペースを持ちたいのでしょうか?私が考えることができるこれを行うことの唯一の利点は、文字数を減らし、ファイルサイズを減らすことです。

8
永続的な行番号をファイルに追加する方法は?
このようなテキストファイルがあります(WindowsでgVimを使用) foo bar baz quux corge grault garply waldo fred plugh [...150 more lines...] xyzzy thud ファイルの各行に数字を追加したい。を使用せず:set number、次のように各行の前にテキストとして番号を追加するため、番号はファイルの一部です。 1. foo bar baz quux 2. corge grault garply 3. waldo fred plugh [...~150 more lines...] 155. xyzzy thud

4
「複合」単語を削除する最も簡単な方法は?
「コンポジット」が技術用語でない場合はおologiesび申し上げます。私は次のことを意味します: Hi, I-am-a-composite-word and we are not 複合語のみを削除したいです。コマンドモードでは、カーソルをに移動し、数回I繰り返すdwか、dw1回入力してから数回.押すとうまくいきます。しかし、さまざまな理由で、私は日中にこれを非常に頻繁にやっているので、もっと簡単な方法があるかどうか疑問に思っていました。 PS私は、コマンドがより簡単な方法であるとは考えませんd9w。単語やダッシュの長いシーケンスを数えることは、「単純な」という私の考えではありません。

4
中かっこを開く前に、誤ってノーブレークスペースを作成し続けるにはどうすればよいですか?
これは奇妙な質問であり、これを投稿するのに適切なフォーラムではないかもしれないことを認識しています。しかし、これは数年前から問題となっています。 時々、月に一度、私がプログラムするとき、中括弧を開く前に、通常のスペースの代わりにノーブレークスペースを導入するとしましょう。 これは私が書いているときに言ってみましょう () { これは神秘的な糸くずのバグにつながります。適用されないCSS句。私が覚えているまで、これがそれかもしれません。 私の知る限り、これはvimでのみ発生しますが、それは私のメインエディタであるため、他のソフトウェアでは発生しなかった可能性があります。しかし、私の同僚と私の同じキーボードレイアウトを使用していても、私の最後の仕事の同僚は誰もその問題を抱えていませんでした。ただし、vimを定期的に使用するのは私だけです。だから、ここに投稿することにしました。 これは、少なくともubuntu 14.04、16.04、およびmac os xで起こりました。 :set list それを明らかにしません。 私はフレンチカナディアンキーボードレイアウトを使用しています。つまり、ブレース文字はalt + ` 私はこれが問題を引き起こすことに非常にうんざりしている、それは私がそれを忘れ続けるのに十分な頻度ではありません。 これがなぜ発生し続けるのか私にわからない場合は、その文字を何らかの明白な方法で強調する何らかの構成が適切な答えであり、この問題を本当に助けます。

4
差分カラースキームの改善
私は仕事でvimでdiffモードを使い始めましたが、気づいたことの1つは、色が本当に明るいことです。これは、長期間にわたって巨大なファイルの違いを探しているときに役に立ちません。 diffモードを目に見えるようにするためにカスタマイズされた配色はありますか?
20 vimdiff 

2
行番号を使用して、カーソルがある場所に行をコピーするにはどうすればよいですか?
多くの場合、私はこれに似た状況にいます: 1. <Line 1> 2. <Line 2> 3. <Line 3> 4. <Cursor is here> 5. <I want to copy line 1 here> 簡単な解決策はmm:1<CR>yy`mp、4行目でマークを作成し、1行目に移動し、それをコピーし、マークに戻って貼り付けます。 これにより短い/より流動的な解決策はありますか?これを頻繁に行うので、マッピングを作成できてうれしいです。

1
なぜVimballは一般的に使用されないのですか?
多くのVimプラグインにはVimballがないようです。 Vimballは基本的に、vimがインストール方法を知っているプラ​​グインのtarballでした。したがって、これらは使用するよりも少し便利tar -xvf でした。なぜなら、tarballのディレクトリ構造がさまざまな方法でネストされていることを心配する必要がないからです。 、またはプラグインなどと同じ名前の親フォルダーがtarballにあった場合 Githubで見たプラグインでは、それらの数は減っています。 それらを非推奨にする積極的な試みはありますか? もしそうなら、なぜですか? これは、私たちが今、バンドル、病原体などを持っているからでしょうか?


2
外部コマンドから既存のVimインスタンスのファイルを開くことはできますか?
一部のアプリケーションには「セッション」の概念があり、コマンドを実行してアプリケーションの既存のインスタンスにファイルをロードできます。 たとえば、次のように入力すると: $ firefox http://vi.stackexchange.com Firefoxは、新しいプロセスを作成するのではなく、既存のFirefoxプロセスを再利用します。 これはVimで可能ですか?

2
1つのvimバッファーで2つの異なる色の背景を使用できますか?
私はこの崇高なテキストの例のようにコンテキストに応じて単一のvimバッファ内に2つの異なる背景色を適用するための可能な解決策を探しています。 その使用例の1つは、マークアップファイル内のコードスニペットに異なる色を付けて、目立つようにすることです。 しかし、私はそのようなセットアップの例を見たことはありません。 これはvimで可能ですか?

2
Debian用Vimがクリップボードなしでコンパイルされるのはなぜですか?
なぜvimのデフォルトのDebianパッケージ(通常入手できるパッケージsudo apt-get install vim)がクリップボードのサポート付きでコンパイルされないのか興味がありますか? 通常-clipboardまたは-Xterm-clipboard有効化されていないのはなぜですか? XサーバーがインストールされていないDebianインストールに-Xterm-clipboardを含めない理由があるかもしれませんが、通常の-clipboard? これがなぜなのかについての洞察は役に立つでしょう。 (明確化:これらのフラグを使用してVimをコンパイルできることはわかっていますが、デフォルトで有効になっていない理由を知りたいだけです。)
20 linux  installing 

1
「マップされたキーシーケンス」と「キーコード」の違いは何ですか?(timeoutlen v ttimeoutlen)
vimのマニュアルでは、我々が使用できると言うtimeoutlenのタイムアウトの長さを指定するためにマッピングされたキーシーケンスをして使用することができるttimeoutlenのタイムアウトの長さを指定するキーコードを: 便利な設定は :set timeout timeoutlen=3000 ttimeoutlen=100 (3秒後のマッピングでのタイムアウト、1/10秒後のキーコードでのタイムアウト)。 キーコードとは何ですか?マッピングされたキーシーケンスとはどう違うのですか? マッピングされたキーシーケンスの例はjk、以下のマッピングのものです。 inoremap jk <esc> この例では、挿入モードでを入力するとj、vimはtimeoutlen押すのをミリ秒待ってからk、意図を決定します。 しかし、キーコードとは何であり、どのようにttimeoutlen影響しますか?ありがとうございます。

4
インデントサイズを変更するにはどうすればよいですか?
私はViで簡単にインデントおよびインデント解除できることを発見しました:<<そして>> デフォルトでは、tabキャラクターを追加します。今、私は疑問に思っています、これは私の設定を介して多くのスペースになります.vimrcか?そして、どうすればいいですか?

2
すべてのバッファを一度にリロードするにはどうすればよいですか?
で機能ブランチで作業するときgit、メインブランチのバグ修正をコミットするために頻繁に変更を隠しておく必要があります。変更の作業が完了したらgit stash pop、ファイルのタイムスタンプを更新するIを使用します。 ファイルが同一であっても、次に保存しようとすると、次のようになります。 警告:ファイルは読み取られてから変更されました!!! 本当に書き込みますか(y / n)? ディスク上でファイルが変更されるたびにファイルを自動的にリロードしたくありませんgit stash pop。 現在、各バッファを個別に手動でリロードしています(:e)。1つのコマンドでこれを行う方法はありますか?
20 buffers  load 

5
単一のキーストロークを使用して、NERDTreeを開いたり閉じたり(NERDTreeビューを切り替え)するにはどうすればよいですか?
ワークフロー中に、外出先でファイルを開いたり検索したりすることがあります。1つのキー(F6など)をマッピングして、NERDTreeを開いたり閉じたりしたい(つまり、NERDTreeビューを切り替えたい)。また、NERDTreeで非表示のファイルとフォルダーをトグルビューで表示し、可能な場合はファイルを開いて編集するときに自動的に閉じるようにします。ありがとう!

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