Vi & Vim

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

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

1
編集中はドキュメント内を移動できません
ViとVimの両方を搭載したChromeOSコンピュータで作業しています。エディタを開いて既存のドキュメントを表示したら、Aと入力して編集を開始します。矢印キーで移動しようとすると、次のことが起こります。 私はVimとViの両方を試しましたが、どちらにもこの問題があります。編集中にドキュメント内を移動するにはどうすればよいですか?

3
シンボルを含む式でカーソルの下のシンボルを囲むマッピング
vimスクリプトの投稿を1時間読んでいますが、これらの投稿を自分の問題に適用するスキルがありません。Latexドキュメントで数学を編集しているときに、+、-、=などの数学記号を\ Pad {+}、\ Pad {-}、\ Pad {=}に置き換えたいと思っています。ここで、\ PadはLatexマクロです。シンボルの周囲にスペースを配置するように定義されています。カーソルをそのような記号の上に置いて、2、3文字入力して、;Pこのアクションで記号を次のように置き換えられるようにしたい \Pad{whatever the symbol under the cursor is} どんな助けでも大歓迎です! `
7 macro  replace 

2
挿入モードに入る前にカーソル位置に戻る方法は?
カーソルの周りに空白を簡単に追加できるように、通常モードのマッピングを設定しようとしています。 <C-h>カーソルの右側にスペースを1つ追加します。 <C-j>以下に改行を追加します。 <C-k>上記に改行を追加します。 <C-l>カーソルの右側にスペースを1つ追加します。そして <C-Enter>、現在のカーソル位置に改行を追加します。 また、コマンド中にカーソル位置が移動しないようにしたい。左、右、および改行の場合、これは簡単です。 nnoremap <C-h> i <Esc>l nnoremap <C-l> a <Esc>h nnoremap <C-^M> i<CR><Esc><Backspace> しかし、上と下では、対応するコマンド nnoremap <C-j> o <Esc>k nnoremap <C-k> O <Esc>j 正しい行に戻りますが、以前と同じ列には戻りません。 挿入モードに入る直前のカーソル位置に戻る方法はありますか?私の最高のGoogle-fuは、''&ダブルバックティック(そこにマークダウンをフォーマットする方法がわからない)と:jumps/ <C-O>&への参照のみをもたらしましたが<C-I>、どちらも私が望んでいるようには機能していないようです。 これはVimscriptなしで解決できますか?それも解決することが可能と Vimscript?

1
Vimがカラースキームなしで端末からANSIカラーを出力することは可能ですか?
多くの端末エミュレータでは、色を定義できます。 同じテーマをVimのカラースキームで近似(および複製)するのではなく、すでに定義した色(「赤」、「緑」、「黄色」のANSIエスケープコードを出力するように端末Vimに指示する方法があります。 「、「マゼンタ」など)? そうでない場合、なぜそうではないのですか?

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
矢印キーを使用した後、以前に挿入したテキストがリセットされるのはなぜですか?
ヘルプから:help i_ctrl-a: CTRL-A Insert previously inserted text. {not in Vi} 空のバッファがあり、通常モードになっているとします。 入力iして挿入モードにします。 と入力して()から、カーソル<C-h>(<left>挿入モードでマップしたもの)を押してカーソルを1文字左に移動しfoo、と入力して、エスケープを押して通常モードに戻ります。 バッファには次のものが含まれています。(foo) 誤って、以前に挿入されたテキストはそうで(foo)あると考えましたが、そうではありません。 以前に挿入されたテキストは、挿入モードでもう一度foo入力:registers .またはヒットすることで確認できます<C-a>。 矢印キーを押すと、以前に挿入したテキストがリセットされるのはなぜですか? 矢印キーを押しても最後に挿入モードになったときに挿入されたすべてのテキストをドットレジスタに保存する方法はありますか?

1
無限のvimの歴史を持つには?
によるとh: help: 'history'オプションを使用して、記憶する行数を設定します(デフォルト:20) 行数を高く設定できることはわかっていますが、ディスク領域が不足しない限り、常にコマンドを履歴に追加する「エンドレス」オプションはありますか?


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



2
bash変数のctagを生成しますか?
bashで記述されたプロジェクトに対してctagsを実行すると、関数のタグは生成されますが、変数のタグは生成されません。 例えば私が走ればctags --list-kinds=sh f関数 「c」言語のリストを実行した場合と比較して、多くのタグタイプが含まれます。 bash変数のタグを生成することは可能ですか?または誰かが~/.ctagsこれを有効にするために追加できるカスタム正規表現を知っていますか?
7 ctags 

1
コマンドモードでバッファを参照できますか?
コマンドラインモードで現在および以前のバッファのファイル名を参照する%およびについて知ってい#ます。同様に他のバッファを参照する方法はありますか? たとえば、それ:lsが私に与えるとしましょう: 1 #h foo.txt 2 h bar.txt 3 %a baz.txt ...そして、コマンドを使用して以下の効果を得たい: :!pandoc foo.txt bar.txt baz.txt -o out.pdf 少しタイピングが少ないだけです。に沿って何かを想像します :!pandoc b1 b2 b3 -o out.pdf そう。このようなものはありますか?どこかにアドオン、または私が使用できる便利なvimscriptのビットがありますか?

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