工作中,偶尔需要编辑一些大文件,比如 log 文件,后者一些变态的 SQL,此时用平常的编辑器就会显得力不从心,要么直接打不开,要么打开后卡得要死。

本文就给大家推荐几款可以操作大文件的编辑器,准备好小板凳,开始吧。

本机配置:Windows10,16G 内存,i5 处理器。

Notepad++

第一站,就拿我本机的记事本替代者 Notepad++ 开刀。

网上传闻 Notepad++ 打开大文件不佳,Notepad++ 可以打开 600M 左右的文件,大于 700M 就直接无法打开了,一般 >400m 就会卡死。

那么它的真实体验如何呢?

于是就从服务器上,找来了一个 2.3G 大小的文件来进行测试。

将其拖到 Notepad++ 中,直接不行:

那我们拿一个小点的,200M 多点的文件再试一下

结果呢?

大家隔着屏幕,应该无法感受我在电脑前的感受

打开用了好几秒,打开后无法滚动,我的鼠标都快滑烂了

好不容易能上下拉了,没拉几下,还卡死了!

直接程序无响应了!

Notepad++ 是很优秀,但是在打开大文件方面,简直是一塌糊涂!

超过 100M 的文件,用 Notepad++ 打开时,请慎重!

Sublime Text

下面我们用很多人都喜欢的 Sublime Text 来试下。

首先,比 Notepad++ 好的地方是,2.3G 的文件起码是能打开的

没有报错

但是,Sublime Text 开始加载文件了

我大概计了个时

加载 2.3G 的文件,一共用了 4 分多钟

我就一直盯着加载页面

不过总算加载完了

正当我准备滑动我的鼠标查看文件时

再看一眼 Sublime Text 的内存占用情况

看得出来,它是一次性将文件全加载到内存中了

所以,Sublime Text 也是很优秀,但是打开大文件,同样一塌糊涂。

VSCode

编辑器界的新秀 VSCode 在大文件方面又能表现如何呢?

当我把文件拖入到 VSCode 时,弹出了如下提示

按照提示进行重启后,再次尝试打开文件

一直处于加载中

加载一段时间后,又弹出了这个页面

后又多次尝试打开,均以失败告终

所以,VSCode 打开大文件,失败!

UltraEdit

现在再来试一下老牌的 UltraEdit,网上说它是可以打开大文件的,那我们就看下到底表现如何。

打开有了几十秒的时间,并且打开过程中卡死

但是打开后,文件浏览起来还是很顺滑的。

直接进行编辑好像也没什么问题

但是当我使用 ctrl+z 进行撤销操作,或者进行文件保存

还是卡住了

我们发现,其实 UltraEdit 内存占用很小,这种情况下,仍然能够顺滑浏览大文件,难道是因为我的 SSD?

总之,UltraEdit 要比 Notepad++ 和 Sublime Text 表现要好多了。

EmEditor

好了,做了这么多铺垫,到了主角出现的时候了,它就是:EmEditor

EmEditor 是一个比较小众的编辑器,当年实习时,只有当年实习时看到指导老师用过,此后多年,没再看到过它的身影。

知乎上甚至还有一个问题:为什么用 EmEditor 的人不多?

回答者对其的评价颇高,有人甚至称其为:Windows平台下最棒的文本编辑工具!没有之一!

评价都是『幸存者偏差』,我们不过多关注,到底怎样,拉出来溜溜

1、加载大文件,没有出现卡死的情况;

2、浏览文件,同样顺滑;

3、编辑大文件,不费力气;

4、保存时,出现短暂卡死的情况;

总之,这是今天所有测试下来,大文件打开表现最优秀的一个。

总结

本文并没有比较各个编辑器的意图,所以对于各个编辑器的优劣不做评价。

本文只是实验在大文件编辑的情况下,到底谁的表现更为突出。

综合结论:EmEditor ≈ UltraEdit > Sublime Text ,VSCode 和 Notepad++ 无法打开大文件,不参与排名。

另外,也许还有其他更为优秀的工具,比如 Vim 其实也可以用来编辑大文件,小编认知有限,大家可以留言推荐。

10G的变态SQL文件,如何快速打开编辑?的更多相关文章

  1. MySQL(Navicat)运行.sql文件时报错:[Err] 2006 - MySQL server has gone away 的解决方法

    背景: 今天导入一个数据量很大的.sql文件时,报错: 原因: 可能是sql语句过长,超过mysql通信缓存区最大长度. 解决:1. 编辑 MySQL 安装目录下的 my.ini,在最后添加以下内容: ...

  2. 针对大的sql文件删除行操作

    今天处理开发已导出的库的一个sql文件.未gzip压缩 ,1.3G 需要删除 17 18 24行的SET行. 想到了两个办法 1  sed 方法 主意 由于 sed 虽然指定行 进行 替换, 也会读完 ...

  3. mysql导入.sql文件

    1. source /home/susie ...../**.sql 2. \. /home/susie/.../**.sql 批量导入.sql文件 首先新建一个main.sql,然后在main.sq ...

  4. navicat如何导入sql文件和导出sql文件

    http://jingyan.baidu.com/article/a65957f4976aad24e67f9b9b.html ************************************* ...

  5. 怎么将oracle的sql文件转换成mysql的sql文件

    怎么将sql文件导入PowerDesigner中的方法(将oracle的sql文件转换成mysql的sql文件)呢? 怎么将xx.sql文件的数据库结构导入powerdesigner 的方法呢? 现讲 ...

  6. navicat导入sql文件

    Hello,大家好.Navicat是我们平时使用较多的一个数据库客户端工具,平时小天我主要是用来连接mysql的,使用的时候还是很方便的. 今天小天我就给大家分享一个Navicat如何导入导出sql文 ...

  7. 【转】linux下使用sqlplus执行包含语句块的sql文件,运行时会不断显示行号,而在plsqldev中能执行

    一.数据库:Oracle数据库 二.sql文件内容: --创建函数 CREATE OR REPLACE function fun_createuid1 return varchar2 is Resul ...

  8. 大型SQL文件导入mysql方案

    一. 场景 现有俩个体积较大的单表sql文件,一个为8G,一个为4G,要在一天内完整导入到阿里云的mysql中,需要同时蛮子时间和空间这俩种要求. 二. 思路 搜索了网上一堆的方案,总结了如下几个: ...

  9. linux crontab定时任务运行shell脚本(shell执行sql文件)

    https://www.cnblogs.com/tiankongjava/p/6106743.html 今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux ...

随机推荐

  1. PCB SQL SERVER 数据库阻塞进程关系以思维导图方式呈现的实现方法

    最近公司服务数据库同步机制常发生阻塞,时不时的导致PCB工程系统卡死现象,只有找到阻塞源头并处理掉,才以消除阻塞,但数据库中查看会话阻塞是通过二维表方式展示的父子会话进程ID的,是很难清楚的展示各会话 ...

  2. Netty-Pipeline深度解析

    首先我们知道,在NIO网络编程模型中,IO操作直接和channel相关,比如客户端的请求连接,或者向服务端发送数据, 服务端都要从客户端的channel获取这个数据 那么channelPipeline ...

  3. 百度AI之百度图像识别java版本使用

    百度AI之百度图像识别java版本使用\ 官网 http://ai.baidu.com/ 创建应用 查看 appid,appkey,sk 下载sdk https://ai.baidu.com/sdk# ...

  4. c语言进阶14-线性表之链表

    一.  线性表的链式存储结构 1.        顺序存储结构不足的解决办法 前面我们讲的线性表的顺序存储结构.它是有缺点的,最大的缺点就是插入和删除时需要移动大量元素,这显然就需要耗费时间.能不能想 ...

  5. [leetcode] 905. Sort Array By Parity [easy]

    原题链接 很水的一道题,就是数组内部交换. 水题就想着减少复杂度嘛,于是学到一种交换写法. class Solution { public: vector<int> sortArrayBy ...

  6. java和golang通过protobuf协议相互通信

    目录 整体结构说明 protobuf2文件 golang客户端 目录结构 生成pb.go文件 main.go util.go java服务端 目录结构 pom.xml application.yml ...

  7. Java EE.JSP.概述

    JSP最终会被转换成标准Servlet,该转换过程一般出现在第一次请求页面时. JSP页面的主要组成部分如下: HTML 脚本:嵌入Java代码 指令:从整体上控制Servlet的结构 动作:引入现有 ...

  8. 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证

    上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...

  9. RFC 2544 性能测试

    什么是RFC 2544?网络设备性能测试的一组指标,包括吞吐率.时延.丢包率.背靠背. * * * 吞吐率(Throughput). 定义:被测设备在不丢包的情况下,所能转发的最大数据流量.通常使用每 ...

  10. 腾讯企业邮箱 POP3/SMTP 设置

    下午魅族MX2刷完机,原先配置的公司邮箱还要重新配置.有些地方需要改,找到了篇文章,如下: 腾讯企业邮箱支持通过客户端进行邮件管理.POP3/SMTP协议收发邮件服务器地址分别如下.接收邮件服务器:p ...