![vi[m] Zeilenbereich aus einer anderen Datei lesen](https://rvso.com/image/31296/vi%5Bm%5D%20Zeilenbereich%20aus%20einer%20anderen%20Datei%20lesen.png)
Unter Linux file_B
möchte ich beim Bearbeiten in vim die Zeilen 10-25 von hinzufügen file_A
. Beispiel: Man hat einen ganzen Satz HTML-Dokumente mit ziemlich demselben Header und ja, man könnte eine Vorlage erstellen und von dort aus beginnen, aber trotzdem:
ich suche nacheine einfache [und elegante] Möglichkeit, einen Zeilenbereich aus einer Datei einzufügen und ihn der Datei hinzuzufügen, die ich gerade bearbeite. In vim.
Die Lösungen, die ich bisher gefunden habe, abersind nicht genauwas ich suche, sind
- innen
file_B
Der Befehl:read file_A
fügt *die gesamte Datei_A* in Datei_B ein. Zu viel - es gibt Copy&Paste in vim – aber dafür muss man es geöffnet haben
file_A
- innenfile_A
:10,25w! file_B
'sendet' den angegebenen Zeilenbereich anfile_B
.
Dies scheint dem Kopieren und Einfügen sehr ähnlich zu sein. - man kann mehrere Fenster in vim öffnen.
Da ich aber an einem 8-Zoll-Bildschirm arbeite, erschweren mehrere Fenster die Orientierung
Da ich keine bequeme Lösung finden konnte, frage ich mich, ob ich einfach etwas missverstanden habe oder ob die Methoden, die ich bisher gefunden habe, allgemein verwendet und als Standardmethode angesehen werden.
Antwort1
Die beste Lösung, die mir einfällt, ist ein externer Aufruf sed
und die Kombination mit:read !
:r !sed -n -e '10,25p' fileB