我试图找出在控制台中编辑文本文件的最简单方法(在我的案例中是PowerShell)。我正在使用Windows 7 64位。让我觉得我不能只输入edit filename.txt
来编辑文件。过去曾经有过工作,但这一切都改变了。我有什么选择在Windows控制台中查看和编辑文本文件,如果你告诉我安装和学习VIM,我会打电话给你。 :-)
它速度超快,处理大型文本文件,但功能极少。有一个GUI版本和控制台版本(k.exe)包括在内。应该在linux上工作相同。
示例:在我的测试中,打开500mb磁盘映像花了7秒钟。
我不得不在Windows Nano docker镜像上做一些调试,需要编辑文件的内容,谁会猜到它太难了。
我使用了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>
诀窍是将基本64解码的字符串传送到Set-Content
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("...")) | Set-Content foo.txt
它没有vim,但我可以更新文件,它的价值。
如果您使用Windows容器并且想要更改任何文件,则可以轻松地在Powershell控制台中获取和使用Vim。
使用PowerShell炮轰到Windows Docker容器:
docker exec -it <name> powershell
Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression;
choco install vim
exit
和shell重新放回容器中vim file.txt
我想你可以用记事本,像这样:
notepad myfile.extension
它应该在记事本中打开。
那么有很多方法可以在Windows 7上编辑文本文件。通常人们将Sublime,Atom和Notepad ++作为编辑器安装。对于命令行,我认为基本编辑命令(顺便说一下在64位计算机上不起作用)是好的;或者我发现类型con> filename作为一个非常值得信赖的方法。如果Windows是新安装的,一个想要避免记事本。这可能是它!! The perfect usage of Type as an editor :)
参考图像: - https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code
虽然冒着打击我的风险,但我猜你仍然坚持你提到的解决方案。看看SuperUser上的帖子:
Which are the non-x text editors in Powershell?
此外,还有一个用于Windows的纳米版本:
我现在会躲避和掩护,希望有人会有更充分的答案。
为什么不用记事本?
notepad.exe filename.txt
旧的edit.com
可以在PowerShell中运行(至少在我的机器上:Windows 7 Pro x86),但在x64中它由于其16位架构而无法工作。
你可以看看this easy编辑器。
有点复活,但对于其他任何人来到这个问题,请看看Micro编辑。它是一个没有依赖关系的小型独立EXE,具有本机Windows 32 \ 64版本。适用于PowerShell和CMD.EXE。
您可以安装Far Manager(顺便说一句,这是一个很棒的OFM),然后调用它的编辑器:
Far /e filename.txt
从在线安装vim,然后你可以这样做:vim“filename”来编辑该文件
我同意Sven Plath。 Nano是一个很好的选择。如果你有Chocolatey设置。通过在Powershell中键入以下内容来安装nano:
PS C:\dev\> choco install nano
然后,要编辑somefile.txt,请输入:
PS C:\dev\> nano somefile.txt
它非常整洁!
编辑:Nano在我的Windows 10机器上运行良好,但是第一次在我的Windows 7机器上加载需要非常长的时间。这让我在Win 7笔记本电脑上切换到vim(vi)
PS C:\dev\> choco install vim
PS C:\dev\> vim $profile
在powershell配置文件中添加一行到Set-Alias(sal)
sal vi vim
Esc - : - x - 输入:-)
在linux中我是Nano的乐趣,我总是使用nano,并且真的是一个很好的选择。有一个版本的Windows。这是链接https://nano-editor.org/dist/win32-support/
但是更常见的是,我们需要尽快从命令行打开有问题的文件,而不是打开时间。我们可以使用notepad.exe,我们可以使用记事本++,是的,我们可以使用sublim文本。我认为没有一个轻量级,太强大的编辑器。这里有崇高的文字。对于这件事,我们只是不想离开命令行,或者我们想要使用命令行来快速。是的我们可以使用sublime文本。它包含一个命令行,可以让您在sublime文本中快速打开文件。您还可以使用不同的选项参数。在这里你是如何做到的。
首先你需要知道有subl.exe。 sublim的命令行界面。
1->首先我们创建一个批处理文件。内容是
@ECHO OFF
"C:\Program Files\Sublime Text 3\subl.exe" %*
我们可以随时随地保存。我更喜欢在sublime文本安装目录上创建一个目录。并保存了我们编写和创建的批处理文件。
(备注:更改以上路径以免安装)。
2->我们将该文件夹添加到路径系统环境变量中。就是这样。
或者从系统配置(Windows 7/8/10)
然后:
然后:
然后我们复制路径:
然后我们将它添加到路径变量:
太快了!
启动一个新的cmd,现在你的subl命令运行良好!
打开一个文件,你只需要使用subl命令作为伙伴:
subl myfileToOpen.txt
你也可以使用其中一个选项参数(键入--help来查看它们,如上图所示)。
另请注意,您可以使用与您选择的任何编辑器相同的方法。
我是一名退休工程师,在60年代与DOS,Fortran,IBM360等一起成长,与此博客上的其他人一样,我非常想念64位Windows中命令行编辑器的丢失。在花了一周时间浏览互联网并测试编辑后,我想分享我最好的解决方案:Notepad ++。它与DOS编辑相去甚远,但有一些附带的好处。不幸的是,它是一个屏幕编辑器,需要鼠标,因此很慢。另一方面,它是一个体面的Fortran源编辑器,并显示行和列号。它可以为正在编辑的文件保留多个选项卡,甚至可以记住光标的最后位置。我当然会继续键入键盘代码(50年的习惯)但令人惊讶的是至少其中一些是有效的。也许不是一个记录的功能。我将编辑器重命名为EDIT.EXE,设置它的路径,并从命令行调用它。这不是太糟糕。我和它一起生活。 BTW注意不要在Fortran源中使用tab键。在文本中放入ASCII 6。它是隐形的,至少gFortran无法处理它。 Notepad ++可能有很多我没时间搞乱的功能。