一年前,在我花费了一个星期的时间写 editor 横评的时候,我还没想过我最终会选择 VSCode。由于我长期使用 Code,关注它的动态,所以我会常常更新这篇文章。
VSCode(下文简称 Code)是由微软坐镇苏黎世的 Eric Gamma 率领团队打造。很多人可能对外国名字不太敏感,此人曾写过一本关于“设计花纹”的书Design Patterns (豆瓣),并且曾经是 Eclipse(最热门的开源 JAVA IDE) 项目的负责人。
为追赶 AI 的浪潮,实验室最近新上了一台 GPU 服务器,里面是一块 Nvida Tesla K40m。服务器刚到时是没有系统的,于是我找了一个下午的时间给它装上了 Ubuntu 、配置了显卡驱动和 TensorFlow。以下是具体过程。
2017年的高考结束了,又一批少年们走出高中步入新的生活,从他们身上,我仿佛看到当年的自己。也是从那一年的此时到今天,我使用 Mac 作为主力机学习工作已经整整两年的时间。这期间,我使用电脑的方式被 macOS(旧 OS X)深深改变,并成为了一名资深果粉。随着时间、空间的转换,我身边使用 Mac 的朋友也越来越多。
本文将持续更新
缘起
过去一年正是我接触 Linux 的一年,这期间我从头开始配置过了许多台 Linux(主要以 Ubuntu 为主)。许多同学也来问过我配置 Ubuntu 有什么建议,但是一时也很难说清,于是一直有计划写一篇文章详细记叙一下我从头配置一台 Ubuntu 的过程。
一直想写一篇文章总结一下我折腾编辑器的一些琐事。在 macOS 下我向来习惯 shell+vim 的工作环境,倒也自在。但近来新入 windows 平台,我花费了很长的一段时间也没有找到习惯的感觉,索性转换一下思路顺带体验一下近来势头强劲、风声水起的几款编辑器。于是有此文。
由于 Kanabiner 在 macOS 的最新版本 Seirra 下失效。请考虑 Karabiner-Elements
我们都知道macOS在系统中除了传统的箭头上下左右键(Arrow)以外,还集成了一套类似于Emacs中的光标移动方式,即
- C-f forward
- C-b back
- C-n next
- C-p previous
这也是我从一开始使用Mac就习惯使用的移动方式。 然而自从Join了Vim党,我的习惯中又多了一套Vim的移动方式,即hjkl分别对应左下上右。虽说两套系统迥异(暗示着Vim党和Emacs党不可调和的矛盾),但是并没有按键冲突(说明在现实生活中也是可以 vim ~/.emacs
的嘛)。然而比较关键的是,由于快捷键冲突,macOS这一套理论在有些软件(形如Office套件,chrome浏览器的某些地方,等等)是不能用的。而且macOS里没有Vim的那一套理论。这是我长久以来的心病,也是今天写下这篇文章的原因。
希望本是无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。
没有的东西我们自己hack一个不就得了 Karabiner是macOS下更强大的KeyMap软件(Free software),它的界面形如这样 作为一个有梦想的Geek,我并不太想去研究它给好的默认选项(其实也大概看过,都是一些比较常用的设置,估计也足以满足大部分人要求),毕竟它是一个支持编程的软件
在上面这个菜单中找到Open private.xml这个选项,点击即可打开个人设置的xml文件了 参考官方文档我们可以写出以下代码来添加我们需要的vim模式
<item>
<name>add 3 func</name>
<identifier>private.add_3_func</identifier>
<autogen>__KeyToKey__
KeyCode::J, ModifierFlag::CONTROL_L,
KeyCode::CURSOR_DOWN
</autogen>
<autogen>__KeyToKey__
KeyCode::K, ModifierFlag::CONTROL_L,
KeyCode::CURSOR_UP
</autogen>
<autogen>__KeyToKey__
KeyCode::H, ModifierFlag::CONTROL_L,
KeyCode::CURSOR_LEFT
</autogen>
<autogen>__KeyToKey__
KeyCode::L, ModifierFlag::CONTROL_L,
KeyCode::CURSOR_RIGHT
</autogen>
</item>
这里我选择了左边的CONTROL键作为prefix,注意如果你要其他的前缀按键,你需要参考这里,里面如果没有的话你要自己添加以后才能使用。具体的按键叫什么,可以用它自己的工具查看: 此外我还顺便设置了一下键盘连击(key repeat)的反应时间
以前要等上1s才能连击,还是比较不爽的。 好了,接下去就看能不能习惯了
为了世界和平