タグ付けされた質問 「vimrc」

Vimは起動時にvimrcと呼ばれるファイルから初期化コマンドを読み取ります。これは、設定の設定、関数の定義、オートコマンドの実行などに使用できます。

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 

2
元に戻す履歴からエントリを削除することはできますか?
インデントに役立つように、.vimrcに次の行があります。 autocmd BufReadPost * set noexpandtab | retab! 4 autocmd BufWritePre * set expandtab | retab! 4 autocmd BufWritePost * set noexpandtab | retab! 4 ただし、これらは元に戻す履歴に多くのノイズを作成します。それらは本質的にユーザーの観点からは何もしないので、履歴から削除するか、少なくとも何らかの方法でそれらを押しつぶします(おそらく、一緒に押しつぶされた場合はキャンセルしますか?)。そうする方法はありますか?
10 vimrc  undo-redo 

2
Vimスクリプトでスペースを含む文字列を処理する方法は?
vimrcに次のコマンドがあります。 execute "set path+=".getcwd()."/**" 現在の作業ディレクトリがのようであれば、うまく機能します/home/tamlok/my_work/。ただし、ディレクトリになどのスペースが含まれている場合D:\Program Files\vim\、vimは文句を言うでしょう。 substitute()関数を使用してこれを修正し、すべてのスペースをエスケープされたスペースに置き換えることができると思います。経験豊富なビマーはここで何をしますか? もう1つの問題は\Windowsにあります。場合getcwd()を取得D:\Program Files\vim\、私はエスケープする必要がありますか\と\\かと交換してください/? 今のところ私はそれをこのように扱います: let mycwd=substitute(getcwd(), '\\', '/', 'g') let mycwd=substitute(mycwd, ' ', '\\ ', 'g') execute "set path+=".mycwd."/**" それは大丈夫ですか?どんな助けでもありがたいです!どうもありがとう!

1
なぜexrcは危険なのですか?
set exrcディレクトリ.vimrcごとのファイルを使用するためのさまざまな場所で言及されているのを見てきましたが、言及されるたびに、危険であるため実際には使用しないよう強く勧められています。私はまたset secure、相続の危険のいくつかを修正することになっていることにも遭遇しましたがset exrc、それでもコンセンサスは使用しないようset exrcです。 さまざまな理由を聞いたことがありますが、を使用set exrcする場合、使用しない場合の危険性は何set secureですか?
10 vimrc 

1
Vimでの作業中にVimの設定を編集するにはどうすればよいですか?
私はVimを使い始めたばかりですが、Vimで作業しながら、キーボードバインディングやその他のVim設定でスクリプトを編集できるようにしたいと考えています。 たとえば、すべてのset xxコマンドを1つのファイルにまとめ、Vimでファイルを更新し、設定を再適用できるようにしたいと考えています。sourceファイルを編集しているときに-ing するだけの問題ですか?
9 vimrc  set 

3
Vim 7.4で.vimrcの強調表示コマンドをすぐに有効にするにはどうすればよいですか?
ファイルにいくつかのhighlightコマンドがあり.vimrcます。Vim 7.3では、これらはVimの起動直後に有効になりました。Vim 7.4にアップデートした後、これはもう当てはまりません。Vimは最初はデフォルトの強調表示を使用します。を.vimrc実行して2回目の読み込みを行うとsource ~/.vimrc、強調表示が思い通りに機能します。 次の手順を使用してこの問題を再現できるはずです。 .vimrcファイルのコピーを作成します。 ~/.vimrc行だけを含むファイルに置き換えますhighlight Type ctermfg=28 cterm=bold。 実行vim dummy.c(例えばGNOME端末用)256カラー端末に。 intバッファに入力します。int通常のフォントで表示され、私が欲しいものではありません色のライトグリーン、でなければなりません。 と入力し:source ~/.vimrcます。これで、intは太字のフォントで表示され、濃い緑色になります。 「vimの色を制御/構成する方法」の記事によると、highlightコマンドをに配置するだけで問題ありません.vimrc。記事はコマンドのsyntax enable後に置くべきだと言っていますhighlightが、これは何の違いもありませんでした。 私の最初の修正は、それぞれ前に付加することだったhighlightにコマンドを.vimrc持ちますautocmd VimEnter *。これは一部のファイルタイプでは機能しましたが、他のファイルタイプでは機能しませんでした(Cファイルは一例です)。 この動作の理由は何ですか?highlightVimの起動時にコマンドを実行して、Vimセッション全体のすべてのバッファーでコマンドを有効にする方法

1
プロンプトなしで起動時にエコーメッセージ
特定の起動機能が成功したかどうかに基づいて、起動時にカスタムメッセージをエコーし​​ます。私はこれを試しました.vimrc echo 'test' "All my settings ... タイプしたばかりのようにメッセージをエコーするvimが欲しい echo 'foo' vim を開いた後、コマンドラインから実行しますが、代わりに、vimウィンドウが開く前に表示されるこの厄介なダイアログボックスが表示されます。私も試しました exe 'echo "test"' そして silent echo 'test' しかし、どちらもうまくいきませんでした。
9 vimrc  echo 

1
バックスペースを使用して、現在のコマンドを通常モードで変更しますか?
ノーマルモードでコマンドを入力すると、タイプミス10dkが発生する場合があります19d。たとえば、タイプしようとすると、誤ってタイプし始める場合があります。 コマンドがまだ完了/コミットされていないので、19d<backspace><backspace>0dkエスケープを押してコマンドを再試行する代わりに、バックスペースを使用して誤ったキーを削除することは可能ですか? 副題:現在のコマンドがコミットされる前に保持するデータ構造のVim用語はありますか?

3
新しいvimファイルにスケルトンテキストを追加するにはどうすればよいですか?
私はC ++の記述にVimを使用しており、#include<>作成する新しい各ファイルに含める必要のあるステートメント、コメントなどがかなりあります。私は追加しました autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file) vimrcに追加しました。これにより、必要なテキストを含むバッファーが作成されると聞きました。このテキストを新しいファイルに追加するにはどうすればよいですか?バッファからこれを行う簡単な方法はありますか、またはこれを実行する別の簡単な方法はありますか?テンプレートプラグインについても少し聞いたことがあります。私のためにこれを行うことができる非常に単純なものはありますか?

2
なぜ.vimrcファイルをvimソース化しないのですか?
今日、私は私の.vimrc効果が出ていないことを発見しました。ほんの数時間前に大丈夫だった。 でvimを起動したとき$vim --plugin、:scriptnames何もエコーされませんでした。.vimrcファイルが読み込まれていません。(注:/etc/vimrcこの問題をデバッグするために削除されました。) それから私はグーグルを試みて、$VIMINIT不審な変数を見つけました。 の値は$VIMINIT次のとおりです。 $ echo $VIMINIT set number Vimに関するドキュメントVIMINIT: c. Four places are searched for initializations. The first that exists is used, the others are ignored. The $MYVIMRC environment variable is set to the file that was first found, unless $MYVIMRC was already set. - The environment variable …

1
「switchbuf」オプションはどのように機能しますか?
私は最近このオプションswitchbufを見つけて使用しようとしましたが、どのように機能するのか理解していないのか、それとも実際にVimで機能しないのかはわかりません。 考えられるさまざまな値について、ドキュメントでは次のように述べています。 useopen含まれている場合 、指定されたバッファ(存在する場合)を含む最初の開いているウィンドウにジャンプします。 usetab "useopen"に似ていますが、他のタブページのウィンドウも考慮します。 次にset switchbuf=useopen,usetab、新しいvimインスタンスで次のコマンドを使用しました。 最初のバッファを開く :e file1 画面を分割する :split 2番目のバッファーを開く :e file2 最初のバッファに戻ります:e file1(私も使用しました:bN) 最初のバッファに移動する最後のコマンドは、2番目の分割でそれを開きます。私がドキュメントから理解したことから、コマンドは、のおかげでバッファがすでに開いている最初のスプリットにカーソルを置く必要がありますuseopen。また、スプリットの代わりにタブを使用して同じコマンドを試しても、動作は同じです。 この動作は予期されたものですか? もしそうなら、このオプションが何をすべきかを説明できますか? 私.vimrcがデバッグしなければならないことを知らない場合、おそらく干渉することが知られている一般的な設定はありswitchbufますか?
9 vimrc  buffers  split 

2
バンドルされた「ファイルタイププラグインインデント」がタブ幅で混乱する
昨日vundleをインストールしましたが、それ以降、vimrcで構成したタブ幅は無視され、2ではなく4に戻されました。 バンドルの段落の後の次の行が原因であることがわかりました。 filetype plugin indent on 私のインデントは次のように設定されています: set noexpandtab " Make sure that every file uses real tabs, not spaces set shiftround " Round indent to multiple of 'shiftwidth' set smartindent " Do smart indenting when starting a new line set autoindent " Copy indent from current line, over to …

5
vimrcのset formatoptionsは無視されます
挿入モードでEnterキーを押すと、Vimは自動的にコメントを続行します。 ただし、通常モードで「o」を押してコメントの末尾の下に新しい行を挿入した後、コメントを続けたくありません。 オプションoをmyから削除する必要があることを読んだformatoptionsので、vimrcファイルの最後に次の行を挿入します。 set formatoptions-=o しかし、何も変わっていません:set formatoptions。vimのisideから実行すると、formatoptionsがであることがわかりますcroql。 「o」を取り除くにはどうすればよいですか? 編集: 佐藤桂のコメントで指摘されたいくつかのステップを踏みました: ソリューションは:verb set fo、formatoptionsが最後に変更された場所を確認するための実行から始まります。 出力はverb set fo次のとおりです。 formatoptions=croql Last set from /usr/share/vim/vim73/ftplugin/vim.vim

2
特定の拡張子を持つファイルを開くときに特定のvimコマンドを実行するにはどうすればよいですか?
末尾がすべてのファイルの.tex行長を80にしたいので.tex、vimでファイルを開くたびに、と入力し:set tw=79ます。これを自動化するために.vimrcに何を入れますか? 私はファイルタイプの特定のリストとの仕事にそれを望んでいたならば、言う、.md、.txt、と.tex?
9 vimrc  filetype 

1
コマンドとは!-bang -nargs = * vimrcファイル内?
私はvim に関するドキュメントを読み、著者は.vimrcに挿入する必要があるコード行を提案していますが、それが何であるかはまったくわかりません。 command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(<q-args>), 1, <bang>0) だから何であるcommand!、-bang、-nargsなど、?
9 vimrc 

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