webentwicklung-frage-antwort-db.com.de

Bearbeiten Sie eine Textdatei auf der Konsole in 64-Bit-Windows

Ich versuche herauszufinden, wie Textdateien in der Konsole am einfachsten bearbeitet werden können (in meinem Fall PowerShell). Ich benutze Windows 7 64-Bit. Es zeigt mir, dass ich nicht einfach edit filename.txt Eingeben kann, um eine Datei zu bearbeiten. Früher hat das funktioniert, aber das hat sich geändert. Welche Möglichkeiten habe ich, um Textdateien in der Windows-Konsole anzuzeigen und zu bearbeiten, und wenn Sie mich auffordern, VIM zu installieren und zu lernen, werde ich Ihnen ins Gesicht schlagen. :-)

71
Busilinks

Kinesics Text Editor .

Es ist superschnell und verarbeitet große Textdateien, obwohl die Funktionen minimal sind. Es gibt eine GUI-Version und eine Konsolenversion (k.exe). Sollte unter Linux genauso funktionieren.

Beispiel: In meinem Test dauerte es 7 Sekunden, um ein 500-MB-Image zu öffnen.

screenshot

27
user2164194

Ich nehme an, Sie stecken bei der von Ihnen erwähnten Lösung fest, obwohl Sie riskieren, mich zu schlagen. Schauen Sie sich diesen Beitrag auf SuperUser an:

Welches sind die Nicht-X-Texteditoren in Powershell?

Es gibt auch eine Nano-Version für Windows:

Nano Editor

Ich gehe jetzt in Deckung, hoffentlich hat jemand eine ausreichendere Antwort.

21
Sven Plath

Warum nicht den Notizblock benutzen?

notepad.exe filename.txt

Der alte edit.com funktioniert in PowerShell (zumindest auf meiner Box: Windows 7 Pro x86), aber in x64 funktioniert es aufgrund seiner 16-Bit-Architektur nicht.

Sie können einen Blick auf this easy editor werfen.

20
CB.

Etwas wie eine Wiederbelebung, aber für alle anderen, die zu dieser Frage kommen, werfen Sie einen Blick auf den Micro Editor. Es ist eine kleine eigenständige EXE-Datei ohne Abhängigkeiten und mit nativen Windows 32/64-Versionen. Funktioniert gut in PowerShell und CMD.EXE.

enter image description here

12
Alan B

Sie könnten Far Manager (ein großartiges OFM übrigens) installieren und den Editor folgendermaßen aufrufen:

Far /e filename.txt
7
Joey

Ich bin einverstanden mit Sven Plath . Nano ist eine großartige Alternative. Wenn Sie Chocolatey Setup haben. Installieren Sie Nano, indem Sie Folgendes in Powershell eingeben:

PS C:\dev\> choco install nano

Um somefile.txt zu bearbeiten, geben Sie Folgendes ein:

PS C:\dev\> nano somefile.txt

Es ist ziemlich ordentlich!

Bearbeiten: Nano funktioniert gut auf meiner Windows 10-Box, benötigt aber unglaublich viel Zeit, um das erste Mal auf meinem Windows 7-Computer zu laden. Das hat mich dazu gebracht, auf meinem Win 7-Laptop auf vim (vi) umzusteigen

PS C:\dev\> choco install vim
PS C:\dev\> vim $profile

Hinzufügen einer Zeile im Powershell-Profil zu Set-Alias ​​(sal)

sal vi vim

Esc -: - x - Enter :-)

7
Albino Cordeiro

installiere vim von online und dann kannst du einfach tun: vim "filename" um diese Datei zu bearbeiten

6
edwardtyl

Wenn Sie einen Windows-Container verwenden und eine beliebige Datei ändern möchten, können Sie Vim in der Powershell-Konsole problemlos abrufen und verwenden.

So stellen Sie mit PowerShell eine Shell für den Windows Docker-Container bereit:

docker exec -it <name> powershell

  • Holen Sie sich zuerst Chocolatey Paketmanager

    Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression;

  • Installieren Sie Vim

    choco install vim

  • Refresh ENVIRONMENTAL VARIABLE Sie können nur exit und Shell zurück in den Container

  • Gehe zum Dateispeicherort und Vim it vim file.txt

2
Aidar Gatin

Ich musste einige Fehlerbehebungen an einem Windows Nano Docker-Image durchführen und musste den Inhalt einer Datei bearbeiten, wer hätte gedacht, dass es so schwierig ist.

Ich habe eine Kombination aus Get-Content Und Set-Content Und Base 64-Codierung/-Decodierung verwendet, um Dateien zu aktualisieren. Zum Beispiel

Bearbeiten von foo.txt

PS C:\app> Set-Content foo.txt "Hello World"                                                                                                                                                                                        
PS C:\app> Get-Content foo.txt                                                                                                                                                                                                      
Hello World                                                                                                                                                                                                                         
PS C:\app> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("TXkgbmV3IG11bHRpDQpsaW5lIGRvY3VtZW50DQp3aXRoIGFsbCBraW5kcyBvZiBmdW4gc3R1ZmYNCiFAIyVeJSQmXiYoJiopIUAjIw0KLi4ud29ybGQ=")) | Set-Content foo.txt 
PS C:\app> Get-Content foo.txt                                                                                                                                                                                                      
My new multi                                                                                                                                                                                                                        
line document                                                                                                                                                                                                                       
with all kinds of fun stuff                                                                                                                                                                                                         
[email protected]#%^%$&^&(&*)[email protected]##                                                                                                                                                                                                                  
...world                                                                                                                                                                                                                            
PS C:\app>       

Der Trick besteht darin, die decodierte Zeichenfolge der Basis 64 an Set-Content Weiterzuleiten.

[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("...")) | Set-Content foo.txt 

Es ist kein vim, aber ich kann Dateien aktualisieren, für was es sich lohnt.

1
ug_

Ich bin ein pensionierter Ingenieur, der in den 60er Jahren mit DOS, Fortran, IBM360 usw. aufgewachsen ist und wie andere in diesem Blog den Verlust eines Befehlszeileneditors in 64-Bit-Windows sehr vermisse. Nachdem ich eine Woche im Internet gesurft und die Editoren getestet hatte, wollte ich meine beste Lösung teilen: Notepad ++. Es ist weit entfernt von DOS EDIT, aber es gibt einige Nebeneffekte. Es ist leider ein Bildschirmeditor, benötigt eine Maus und ist dementsprechend langsam. Andererseits ist es ein anständiger Fortran-Quellcode-Editor, in dem Zeilen- und Spaltennummern angezeigt werden. Es kann mehrere Registerkarten für bearbeitete Dateien speichern und sich sogar daran erinnern, wo der Cursor zuletzt war. Ich tippe natürlich weiterhin Tastaturcodes (50 Jahre Gewohnheit), aber überraschenderweise funktionieren zumindest einige davon. Möglicherweise keine dokumentierte Funktion. Ich habe den Editor in EDIT.EXE umbenannt, einen Pfad dazu eingerichtet und ihn über die Befehlszeile aufgerufen. Es ist nicht so schlimm. Ich lebe damit. Übrigens: Verwenden Sie nicht die Tabulatortaste in der Fortran-Quelle. Setzt eine ASCII 6 in den Text. Es ist unsichtbar und zumindest kann gFortran nicht damit umgehen. Notepad ++ hat wahrscheinlich viele Funktionen, mit denen ich keine Zeit habe, mich zu beschäftigen.

1
Doug Millar

Unter Linux macht mir Nano Spaß, ich benutze immer Nano und es ist wirklich eine gute Wahl. Es gibt eine Version für Windows. Hier ist der Link https://nano-editor.org/dist/win32-support/

Wir müssen jedoch häufiger die betreffende Datei von der Befehlszeile aus so schnell wie möglich öffnen, um keine Zeit zu verlieren. Wir können notepad.exe verwenden, wir können notepad ++ verwenden und ja, wir können sublimierten Text verwenden. Ich denke, es gibt keinen leichteren, zu mächtigen Editor. Erhabener Text hier. Für das Ding wollen wir einfach nicht die Kommandozeile verlassen, oder wir wollen die Kommandozeile benutzen, um schnell zu sein. und ja. Dafür können wir erhabenen Text verwenden. Es enthält eine Befehlszeile, mit der Sie schnell eine Datei in erhabenem Text öffnen können. Es gibt auch verschiedene Optionsargumente, die Sie verwenden können. Hier wie du es machst.

Zuerst müssen Sie wissen, dass es subl.exe gibt. eine Befehlszeilenschnittstelle für sublim.

enter image description here

1 -> Zuerst erstellen wir eine Batch-Datei. der Inhalt ist

enter image description here

@ECHO OFF

"C:\Program Files\Sublime Text 3\subl.exe" %*

Wir können das speichern, wo immer wir wollen. Ich habe es vorgezogen, ein Verzeichnis im Installationsverzeichnis von sublime text zu erstellen. Und dort die Batch-Datei gespeichert, die wir schreiben und erstellen.

(Anmerkung: Ändern Sie den Pfad über der Installation).

2 -> Wir fügen diesen Ordner der Umgebungsvariablen des Pfadsystems hinzu. und das wars

enter image description here

oder aus der Systemkonfiguration (Windows 7/8/10)

enter image description here

dann:

enter image description here

dann:

enter image description here

dann kopieren wir den Pfad:

enter image description here

dann fügen wir das der Pfadvariablen hinzu:

enter image description here

zu schnell!

starte eine neue cmd und jetzt hast du einen subl befehl, der gut funktioniert!

enter image description here

um eine Datei zu öffnen, müssen Sie nur den Befehl subl als Fellow verwenden:

subl myfileToOpen.txt

sie können auch eines der Optionsargumente verwenden (geben Sie --help ein, um sie wie im obigen Bild zu sehen).

Beachten Sie auch, dass Sie dieselbe Methode mit fast jedem Editor Ihrer Wahl anwenden können.

1
Mohamed Allal

Ich denke, Sie könnten einfach den Notizblock wie folgt verwenden:

notepad myfile.extension

Es sollte sich im Editor öffnen.

0
Xelxa

Nun, es gibt tausend Möglichkeiten, eine Textdatei unter Windows 7 zu bearbeiten. Normalerweise installieren Leute Sublime, Atom und Notepad ++ als Editor funktioniert nicht auf 64-Bit-Computern) ist gut; alternativ finde ich die Eingabe von con> filename als sehr applaudable Methode. Wenn Windows neu installiert ist und man auf Notepad verzichten möchte. Das könnte es sein !! Die perfekte Verwendung von Als Editor eingeben:)

referenz des Bildes: - https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code

0
Reitsu Y