恰好前几天买了个新笔记本, 15存 sony vaio, 终于从mac回到了windows。 不过作为(曾经的)*nix追随者, 没有bash真是寸步难行, 幸好windows8.x有了super search, 否则的话在一对按钮里点来点去还真没辙……

  • Dvorak layout

首先就是dvorak的设定, mac上倒是可以很简单的从preference-language里设置, windows下没有给非英文输入法提供简单的配置方式。不过倒不像我用windows之前想的不可能。

windows提供了各种layout, 但不知为什么却一直不拿到外面来, 对于ms自带的中文输入法, 打开注册表(regedit)找到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804

将layout file改为kbddv.dll即可。 其他语言类似。

实际上, 对我来说, 只要有了dvorak的原生支持, 到底用哪个系统差别没那么大……

  • Switch esc/capslock and alt/ctrl

我一直对windows的快捷键十分不满, 为什么要用alt+f4作为关闭, 为什么不是ctrl+q, 因为用惯了mac, 感觉上拇指按功能键比小指舒服得多, 因此还是交换一下比较舒服。

方法也有, 我在用SharpKeys, 也是通过修改注册表, 不需要常驻, 对有强迫症的人来说是好消息。

  • Bash/Conemu

至少我没有bash就没法干活, cygwin可能是为数不多的选择, mingw官方只有32bit版, 64bit的mingw和cygwin是整合的。 装好之后可以看一下bash的版本, 我曾经遇到过bash是3.x的情况。版本比较低的时候可以自行编译(详细参考gnu bash的相关网页)。 可能最常见的问题是pwd.h missing, 似乎是特定版本的cygwin里没有这个头文件, 我曾经在某些版本下变异时没有这个问题。

同时, 装好之后会发现cygwin自带的命令行模拟器不太好用。 既不漂亮也没太多功能, 我强烈建议使用conemu代替它。 conemu的设置很全, 对utf8也非常友好, 在startup里面配置启动命令行后可以快速打开bash/powershell/cmd(虽然我不用后两个)。值得一试。

至于剩下的, vim配置一类, 大概每个人喜好不同, 也没法多说。 值得注意的一个问题是.vimrc里如果有大量按键映射(超过20个?)时, 回导致操作时按键有lag。 因此希望在vim里使用qwert时全部映射也不是个好办法。

  • CodeWriter/Sublimetxt

codewriter是为数不多的metro风格的代码编辑器, 可惜支持的语言较少, 也没有vim mode。 只有偶尔看代码时可以用到, 大概跟我在mac下买的textastic似乎一个用途。 sublime的表现倒是很好, 只是不知会不会有metro版。 现在st3已经对公众开放了, metro也没提上日程。

  • coff and elf

这个是目前我最不爽的地方。 很多编译器没法选择目标代码的格式, 而cygwin下的ld似乎没法处理obj文件, 这对于一直用ld和gcc的人来说非常痛苦。 虽说有不少迂回方法(比如使用给予llvm的编译器), 对于有强迫症的人来说还是加入新的编译选项比较靠谱。(mach-o虽然也是独此一家, 但毕竟ld支持)

顺便, 我压根不会用ms自家的linker, 也不会用dmLib, 什么时候世界上能够只有elf, 大概我们就实现共产主义了。

notes/Set up development environment on windows的更多相关文章

  1. How to enable C development in a Windows 10 development environment VM

    To enable C development in a Windows 10 development environment VM, follow these steps: Start VS in ...

  2. 1.3 PROGRAM DEVELOPMENT ENVIRONMENT

    1.3 PROGRAM DEVELOPMENT ENVIRONMENT 1.4 WIN32 EXECUTEABLE FILE FORMAT We should also know that compl ...

  3. The Google Test and Development Environment (持续更新)

    最近Google Testing Blog上开始连载The Google Test and Development Environment(Google的测试和开发环境),因为blogspot被墙,我 ...

  4. How to set up Dynamics CRM 2011 development environment

    Recently I have been starting to learn Microsoft Dynamics CRM 2011 about implement plugin and workfl ...

  5. Create A .NET Core Development Environment Using Visual Studio Code

    https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio- ...

  6. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  7. Programming in Go (Golang) – Setting up a Mac OS X Development Environment

    http://www.distilnetworks.com/setup-go-golang-ide-for-mac-os-x/#.V1Byrf50yM8 Programming in Go (Gola ...

  8. storm环境搭建(前言)—— 翻译 Setting Up a Development Environment

    Setting Up a Development Environment 搭建storm开发环境所需步骤: Download a Storm release , unpack it, and put ...

  9. Storm(1) - Setting Up Development Environment

    Setting up your development environment 1. download j2se 6 SDK from http://www.oracle.com/technetwor ...

随机推荐

  1. linq 分组求和

    static void Main()         {             DataTable dt = new DataTable();             dt.Columns.Add( ...

  2. 搭建一个三台服务器的Memcached集群

    关于memcached的基础知识可以查看博客其他博文,这里只记录了搭建的过程,谢谢! 1.分别在三台服务器上安装Memcached并启动 第一.由于memcached是基于libevent的事件处理, ...

  3. ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上

    原文:ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model ...

  4. server正式的环境性能测试nginx-php 指着寻求突破的表现

    因为我是第三级城市语言.无法接触到更牛接触逼公司或环境.这是你母亲的现场环境摸过几次.截至完毕,测试已设法提高空间. 公司须要的站点执行环境.不能由于我这边的瓶颈而阻碍了公司进行,希望各位大能能不吝惜 ...

  5. 对web.config的ConnectionString加密

    原文:对web.config的ConnectionString加密 本文参考了wayshan的博客,原文地址:http://www.cnblogs.com/wayshan/archive/2012/0 ...

  6. JQuery在Ajax的Post提交中国乱码的解决方案

    介绍: 在JQuery的Ajax POST要求,一个要求.中国的背景之中,乱码,如何解决呢? 问题简介: var regid = $('#oregion').combobox('getValue'); ...

  7. HTML5表单提示placeholder属性兼容IE

    placeholder 属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. 注释:placeholder 属性适用于以下的 <inpu ...

  8. 值为NULL的对象指针

    相信大家对NULL不会很陌生,NULL 是一个标准规定的宏定义,用来表示空指针常量,当一个指针变量被赋值为NULL时,表示它不再指向任何有效地址,无法在访问任何数据.在VS2012库文件stdio.h ...

  9. PHP中将内容循环出来

    首先连接数据库: $myDate= @mysql_connect("localhost","root","") or die("数 ...

  10. 微软 PowerShell Script Explorer

    微软 PowerShell Script Explorer 满血复活,正式发布 一年前的今天,微软在其Windows PowerShell官方博客声明中止 ‘Script Explorer’ 应用程序 ...