刚开始使用终端和 Vim 工作时,桌面上总是铺满了执行各种任务的终端窗口,任务切换极其困难。
尤其在使用 Vim 编辑文件时每次想执行一些 Shell 命令就会新开一个窗口。
虽然搭建终端工作环境的终极方式是终端复用,但有一些更加轻巧的办法可以在 Vim 中快速执行 Shell 命令。
比如 :!cmd Vim 命令和 :sh Vim 命令,以及 Ctrl+Z Shell 快捷键。
除此之外还可以使用 benmills/vimux 来在 Vim 中操作 Tmux,
这可以达到类似 IDE 的效果:按下编译快捷键打开命令窗格并开始编译,
编译过程中 Vim 不会失去焦点,编译成功后自动关闭命令窗格。
使用 let 进行变量赋值,echo 打印变量的值, unlet 销毁变量。
对于 Vim 选项还可用 set 来更方便地操作,比如 set {option}, set no{option}, set {option}?。
普通变量可以直接引用,环境变量要加前缀 $、寄存器变量要加前缀 @、Vim 选项要加前缀 &。
变量默认作用域取决于定义的位置,函数内则为函数作用域,外部则为全局变量。
赋值和引用变量时可以使用 b:,g:,l:,t: 等前缀来指定要操作哪个作用域的变量。
Web 开发者可能会使用 jQuery .html() 和 .text()
方法来设置 DOM 内容,但他们的实现仍然依赖于 DOM API。
本文来梳理一下这些用来获取 DOM 内容的 DOM 属性(attribute),
比较它们的区别:innerHTML, outerHTML, innerText, outerText, text, textContent,
以及 jQuery 中.html()和.text()的实现。
如 Alex 所述,PWA 意图让 Web 在保留其本质(开放平台、易于访问、可索引)的同时,
在离线、交互、通知等方面达到类似 App 的用户体验。按 Google 官方的解释
PWA 具有这些特性:Reliable, Fast, Engaging。
Progressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment. – Google PWA Tutorials