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

问题描述 投票:67回答:13

我试图找出在控制台中编辑文本文件的最简单方法(在我的案例中是PowerShell)。我正在使用Windows 7 64位。让我觉得我不能只输入edit filename.txt来编辑文件。过去曾经有过工作,但这一切都改变了。我有什么选择在Windows控制台中查看和编辑文本文件,如果你告诉我安装和学习VIM,我会打电话给你。 :-)

text-editor windows-7-x64
13个回答
27
投票

Kinesics Text Editor

它速度超快,处理大型文本文件,但功能极少。有一个GUI版本和控制台版本(k.exe)包括在内。应该在linux上工作相同。

示例:在我的测试中,打开500mb磁盘映像花了7秒钟。


1
投票

我不得不在Windows Nano docker镜像上做一些调试,需要编辑文件的内容,谁会猜到它太难了。

我使用了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>       

诀窍是将基本64解码的字符串传送到Set-Content

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

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


1
投票

如果您使用Windows容器并且想要更改任何文件,则可以轻松地在Powershell控制台中获取和使用Vim。

使用PowerShell炮轰到Windows Docker容器:

docker exec -it <name> powershell

  • 首先得到Chocolatey包经理 Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression;
  • 安装Vim choco install vim
  • 刷新环境变量您可以将exit和shell重新放回容器中
  • 转到文件位置和Vim it vim file.txt

0
投票

我想你可以用记事本,像这样:

notepad myfile.extension

它应该在记事本中打开。


0
投票

那么有很多方法可以在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


21
投票

虽然冒着打击我的风险,但我猜你仍然坚持你提到的解决方案。看看SuperUser上的帖子:

Which are the non-x text editors in Powershell?

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

Nano Editor

我现在会躲避和掩护,希望有人会有更充分的答案。


20
投票

为什么不用记事本?

notepad.exe filename.txt

旧的edit.com可以在PowerShell中运行(至少在我的机器上:Windows 7 Pro x86),但在x64中它由于其16位架构而无法工作。

你可以看看this easy编辑器。


12
投票

有点复活,但对于其他任何人来到这个问题,请看看Micro编辑。它是一个没有依赖关系的小型独立EXE,具有本机Windows 32 \ 64版本。适用于PowerShell和CMD.EXE。

enter image description here


7
投票

您可以安装Far Manager(顺便说一句,这是一个很棒的OFM),然后调用它的编辑器:

Far /e filename.txt

6
投票

从在线安装vim,然后你可以这样做:vim“filename”来编辑该文件


6
投票

我同意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 - 输入:-)


1
投票

在linux中我是Nano的乐趣,我总是使用nano,并且真的是一个很好的选择。有一个版本的Windows。这是链接https://nano-editor.org/dist/win32-support/

但是更常见的是,我们需要尽快从命令行打开有问题的文件,而不是打开时间。我们可以使用notepad.exe,我们可以使用记事本++,是的,我们可以使用sublim文本。我认为没有一个轻量级,太强大的编辑器。这里有崇高的文字。对于这件事,我们只是不想离开命令行,或者我们想要使用命令行来快速。是的我们可以使用sublime文本。它包含一个命令行,可以让您在sublime文本中快速打开文件。您还可以使用不同的选项参数。在这里你是如何做到的。

首先你需要知道有subl.exe。 sublim的命令行界面。

enter image description here

1->首先我们创建一个批处理文件。内容是

enter image description here

@ECHO OFF

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

我们可以随时随地保存。我更喜欢在sublime文本安装目录上创建一个目录。并保存了我们编写和创建的批处理文件。

(备注:更改以上路径以免安装)。

2->我们将该文件夹添加到路径系统环境变量中。就是这样。

enter image description here

或者从系统配置(Windows 7/8/10)

enter image description here

然后:

enter image description here

然后:

enter image description here

然后我们复制路径:

enter image description here

然后我们将它添加到路径变量:

enter image description here

太快了!

启动一个新的cmd,现在你的subl命令运行良好!

enter image description here

打开一个文件,你只需要使用subl命令作为伙伴:

subl myfileToOpen.txt

你也可以使用其中一个选项参数(键入--help来查看它们,如上图所示)。

另请注意,您可以使用与您选择的任何编辑器相同的方法。


1
投票

我是一名退休工程师,在60年代与DOS,Fortran,IBM360等一起成长,与此博客上的其他人一样,我非常想念64位Windows中命令行编辑器的丢失。在花了一周时间浏览互联网并测试编辑后,我想分享我最好的解决方案:Notepad ++。它与DOS编辑相去甚远,但有一些附带的好处。不幸的是,它是一个屏幕编辑器,需要鼠标,因此很慢。另一方面,它是一个体面的Fortran源编辑器,并显示行和列号。它可以为正在编辑的文件保留多个选项卡,甚至可以记住光标的最后位置。我当然会继续键入键盘代码(50年的习惯)但令人惊讶的是至少其中一些是有效的。也许不是一个记录的功能。我将编辑器重命名为EDIT.EXE,设置它的路径,并从命令行调用它。这不是太糟糕。我和它一起生活。 BTW注意不要在Fortran源中使用tab键。在文本中放入ASCII 6。它是隐形的,至少gFortran无法处理它。 Notepad ++可能有很多我没时间搞乱的功能。

© www.soinside.com 2019 - 2024. All rights reserved.