Vi & Vim

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


2
いつ/ディレクトリを使用するのですか?
私はそれが最終的な発言権を持ち、別の情報源によって上書きされるべきではないものを置く場所であると理解しますが、何かを、たとえばで~/.vim/after/ftplugin/はなく、いつ入れるかを決定する方法がわかりません~/.vim/ftplugin/。 人々は通常、不要な動作を観察~/.vim/ftplugin/した~/.vim/after/ftplugin/場合にのみ使用し、そこに移動しますか、それともすぐにすべてをアフターディレクトリに配置しますか?
13 options 

3
vimは入力されているコマンドを表示しません
私はvimtutorを読んでいて、レッスン2.1で、dwのようなコマンドを入力することについてこのメモがありました: NOTE: The letter d will appear on the last line of the screen as you type it. Vim is waiting for you to type w . If you see another character than d you typed something wrong; press <ESC> and start over. しかし、vimでもgvimでも、コマンドラインに入力しているコマンドが表示されません。どうすれば修正できますか?


3
その場でaugroupを有効/無効にする方法は?
augroup私.vimrcはいくつかのautocmdを含むを作成しましたがautocommand、オンザフライで有効/無効にする必要があります。 アイデアは、F4一度押すとこれらのオートコマンドを有効にし、もう一度押すとファイルをソースしたり、を再ロードしたりすることなく無効にするマッピング(たとえば、としましょう)を作成すること.vimrcです。 どうやってやるの?


3
コンソールvimでマウスを完全に無効にする
Stack Overflowのコンソールvimでマウスを完全に無効にするのを見ました。それはまさに私が望んだように聞こえましたが、問題はCygwinに関連していたため、タイトルは誤った名称でした。 コンソールのvimですべてのマウス操作を完全に無効にする方法を知りたいです。スクロール、選択、クリック、またはその他の方法でマウスを見てvim内で効果を発揮したくありません。 vimを使用しているときではなく、コンソールにマウスを置くのが好きです。これは可能ですか? ubuntuがインストールされたラップトップを持っていて、タイプすると、ときどきタッチパッドマウスが画面上のランダムな座標間でランダムにクリックまたはドラッグすることを決定します。これは、常に間違った場所にコードを入力する影響があり、コードに微妙な元に戻せないバグが発生することがあるため、古くなっています。 の以下のコマンドを使用して、スクロールと視覚的な選択を取り除くことができましたが.vimrc、クリックしてもカーソルは再配置されます。 " disable mouse interactions " set mouse=nicr map <ScrollWheelUp> <nop> map <S-ScrollWheelUp> <nop> map <C-ScrollWheelUp> <nop> map <ScrollWheelDown> <nop> map <S-ScrollWheelDown> <nop> map <C-ScrollWheelDown> <nop> map <ScrollWheelLeft> <nop> map <S-ScrollWheelLeft> <nop> map <C-ScrollWheelLeft> <nop> map <ScrollWheelRight> <nop> map <S-ScrollWheelRight> <nop> map <C-ScrollWheelRight> <nop> 他に何をする必要がありますか? …
13 bash  mouse 

3
矢印キーが挿入モードで機能しない
挿入モードで矢印キーを押すと、ナビゲーションの代わりに文字が表示されます。 矢印キーを使って移動できるようにしたいのですが。 私が試したもの 私がしているset nocompatible私の中~/.vimrc(のvimrcペーストビン)、私は、病原体を使用し、ここで私のです午前~/.vim/bundleディレクトリ: YouCompleteMe/ emmet-vim/ nerdtree/ node/ vim-airline/ vim-markdown/ 問題は最近始まったばかりで、原因を思い出せません。 一部は推奨し:set term=builtin_ansi、これは問題を修正しますが、私の色をすべて削除します。 $ vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 29 2016 12:51:13) MacOS X (unix) version Included patches: 1-2290 Compiled by Homebrew Huge version without GUI. Features included (+) or not (-): …

1
replaceコマンドにincsearchはありますか?
Vimのincsearch機能を本当に楽しんでいます。交換するときに機能する方法、またはそれに類似した方法がありますか? たとえば、通常モードで次のように入力した場合: :%s/potato/ 書き込み時にpotato強調表示されるように、ファイルですべての強調表示を取得できますかincsearch /potato ? 正規表現を使用する場合、これはすでに非常に役立ちます。私がこれを書くとき、非常に非常にいいことがあります: :%s/potato/banana/ それはpotatosをbananasに置き換え、それらを強調表示します-おそらく置き換えは別の色にする必要があります。Enterキーを押すまで、変更を「コミット」することはできません。 現在、neovimを使用しています。

1
VIMで対話的に検索/ grepする方法は?
プロジェクト全体のすべてのファイル内をインタラクティブに検索するようにVIMを構成する方法はありますか? することで、インタラクティブ、私は、各キーストロークを更新する意味します。 Emacs counsel-git-grepのようなものは、サンプルデモを参照してください。
12 search  vimgrep 

1
検索時に発音区別符号/アクセントを無視する
検索時に発音区別符号/アクセントを無視するようにVimに指示する方法はありますか?たとえば、検索できるようにしたい kočička 入って /kocicka ignorecaseおよびsmartcaseオプションは非常に便利ですが、発音区別符号/アクセントとは何かを持っていないようです。
12 search 

4
スペル候補をループするコマンド
私はにマップzzしましたが1z=、これはほとんどの場合素晴らしいことですが、ときどき最初の提案は正しいものではありません。 したがって、他の提案を繰り返すために繰り返しzz(または.)続けたいと思います。 zz同じ単語の2番目はのようu2z=に機能し、3番目zzは同じu3z=ように機能します。 それを行う方法に関するアイデアはありますか? 編集: @ nobe4の素晴らしい答えに基づいて、私は自分がやりたいことをやり遂げることができましたが、改善や提案がある場合に備えて、しばらくここに置いておきます。 let s:spell_position = [] let s:spell_count = 0 let s:spell_word = "" function! LoopSpell() if s:spell_position != getpos('.') || \ (s:spell_count > 0 && s:spell_word !~ expand("<cword>")) let s:spell_count = 0 let s:spell_position = getpos('.') endif if s:spell_count > 0 silent execute "normal! …

1
外部からvimと話す
vimのインスタンスの変数を別のシェルから(tmuxを介してキーを送信せずに)変更できますか? latexmkのcompiling_cmd、success_cmd、およびfailure_cmdオプションを使用して、ステータスラインにコンパイルステータスを表示したいので、お願いします。 おそらく、特定のファイルの存在または非存在をvimに見てもらうことができます(ブール変数としてファイルを使用)?しかし、これは少し汚いようです。うまくいけばもっと良い方法があります。
12 variables 

1
なぜpは現在の単語の後ではなく、現在の行の後にコピーされた行を貼り付けたのですか?
次の4行があるとします。 line1 line2 line3 line4 私はに行けば今line1とやるyyどのコピーラインをしてからの起動に行くline3と「p」を使用してペーストを行う、私はなるだろう ... line3 line1 line4 .... なぜ新しい行に貼り付けline1たのline3ですか? 私の初期は、改行文字$がline3に付加されていて、pvim を押したときにvim line3$が1つの単語と見なされたため、後に貼り付けられたためline3$です。しかし、私の理解は間違っていたようです。私がこれline3 $をpしてから行の先頭でをやると同じ結果が得られるからです。 なぜp新しい行を作成してから新しい行に貼り付けるのline3ですか?

2
マッピングを保存および復元する方法は?
Vim用のプラグインを開発していますが、「プラグインの実行」中にのみ使用できるマッピングを定義したいと思います。 これまでのところ、プラグインの(簡略化された)ワークフローは次のとおりです。 ユーザーがプラグインのコマンドを呼び出す このコマンドは、前処理機能を呼び出します。 function! s:PreTreatmentFunction(function, ...) " Do some pretreatment stuff " Create a mapping to call the TearDown nnoremap <C-c> :call TeardDown()<CR> " Call a function depending on the parameter passed to this one if function == "foo" call Foo() else call Bar() endif endfunction バッファの状態を変更する別の関数が呼び出されます(Foo()またはBar()前の関数の最後の行で) ユーザーはマッピングを使用してティアダウン関数を呼び出します 分解機能は、作成されたマッピングを削除します。 …

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