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

Vimに埋め込まれたスクリプト言語。これを使用して、Vimをニーズに合わせてカスタマイズしたり、プラグインを作成したりできます。VimLとも呼ばれます。

1
テキストモードで16進数をバイナリに変換する方法は?
16進値をバイナリに変換しようとしています。たとえば、次のテキストファイルが含まれています。 0.0 010111010 B4 0.1 001001011 A3 ... そして、私が変換しようとしているB4に10110100、そしてA3あまりにも。 しかし、私は方法を見つけることができません。それで、誰かがそれを行う方法を知っていますか?
7 vimscript 

1
関数を定義するためにスコープs:と引数abortを使用することが推奨されるのはいつですか?
関数を定義するときは、スコープを使用s:してスクリプトに対してローカルにし、グローバル名前空間で同じ名前の関数を上書きしないようにすることを常にお勧めしますか? またabort、関数がエラーを検出した場合に備えて、常に引数を使用することをお勧めしますか? function! s:SomeFunction() abort echo "hello world!" endfunction スコープs:は良いように見えますが、コードから少し冗長になるのでSomeFunction()、マッピングから呼び出すたびに、プレフィックスを付ける必要があり<SID>ます。 nnoremap {lhs} :<c-u>call <SID>SomeFunction()<cr> または、変数内にその出力を保存することもできます。 let myvar = <SID>SomeFunction() 使用s:したくない特定のケースおよび/またはabort? もしそうなら、どのような理由で?
7 vimscript 

1
左マージンにテキストを追加する
vimドキュメントの左マージン(行番号の左側)にテキストを追加する簡単な方法はありますか? vim-signatureのようなプラグインがそれを行うのでそれが可能であることは知っていますが、これがどのように行われるのか、そしてそれを行う最も簡単な方法は何なのか知りたいです。
7 vimscript 

2
現在のバッファのgrepに基づく条件付きvimscript
編集したファイル内のテキストの存在に応じて、関数内のコードを条件付きで実行する方法を探しています。私はそれを行う方法を見つけましたが、それは機能しますが、あまり「きれい」に感じません。 ここに私が持っているものがあります: function! foo() (...) let v:errmsg = 'ok' execute "silent! normal! :/" . l:pattern . "\r" if v:errmsg == 'ok' (... do stuff ...) else (... do other stuff ...) endif endfunction 問題は、v:errmsgを不格好に使用しなくても、同じ結果がなんとかして得られるかどうかです。 私が頭に浮かぶのは、 function! foo() (...) if GrepInCurrentBuffer(l:pattern) (... do stuff ...) (...etc...)
7 vimscript 

1
変更されたバッファを一時ファイルに書き込む
現在編集中の変更されたバッファーを一時ファイルに定期的に書き込みたいのですが。バックグラウンドで、たとえば、外部ツールを使用してファイルを分析できます。 このプロセスでファイルを実際の場所に書き込みたくありません-通常の:wコマンドを使用してユーザーにその処理を任せます。 CursorHold自動コマンドによって呼び出されるvimscriptでこれを行うにはどうすればよいですか?Vim 7.4以降で問題ありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.