タグ付けされた質問 「text-generation」



8
永続的な行番号をファイルに追加する方法は?
このようなテキストファイルがあります(WindowsでgVimを使用) foo bar baz quux corge grault garply waldo fred plugh [...150 more lines...] xyzzy thud ファイルの各行に数字を追加したい。を使用せず:set number、次のように各行の前にテキストとして番号を追加するため、番号はファイルの一部です。 1. foo bar baz quux 2. corge grault garply 3. waldo fred plugh [...~150 more lines...] 155. xyzzy thud

3
vimにわずかな違いがある繰り返しのテキストを挿入する方法は?
このようなテキストを挿入したい: similar text wordA similar text ... similar text wordB similar text ... similar text wordC similar text ... テキストを何度も貼り付けてから、置換を使用して各行の1つの単語を変更できることはわかっていますが、この方法は依然として非常に不便です。 単語または単語リストを「変数」に保存し、この変数を使用して同様のテキストを生成する方法はありますか? 編集私は元の質問で何かを不明確にしました、実際私はいくつかの非常によく似た関数定義を作ろうとしているので、wordA wordB...はテキストの各クローンに何度も現れ、テキストには多くの行が含まれる場合があります。パターンは次のとおりです。 similar_text1 wordA similar_text2 wordA similar_text3 ... similar_text1 wordB similar_text2 wordB similar_text3 ... similar_text1 wordC similar_text2 wordC similar_text3 ... (テキストには改行が含まれている可能性があり、wordA、wordB ...は何度も存在する可能性があります) 2番目の編集 "similar_text"の部分は、そのような仕事をするたびに異なる可能性があるため、この仕事の解決策は再利用可能である方がよいでしょう。私は非常によく似た関数定義、または文字列から関数へのマッピングテーブルを作成しようとしているためです。 回答といくつかの練習を読んだ後、改行を含む可能性のある別々の「part1」、「part2」...「partN」を書くのは難しいので、この仕事をある種の置換と考える方が便利だと思います。まずテンプレート: similar_text1 $WORD similar_text2 $WORD …

5
各行を11回コピーし、各行の最後の「1」を2〜12に増やす方法
ファイルに複数の行があり、各行を11回コピー(各行を12行に変換)し、各行の最後の "1"をインクリメントして、12行に "1"から " 12 "、" 1 "が最初にあった場所。各行に「1」の他の出現がある可能性がありますが、増分したい「1」は常に各行の最後の出現になります。別の見方をすると、最後の「1」は常に「/ nt /」の後ろにある-「/ nt / 1」のように(そして、それは常に各行で「/ nt / 1」の唯一のオカレンスになります) 。 したがって、たとえば、私が持っている場合: 1stlineblahblahblah/nt/1blah 2ndlineblahblahblah/nt/1blah 3rdlineblahblahblah/nt/1blah それを次のように変えたいです。 1stlineblahblahblah/nt/1blah 1stlineblahblahblah/nt/2blah 1stlineblahblahblah/nt/3blah 1stlineblahblahblah/nt/4blah 1stlineblahblahblah/nt/5blah 1stlineblahblahblah/nt/6blah 1stlineblahblahblah/nt/7blah 1stlineblahblahblah/nt/8blah 1stlineblahblahblah/nt/9blah 1stlineblahblahblah/nt/10blah 1stlineblahblahblah/nt/11blah 1stlineblahblahblah/nt/12blah 2ndlineblahblahblah/nt/1blah 2ndlineblahblahblah/nt/2blah 2ndlineblahblahblah/nt/3blah ... 私は以前にコマンドを見つけました: :for i in range(0,12) | put ='1stlineblahblahblah/nt/'.i.'blah' | endfor この目的のために機能しますが、各行に対してこのコマンドを手動で実行し、各行を自分で入力(またはコピーして貼り付け)する必要があります。すでにファイルにある行を取得し、各行を12に変換する1つのコマンドを実行する方法はありますか。 これで私を助けることができる人に前もって感謝します。また、これが2番目の質問であることにも注意したいと思います。最初の質問に対して、いくつかの迅速で効果的な解決策が得られたことを嬉しく思います。

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