我正在尝试找出在控制台中编辑文本文件的最简单方法(在我的案例中为PowerShell)。我正在使用Windows 7 64位。让我觉得我不能只输入edit filename.txt
来编辑文件。过去曾经有过工作,但这一切都改变了。我有什么选择在Windows控制台中查看和编辑文本文件,如果你告诉我安装和学习VIM,我会打电话给你。 : - )
答案 0 :(得分:27)
它速度极快,处理大型文本文件,但功能极少。有一个GUI版本和控制台版本(k.exe)包括在内。应该在linux上工作相同。
示例:在我的测试中,打开500mb磁盘映像需要7秒钟。
答案 1 :(得分:21)
虽然冒着打击我的风险,但我猜你仍然坚持你提到的解决方案。看一下SuperUser上的帖子:
Which are the non-x text editors in Powershell?
此外,还有一个适用于Windows的纳米版本:
我现在会躲避和掩护,希望有人会有更充分的答案。
答案 2 :(得分:20)
为什么不使用记事本?
notepad.exe filename.txt
旧的edit.com
在PowerShell中工作(至少在我的盒子上:Windows 7 Pro x86),但在x64中由于其16位架构而无法正常工作。
您可以查看this简易编辑器。
答案 3 :(得分:12)
有点复活,但对于其他任何人来看这个问题,请看一下Micro编辑器。它是一个没有依赖关系的小型独立EXE,具有本机Windows 32 \ 64版本。适用于PowerShell和CMD.EXE。
答案 4 :(得分:7)
顺便说一句,你可以安装Far Manager(一个很棒的OFM)并按照这样的方式调用它的编辑器:
Far /e filename.txt
答案 5 :(得分:6)
从在线安装vim,然后你可以这样做: vim“filename”来编辑该文件
答案 6 :(得分: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 - 输入: - )
答案 7 :(得分:1)
我必须在 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但我可以更新文件,因为它的价值。
答案 8 :(得分:1)
在linux中,我是Nano的乐趣,我总是使用nano,真的是一个很好的选择。有一个版本的Windows。这是链接https://nano-editor.org/dist/win32-support/
然而,更多时候我们需要尽可能快地从命令行打开有问题的文件,而不是打开时间。我们可以使用notepad.exe,我们可以使用记事本++,是的,我们可以使用 sublim text 。我认为没有一个轻量级,太强大的编辑器。这里有崇高的文字。对于这件事,我们只是不想离开命令行,或者我们想要使用命令行来快速。是的我们可以使用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以在上图中看到它们)。
另请注意,您可以使用与您选择的任何编辑器相同的方法。
答案 9 :(得分:1)
我是一名退休工程师,在60年代与DOS,Fortran,IBM360等一起成长,与此博客上的其他人一样,我非常想念64位Windows中命令行编辑器的丢失。在花了一周时间浏览互联网并测试编辑后,我想分享我最好的解决方案:Notepad ++。它与DOS编辑相去甚远,但有一些附带的好处。不幸的是,它是一个屏幕编辑器,需要鼠标,因此很慢。另一方面,它是一个体面的Fortran源编辑器,并显示行和列号。它可以为正在编辑的文件保留多个选项卡,甚至可以记住光标的最后位置。我当然会继续键入键盘代码(50年的习惯)但令人惊讶的是至少其中一些是有效的。也许不是一个记录的功能。我将编辑器重命名为EDIT.EXE,设置它的路径,并从命令行调用它。这不是太糟糕。我和它一起生活。 BTW注意不要在Fortran源中使用tab键。在文本中放入ASCII 6。它是隐形的,至少gFortran无法处理它。 Notepad ++可能有很多我没有时间搞乱的功能。
答案 10 :(得分:0)
如果你有 linux 的 windows 子系统 (wsl),你会发现下面的命令非常有用:
bash -c "vi filename.txt"
答案 11 :(得分:0)
不确定这是否会使任何人受益,但是如果您使用的是Azure CloudShell PowerShell,则可以键入:
code file.txt
Visual Studio代码将与要编辑的文件一起弹出,非常棒。
答案 12 :(得分:0)
您可以执行以下操作:
bash -c "nano index.html"
上面的命令使用Powershell中的nano编辑器打开index.html文件。
或者,您可以通过以下命令使用vim编辑器
bash -c "vi index.html"
答案 13 :(得分:0)
您可以通过choco将nano安装在powershell中-这是一种将文本编辑功能引入powershell的低摩擦方式:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install nano
nano myfile.txt
最好的部分是它成为路径的一部分,并在重新启动等过程中保持工作状态:)
答案 14 :(得分:0)
如果使用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
并将其外壳返回容器
转到文件位置并对其进行vim file.txt
答案 15 :(得分:0)
有很多方法可以在Windows 7上编辑文本文件。 通常人们安装Sublime,Atom和Notepad ++作为编辑器。 对于命令行,我认为Basic Edit命令(通过在64位计算机上不起作用的方式)是好的;或者我发现类型con&gt;文件名作为一个非常值得尊敬的方法。如果Windows是新安装的,一个人想避免使用记事本。这可能是它!! The perfect usage of Type as an editor :)
图片的参考: - https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code
答案 16 :(得分:0)
我想你可以使用记事本,就像这样:
notepad myfile.extension
它应该在记事本中打开。