惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
U
Unit 42
F
Fortinet All Blogs
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
Y
Y Combinator Blog
罗磊的独立博客
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
I
InfoQ
博客园 - 叶小钗
博客园 - 聂微东
Last Week in AI
Last Week in AI

依云's Blog

Wayfire支持不缩放Xwayland啦 - 依云's Blog 使用wayvnc远程访问无头Wayfire会话 - 依云's Blog pacfiles: 高速的 pacman -F 替代品 用 Android 手机当电脑的话筒 - 依云's Blog 使用 ffmpeg 对音频文件进行响度归一化 - 依云's Blog 使用 nftables 屏蔽大量 IP - 依云's Blog YubiKey 初体验 - 依云's Blog fcitx5 码表同步方案 - 依云's Blog 我正在使用的火狐扩展(2024年版) - 依云's Blog 使用 PipeWire 实现自动应用均衡器 如果你发现你的 OOM Killer 在乱杀进程 使用 atuin 管理 shell 命令历史 btrfs 元数据满了怎么办 btrfs 翻车记 在 nspawn 里运行 docker Linux 上的字体配置与故障排除 新的 PaddleOCR 部署方案 使用 EasyEffects 调整 Bose 音箱的体验 让离线软件真正离线 我所讨厌的网页行为 tmux 状态栏优化 Google Chrome 中的字体设置 从 getmail6 到 offlineimap 微信消息通知的困扰 Qt 的字体渲染问题 Wayfire 迁移进展(四):不那么 high 的 DPI Wayfire 迁移进展(二):Xwayland HiDPI 以及 waybar Wayfire 迁移进展 不同情况下的图形效果 Wayland 初体验
Sublime Text 能做的,Vim 都能做到吗?
依云 · 2014-04-16 · via 依云's Blog

前两天突发奇想,想知道现在越来越流行的 Sublime Text 除了易于上手外,和 Vim 相比还有哪些独到的特性呢?

于是我在 SegmentFault 上提出了这么一个问题,最终的答案整理如下。括号中是项目数,由很简单的 Vim 命令统计或者目测完成。

Sublime Text 能做的,Vim 在不做任何配置、或仅作极少量的配置也能做到的(16):

ST: 随时保留文件的修改 / 自动保存。
Vim:
  1. 当意外退出时,默认在最后四秒内的最多200字符可能会丢失。这两个数值都是可以配置的。
  2. 设置 'autowriteall',在需要保存文件时会自动保存文件。
ST: 按 HTML 标签选择。
Vim: vit, vat, v2it 等。各种文本对象。
ST: CSS 的属性名称自动完成。
Vim: CSS 属性名称和值的智能补全。
ST: 会话保持。
Vim: :mksession 以及 :source。当然很容易配置成自动化的。
ST: 跨平台。
Vim: 把 ST 支持平台数平方一下。
ST: 变身:Vim 模式。
Vim: 变身:简易模式。
ST: 多文件搜索。
Vim: :vimgrep 命令。还有 grep.vimag.vim
ST: 在跳转框内使用 : 到达指定行。
Vim: 行号+G 或者 :行号(并回车)。
ST: 并列显示多个文件。
Vim: 不仅支持各种布局的多窗口,还支持多标签页。
ST: 界面干净。
Vim: guioptions 想去掉什么就去掉什么。
ST: 简易的编辑快捷键,如删除单词删除行头行尾。
Vim: daw, d^, d$,还想要什么?。
ST: 早期版本底部多出一个版面的空间,可以把代码最后的几千显示在窗口上半部分。
Vim: z. 把当前行放到窗口中间。Ctrl-E / Ctrl-Y 来滚动显示的行。
ST & Vim: 已拼单词提示/关键字补全。自动缩进。快捷键。命令行。

Sublime Text 能做的,Vim 在安装额外的插件或者适当配置后也能做到的(8):

ST: 快捷键切换注释。
Vim: 多个插件都可以,如 EnhCommentify
ST: 按照文件名称首字母搜索。
Vim: 多个插件都可以,如 LustyExplorer(按文件名子序列搜索)、Command-T(在当前目录下递归地搜索)。
ST: HTML片断快速插入。
Vim: neosnippet、snipMate 等。
ST: Livereload 插件,网页修改后可直接查看效果。
Vim: 使用 BufWritePost 事件通知浏览器刷新。或者直接使用 inotify 等技术监听文件更新。
ST: 侧栏管理项目目录。
Vim: 自带 netrw 插件、更强大的 NERD tree
ST: 多行移动。
Vim: 进可视模式d了再到需要的位置p就可以,不过还是有些麻烦。可以把以下配置复制到你的 vimrc 中:
" 上下移动一行文字
nmap <C-j> mz:m+<cr>`z
nmap <C-k> mz:m-2<cr>`z
vmap <C-j> :m'>+<cr>`<my`>mzgv`yo`z
vmap <C-k> :m'<-2<cr>`>my`<mzgv`yo`z
ST: 括号自动匹配。
Vim: 有几个插件。我不推荐使用这种功能。
ST & Vim: Zencoding。

Sublime Text 能做的,但是 Vim 还不能完全做到的(5):

ST: 多重光标选择,同时修改。
Vim: 列模式。正则替换。. 重复单个命令。使用宏来重复连续的多条命令。
ST: 简单全面的插件体系。
Vim: vim-addon-manager、Vundle、Bundle 等。
ST: UI 清亮。
Vim: 非 Windows 平台上的 GUI 版本也挺不错。Windows 版本的字体渲染很糟糕。
ST: 按名称搜索命令并执行。
Vim: 传统的命令行补全。
ST: 快。
Vim: 少装些插件,避免使用复杂的语法高亮。

Sublime Text 能做的,但是 Vim 还不能做到的(5):

ST: 代码地图 / Minimap。
Vim: 无。不过有好些人表示 taglist / tagbar 之类的比这个好看的缩略图更中用。
ST: 「经常友好地弹一个窗口,提醒用户付费。」
Vim: 默认在启动时会希望你给乌干达的儿童捐款。
ST: 「如果作者不幸挂掉,将会有一大波程序员陷入悲痛。」
Vim: 如果作者不幸挂掉,将会有一大波程序员尝试成为新的维护者。
ST: Linux 下的中文显示可能有问题,不支持输入法。
Vim: 如果其它程序中没有问题,那么在 Vim 中也不会有问题。
ST: 小巧。安装后大小:14277.00 KiB。
Vim: 带 GTK 2 图形界面、多种解释器支持的巨型版本安装后大小:28056.00 KiB。

后记

我当然是不会换用 Sublime Text,除非其出正式版本并对用户的数据表现出一个负责的态度

markdown 不支持描述性列表好讨厌啊,逼我用 Vim 的宏来修正么 :-( 以后这种复杂的内容还是部分用 HTML 吧,简单的部分用 markdown 写了再通过 Vim 的「filter」功能送给 markdown 好了。

本页用到了仅火狐 21+ 支持的 HTML 5 特性:Scoped CSS