在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-Content
和Set-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,但我可以更新文件,它的价值。