在64位Windows的控制台上编辑文本文件

我试图找出最简单的方法来编辑控制台中的文本文件(PowerShell在我的情况)。 我正在使用Windows 7 64位。 这让我不能只是edit filename.txt文件。 那曾经工作,但这一切都改变了。 我有什么select可以在Windows控制台中查看和编辑文本文件,如果你告诉我安装和学习VIM,我会打你的脸。 🙂

运动学文本编辑器。

它速度超快,可处理大型文本文件,但function极less。 有GUI版本和控制台版本(k.exe)包括在内。 应该在Linux上工作。

E:在我的testing中,花了7秒钟打开一个500MB的磁盘映像

截图

虽然冒着打击我的风险,但我想你是坚持你提到的解决scheme。 看看超级用户上的这个post:

哪些是Powershell中的非x文本编辑器?

此外,还有一个Windows的纳米版本:

纳米编辑器

我现在就要蹲下来掩护,希望有人能有更充分的答案。

为什么不使用记事本?

 notepad.exe filename.txt 

旧的edit.com在PowerShell中起作用(至less在我的机器上是:Windows 7 Pro x86),但是在x64上它不能工作,因为它的16位体系结构。

你可以看看这个简单的编辑器。

一个复活的位,但对于任何人来这个问题,看看微编辑器。 这是一个独立的小EXE,没有依赖关系,并且具有原生Windows 32 \ 64版本。 在PowerShell和CMD.EXE中均可正常工作。

在这里输入图像说明

您可以安装远程pipe理器 (顺便说一下,一个伟大的OFM ),并调用它的编辑器:

 Far /e filename.txt 

从网上安装vim,然后你可以这样做: vim“filename”来编辑那个文件

我同意斯文普拉斯 。 纳米是一个很好的select。 如果你有巧克力设置。 在Powershell中input以下内容来安装nano:

 PS C:\dev\> choco install nano 

然后,要编辑somefile.txt,请input:

 PS C:\dev\> nano somefile.txt 

它非常整洁!

编辑:我一直有纳米问题。 加载第一次会话花费的时间非常长。 这使我切换到vim(vi)

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

在powershellconfiguration文件中添加一行到Set-Alias(sal)

 sal vi vim 

Esc – : – x – input:-)

我以为你可以使用记事本,就像这样:

 notepad myfile.extension 

它应该在记事本中打开。

那么有几千种方法来编辑Windows 7上的文本文件。通常人们安装Sublime,Atom和Notepad ++作为编辑器。 对于命令行,我认为基本编辑命令(通过不能在64位计算机上工作的方式)是好的;或者,我发现typescon>文件名是一个非常可赞的方法。如果Windows是新安装的,而且一个人想避免记事本。 这可能是! Type作为编辑器的完美用法:)

图片的参考: – https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code

在Windows Nano Docker镜像上进行一些debugging,我需要编辑一个文件的内容,谁会猜到它是如此困难。

我将Get-ContentSet-Content的组合与Base 64编码/解码结合使用来更新文件。 例如

编辑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 !@#%^%$&^&(&*)!@## ...world PS C:\app> 

诀窍是将base 64解码的string传送到Set-Content

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

它没有VIM,但我可以更新文件,它的价值。