アルファベットの全文を書く必要がある場合があります.を書く必要があり、Vimの挿入モードで手紙で入力するのは嫌です。より効率的にこれを行う方法はありますか?Vimに全アルファベットを書く
カーソルがある文字のASCIIコードを私に与えるga
コマンドについて知っていますが、それを私の標準的な解決方法と混ぜ合わせて1から(例えば)5000までの数字を入力する方法について何も知らない:a1ESCqqyyp^[email protected]
...
アルファベットの全文を書く必要がある場合があります.を書く必要があり、Vimの挿入モードで手紙で入力するのは嫌です。より効率的にこれを行う方法はありますか?Vimに全アルファベットを書く
カーソルがある文字のASCIIコードを私に与えるga
コマンドについて知っていますが、それを私の標準的な解決方法と混ぜ合わせて1から(例えば)5000までの数字を入力する方法について何も知らない:a1ESCqqyyp^[email protected]
...
ia<Esc> " Start with 'a'
qqylp<C-a>q " @q will duplicate the last character and increment it
[email protected] " Append c..z
nrformatsについてよく分かりませんでした。ありがとう。 –
もしあなたが 'nrformats'についてここに投稿しなかったなら、そのオプションは間違いなく私が最後に知っているだろう!あなたはそれを認識しているために、このオプションをどのように使用しましたか? – user1146332
これを使用する必要はありません。私は[':help options'](http://vimdoc.sourceforge.net/htmldoc/options.html)を読んでその存在を知るだけです。 –
:
:put =join(map(range(char2nr('a'),char2nr('z')),'nr2char(v:val)'),'')
が、その後nr2char()
機能の上にそれらをマッピングし、現在のバッファに結果を挿入し、a
からz
の範囲内の文字のASCII値を収集:put =
である。
囲いを外すと、join(
... ,'')
という文字が別々の行に表示されます。
は
:h nr2char()
、:h char2nr()
、:h :put
、range()
を調べ、map()
、join()
とlist-functions
テーブルで友人を参照してください。ステップバイ ia<Esc>qqylp<C-a>[email protected]
ステップ:set nrformats+=alpha
を使用して
をあなたのシェル拡張を引き締めなければ、これはかなりエレガントなソリューションです:
:r !printf '\%s' {a..z}
:read!
読み取りcuへの外部コマンドの出力直前のバッファ。この場合、シェルによって展開された後に、シェルのprintf
の出力が{a..z}
に適用されます。
Vim abbreviationsまたはUltiSnipsのような本格的なスニペットマネージャープラグインを試してみてください。設定にはしばらく時間がかかるかもしれませんし、もう一度そのアルファベットを省略形またはスニペットとして定義する必要がありますが、アルファベットやその他の一般的なテキストを挿入することができますはるかに簡単です。
...または、ハイテクに行く:inoreab abc abcdefghijklmnopqrstuvwxyz': – glts
アルファベット全体をよく入力する必要がある場合は、省略形を使用してください。プログラマチックなやり方を覚えておかなければならず、呼び出す方がはるかに簡単です。 –