汉辰攻略

The palest ink is better than the best memory.

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  8 Posts :: 1 Stories :: 3 Comments :: 0 Trackbacks

2008年7月11日 #

  • C-j: Insert a new line with the same indentation level as the current line
  • RET: Insert a new line with the same indentation level as the current line
  • C-M-a: Go to the beginning of the current function or class
  • C-M-e: Go to the end of the current function or class
  • C-M-h: Mark the current function or class for copying, etc.
  • C-M-x: Execute the current function or class
  • C-c C-b: Submit a bug report
  • C-c C-c: Execute the buffer (i.e., the file being displayed)
  • C-c C-d: Trace the stack of the process being executed
  • C-c C-h: Get context-based help
  • C-c TAB: Indent a highlighted (or marked) region
  • C-c C-k: Mark a block of text. Using this at the head of a class or function definition will mark the entire block.
  • C-c C-l: Shift the region to the left. If the cursor is in the middle of a region, the lower half of the region will shift.
  • C-c RET: Execute the current file, opening a new window to show the output.
  • C-c C-n: Jump to the next statement.
  • C-c C-p: Jump to the previous statement.
  • C-c C-r: Shift the region to the right. If the cursor is in the middle of a region, the lower half of the region will shift.
  • C-c C-s: Execute a Python command.
  • C-c C-t: Toggle shells
  • C-c C-u: Go up one block
  • C-c C-v: List the version of the Python mode
  • C-c C-w: Run PyChecker
  • C-c !: Open the Python interactive shell
  • C-c #: Comment the highlighted (marked) region
  • C-c :: Check the indentation off-set
  • C-c <: Shift the region to the left
  • C-c >: Shift the region to the right
  • C-c ?: Show Python mode documentation
  • C-c |: Execute the highlighted (marked) part of the current program.
  • posted @ 2008-11-12 14:11 汉辰 阅读(1065) | 评论 (0)编辑 收藏

    --XX:+DoEscapeAnalysis, off by default
    如果一个对象的所有引用都是限于某一局部范围,去掉对象上的锁
    --XX:+UseBiasedLocking, on by default
    对多次取锁的操作,比如循环,不释放Lease即使锁已被释放,避免费时的取Lease操作 (最有效)
    --XX:+EliminateLocks, on by default
    如果一段代码经常性的加锁和解锁,在解锁与下次加锁之间又没干什么事情,则可以将多次加加锁解锁操作合并成一对。也称为Lock Coarsening (锁粗化)

    http://www.infoq.com/articles/java-threading-optimizations-p1
    posted @ 2008-10-30 15:33 汉辰 阅读(668) | 评论 (0)编辑 收藏

    python 有str object 和 unicode object 两种字符串, 都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode 和decode。

    encode 和 decode在pyhton 中的意义可表示为

                                                                      encode
                                                  unicode -------------------------> str
                                                  unicode <--------------------------str
                                                                      decode
    几种常用法:
    str_string.decode('codec') 是把str_string转换为unicode_string, codec是源str_string的编码方式
    unicode_string.encode('codec') 是把unicode_string 转换为str_string,codec是目标str_string的编码方式
    str_string.decode('from_codec').encode('to_codec') 可实现不同编码的str_string之间的转换
    比如:

    >>> t='长城'
    >>> t
    '\xb3\xa4\xb3\xc7'
    >>> t.decode('gb2312').encode('utf-8')
    '\xe9\x95\xbf\xe5\x9f\x8e'

    str_string.encode('codec') 是先调用系统的缺省codec去把str_string转换为unicode_string,然后用encode的参数codec去转换为最终的str_string. 相当于str_string.decode('sys_codec').encode('codec')。

    unicode_string.decode('codec') 基本没有意义,unicode 在python里只用一种unicode编码,UTF16或者UTF32(编译python时就已经确定),没有编码转换的需要。 

    注:缺省codec在site-packages下的sitecustomize.py文件中指定,比如

    import sys
    sys.setdefaultencoding(
    'utf-8')



     

    posted @ 2008-09-09 15:49 汉辰 阅读(13131) | 评论 (1)编辑 收藏

    慕名Emacs是很久的事了,上个周末Google了一天终于把它在Windows下的中文化问题初步解决了。

    网上讲述Emacs中文问题的帖子很多,不过很多是过时的或不完整的,并以Linux下居多。很多.emacs设置看起来发生了作用,但是在我的机器上不是显示方块,就是半个中文字符。前者怀疑未配置好Emacs使其无法读取系统字体,后者怀疑字符宽度设置还有问题,苦于无暇深究。

    最后找到一篇Emacs 中文化指南[http://17xie.com/read-103809.html],讲述了在Windows下使用了X11的BDF字体配置Emacs的过程,下载安装了intlfont,改了相应的emacs设置,Bingo!!!,一试就通。不过字库还是GB2312的,想把Mule-GBK 和BDF 字体配置在一起,未成功。

    贴张图庆贺一下
    posted @ 2008-07-28 13:47 汉辰 阅读(934) | 评论 (0)编辑 收藏

    EMacs常用命令集:
    C-x C-s        当前文件存盘
    C-x s        所有文件存盘,根据提示确认是否保存指定文件
    C-x C-b        列出缓存
    C-x C-f        查找文件,如果不存在则新建,如果已打开则切换为当前文件
    C-x 数字        关闭其它窗,只显示当前主窗体。也可以输入其它数打开多窗
    C-x o        切换到另一个打开的窗
    C-z        临时退出,在X中相当于最小化,在Console中可以用"fg"或者"%emacs"返回。
    C-x C-c        退出
    C-u 数字        前缀参数,常用于重复执行命令,如插入8个*符:C-u 8 *
    M-x recover 文件名<回车>         恢复文件到上次自动保存的状态,常用于系统崩溃时
    C-h m        当前模式的说明文档,每种模式都略有些许不同
    C-h i        常用shell命令的说明文档

    常用移动命令:
    C-v        向下翻页
    C-M-v        另一窗向下翻页
    M-v        向上翻页
    C-l        移动到光标位置
    M- <-        移到文首
    M- ->        移到文尾
    C-a        移到行首        M-a        移到句首
    C-e        移到行尾        M-e        移到句尾
    C-p        上移一行
    C-n        下移一行
    C-b        左移一位        M-b        左移一字
    C-f        右移一位        M-f        右移一字
    常用编辑命令:
    C-k        删除到当前行尾
    M-k        删除到当前句尾
    C-g        中断执行
    C-w       Cut marked region
    A-w       Copy marked region
    C-y        取回所有删除的行,默认显示最后删除的行
    M-y        C-y取回所有删除的行之后,切换显示之前删除的行
    C-x C-x  Mark the region from the current cursor to last mark point, 可以方便的重复Mark
    C-x h      Mark the whole buffer
    C-x u        撤消
    C-x C-a C-l Revert a buffer
    g                刷新Dired mode buffer

    常用查找命令:
    C-s        向前查找
    C-r        向后查找
    M-g M-g Goto a line

    进入Hex mode      M-x hexl-mode ,C-c C-c 退出

    换行:

    不嫌烦的,每次M-x toggle-truncate-lines切换换行与不换行
    一劳永逸的,M-x customize-option,输入truncate-partial-width-windows,将出来的设置页面中的参数改为off,然后保存(Save for future sessions)
    另外说一句,M-x auto-fill-mode也是切换换行模式,不过这是要在文章内容里插入回车符号

    posted @ 2008-07-11 22:16 汉辰 阅读(415) | 评论 (0)编辑 收藏