3

...のようなフルネームがたくさんあるファイルがあります。

Light Machine Gun
Statistical Analysis System
etc

行のすべての単語の最初の文字をキャプチャし、頭字語を作成したいと思います。たとえば、軽機関銃はLMGなどです。VIエディターで実行し、マクロとして記録してファイル全体に実行します。誰かが私を助けてくれるなら、それは素晴らしいことですか?前もって感謝します。

4

2 に答える 2

5

1行に1つの名前があり、単語がスペースで区切られていると仮定すると、次のように機能します。

%s/\(\w\)\w*\ */\1/g

各文字も大文字にする場合は、大文字のフラグ(\u)を追加します。

%s/\(\w\)\w* */\u\1/g

「非常に魔法の」バージョン(を参照:help /magic):

%s/\v(\w)\w*\s*/\u\1/g
于 2012-12-11T10:35:48.290 に答える
3

Vimは、略語と呼ばれる頭字語を定義できます。

Light Machine Gun Statistical Analysis System -> LMGSAS

入力するだけです:

:ab LMGSAS Light Machine Gun Statistical Analysis System

また、LMGSASと入力すると、代わりにLMGSASが使用されます。

何かを:ab略語化しないために、すべての略語をリストするために使用します。una xxxxxそして最後にabcすべてをクリアします。

編集:私はあなたの質問を誤解しました、あなたが行こうとしているなら、単語->略語、そしてs/\(\w\)\w*\s*/\1/gトールによって提案された正規表現はうまくいきます。

于 2012-12-11T10:38:54.327 に答える