notes/Set up development environment on windows
恰好前几天买了个新笔记本, 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的更多相关文章
- 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 ...
- 1.3 PROGRAM DEVELOPMENT ENVIRONMENT
1.3 PROGRAM DEVELOPMENT ENVIRONMENT 1.4 WIN32 EXECUTEABLE FILE FORMAT We should also know that compl ...
- The Google Test and Development Environment (持续更新)
最近Google Testing Blog上开始连载The Google Test and Development Environment(Google的测试和开发环境),因为blogspot被墙,我 ...
- 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 ...
- 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- ...
- 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 北京海淀区 ...
- 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 ...
- storm环境搭建(前言)—— 翻译 Setting Up a Development Environment
Setting Up a Development Environment 搭建storm开发环境所需步骤: Download a Storm release , unpack it, and put ...
- Storm(1) - Setting Up Development Environment
Setting up your development environment 1. download j2se 6 SDK from http://www.oracle.com/technetwor ...
随机推荐
- linq 分组求和
static void Main() { DataTable dt = new DataTable(); dt.Columns.Add( ...
- 搭建一个三台服务器的Memcached集群
关于memcached的基础知识可以查看博客其他博文,这里只记录了搭建的过程,谢谢! 1.分别在三台服务器上安装Memcached并启动 第一.由于memcached是基于libevent的事件处理, ...
- ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
原文:ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model ...
- server正式的环境性能测试nginx-php 指着寻求突破的表现
因为我是第三级城市语言.无法接触到更牛接触逼公司或环境.这是你母亲的现场环境摸过几次.截至完毕,测试已设法提高空间. 公司须要的站点执行环境.不能由于我这边的瓶颈而阻碍了公司进行,希望各位大能能不吝惜 ...
- 对web.config的ConnectionString加密
原文:对web.config的ConnectionString加密 本文参考了wayshan的博客,原文地址:http://www.cnblogs.com/wayshan/archive/2012/0 ...
- JQuery在Ajax的Post提交中国乱码的解决方案
介绍: 在JQuery的Ajax POST要求,一个要求.中国的背景之中,乱码,如何解决呢? 问题简介: var regid = $('#oregion').combobox('getValue'); ...
- HTML5表单提示placeholder属性兼容IE
placeholder 属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. 注释:placeholder 属性适用于以下的 <inpu ...
- 值为NULL的对象指针
相信大家对NULL不会很陌生,NULL 是一个标准规定的宏定义,用来表示空指针常量,当一个指针变量被赋值为NULL时,表示它不再指向任何有效地址,无法在访问任何数据.在VS2012库文件stdio.h ...
- PHP中将内容循环出来
首先连接数据库: $myDate= @mysql_connect("localhost","root","") or die("数 ...
- 微软 PowerShell Script Explorer
微软 PowerShell Script Explorer 满血复活,正式发布 一年前的今天,微软在其Windows PowerShell官方博客声明中止 ‘Script Explorer’ 应用程序 ...