問題タブ [viml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
253 参照

vim - 次の行が空の場合に基づく異なるコマンド

自動追加しようとしています; 、またはキーストロークによる式の最後に必要なものは何でも、別の行に移動します。

基本的には のようなものになるinoremap <leader>; <C-o>A;のですが、もう少し改善してほしいです。次の行が空 (または存在しない)の場合は を実行し<C-o>A;<cr>、空でない場合は<C-o>A;<Down>. 言い換えれば、次の行が存在するかどうか、およびそれが空であるかどうかを確認する慣用的な方法が必要です。ありがとう。

0 投票する
1 に答える
62 参照

git - Vim Function to Send Highlighted Text to a Git Commit

Problem:

Suppose I have the following text in my vim buffer:

Suppose further I have a git repo located at ~/my_repo.

Goal: Make a vim script so that I can highlight the text above, and have it sent as a git commit message within ~/my_repo. It would look something like

It would also have auto-complete on its repo argument.

Attempted Solution:

First, the autocomplete function (AFAIK I think this is OK?):

Next, the actual git commit function, which is incomplete:

Assuming I can figure out how to get CommitTextGitRepo() working above, the final thing I would need is this (I think):

I'm so close. How do I finish this up? :)

0 投票する
1 に答える
252 参照

vim - vimで引数を使用して一部のディレクトリを除外して再帰的にファイルを開く方法は?

一部のサブディレクトリを除いて、ディレクトリ内のすべてのファイルを再帰的に開きたいです。

たとえば、任意のレベルの「inbox」という名前のディレクトリの下にあるすべてのファイルを除外したいとします。

含めたいディレクトリを指定できます。除外したいディレクトリを指定する方法はありますか?

たとえば、次のコマンドは.md、すべてのサブディレクトリ内のすべてのファイルを開きます。

という名前のサブディレクトリの下にあるファイルを開きたくありませんinbox

0 投票する
0 に答える
845 参照

vim - BufWritePre の Vim 複数の autocmd

と の両方Chiel92/vim-autoformatを使用していntpeters/vim-better-whitespaceます。1 つ目はオートフォーマット コード用で、2 つ目は余分な空白を削除するためのものです。どちらも autocmd を使用して、保存ファイルでそれらを呼び出すことを望んでいます。autocmd を正しく使用していないようです。vimLについての知識がほとんどないので、誰かが私を助けてくれることを願っています.

保存時にオートフォーマットを有効にするために、以前は次のものがありました。

また、保存時に余分な空白を取り除く「ntpeters/vim-better-whitespace」も使用しています。

問題は、それぞれが単独で完全に機能することです。しかし、それらを .vimrc にまとめると、スクリプトの最初に現れる人によっては、少なくとも 1 つが機能しなくなります。

:au BufWritePre をダンプした後の結果は次のとおりです。


アップデート ...

しばらく遊んだ後、保存時に自動フォーマットする方法を変更することで、次のことがわかりました。

両方とも相互に連携できます。

誰かがここで何が起こっているのかを理解するのを手伝ってくれますか? ありがとう!

0 投票する
1 に答える
50 参照

vim - VimL: 全幅の関数として幅を指定した VSPLIT

vsplit を使用して新しいウィンドウを開く vim スクリプトを作成したいと考えています。新しいウィンドウの幅は、列の総数から 90 を引いた値に等しくなります。

その結果、現在のウィンドウの幅は 90 列になり (80 列のコード + ガターを表示するため)、新しい vsplit は画面の残りの部分を占有します。

vsplit を正しく理解していれば、 :vsplit 90 は、作成されるウィンドウが 90 列であることを指定します。ウィンドウ内の現在の列数を変数に取得する方法はありますか?

0 投票する
2 に答える
1076 参照

vim - Vim バッファが変更可能かどうかを確認するにはどうすればよいですか?

エンターキーで空白行を挿入するVim ショートカットnmap <enter> o<esc>またはが非常に便利だと思います。nmap <enter> O<esc>ただし、それらはプラグインに大混乱をもたらします。たとえば、ag.vimこれにより、クイックフィックス リストにジャンプ先のファイル名が入力されます。このウィンドウ(ファイルにジャンプする必要があります)でEnterキーを押すと、エラーが発生しますE21: Cannot make changes; modifiable is off

クイックフィックス バッファーにマッピングを適用しないようにするには、次のようにします。

これは機能しますが、私が本当に望んでいるのは、クイックフィックス ウィンドウだけでなく、変更不可能なバッファーでのマッピングを回避することです。たとえば、マッピングは場所リストでも意味がありません (また、それを使用する他のプラグインを壊す可能性があります)。変更可能なバッファにいるかどうかを確認するにはどうすればよいですか?