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 ...
随机推荐
- python tcp socket 多线程
不多说,直接上代码 client.py #!/usr/bin/python import socket,sys,string host="localhost" port=8000 ...
- 多线程学习之BlockingQueue
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列 类,为我们快速搭建高质量的多线程程序带来极大的 ...
- PHP 16: MySql的数据库访问
原文:PHP 16: MySql的数据库访问 本章介绍PHP访问MySql的方法.如果你对MySQL不是很清晰,可以参看PHP 17: MySQL的简单介绍.对于数据库的操作,无非就是以下几个点: 如 ...
- 快速构建Windows 8风格应用2-创建调试应用
原文:快速构建Windows 8风格应用2-创建调试应用 本篇博文主要介绍的是创建应用时可以选择哪些模版,生成默认的Windows 8风格应用解决方案中含哪些文件,最后是如何调试Windows 8风格 ...
- 开源的.Net ORM微型框架SuperHelper
SuperHelper——灵活通用的.开源的.Net ORM微型框架 SuperHelper是博主利用业余时间编写的一个ORM微型框架,除了可以提高开发效率,与其它ORM框架相比,博主更加喜欢Supe ...
- Spring之SpringMVC(源码)启动初始化过程分析
1.说明 SpringMVC作为Spring提供的MVC实现,可以实现与Spring的天然无缝联合,因为具有很广泛的用途.具体的关于SpringMVC的处理流程逻辑我在这里就不在赘述了.还是来通过源码 ...
- 使用rem设计移动端自适应页面三(转载)
使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...
- 反射导出excel案例
1.代码案例: protected void btnExportExcel_Click(object sender, EventArgs e) { SetSearchValue(); Dictiona ...
- uva 10054 The Necklace(欧拉回路)
The Necklace My little sister had a beautiful necklace made of colorful beads. Two successive beads ...
- 使用UpdatePanel控件
使用UpdatePanel控件(二) UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编 ...