vim的tabstop

vim有几个关于tab和space的option让我迷惑了一阵子,查手册tabstop是一个tab几个space,softtabstop是当编辑的时候一个tab表现为几个space,shiftwidth是缩进的时候用几个space。怎么设置才合适呢?

官方给了4个方案.

  1. 保持tabstop是8,把softtabstopshiftwidth设置成4,再加上noexpandtab,这样呢vim就会把space和tab给混用,但是呈现的时候是4个space。
  2. tabstop,shiftwidth设置成同一个值,加上expandtab,这样就会只用space,而不用tab了,这样不管tabstop怎么变样式也不会花了。
  3. modeline的方式把tabstopshiftwidth的设置放在文件里,无论怎样编辑样式都不会花了。
  4. 永远保持tabstopshiftwidth是同一个值,再加上noexpandtab

介于Py3k的Style Changes

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab

这样设置应该是比较和谐了。

关于DNS Cache Flush

目前大多数的操作系统都有一个DNS Cache,在调整DNS或是测试的时候可能会清理Cache记录一下各个操作系统清理DNS Cache的方法

  • Mac OS X 10.4 Tiger
lookupd -flushcache
  • Mac OS X 10.5 Leopard
dscacheutil -flushcache
  • Windows
ipconfig /flushdns
  • Linux
/etc/init.d/nscd restart

询问delphijFreeBSD有没有一个DNS Cache,答曰”有”,就是ncsd。但是默认这个服务是没有开的,也就是没有Cache。

Mac OS X中改变文件默认打开程序

上一次想改变某个文件的打开方式,怎也找不到一个可以改的地方,这时就在想”不会呀,Windows都能让用户改,Mac怎么不能呢。”,最后找到了RCDefaultApp,虽然方法很土,但也算差强人意吧。直到昨天看到了Quick Tips,改的地方其实就在文件info(Command + I)里的Open With处,选好了点一下Change All就搞定了。这时再想想,觉的Windows还是那么的土鳖。

Expect登陆没有公钥的服务器

公司有几台服务器总是不能把自己的ssh-pubkey放上去,每一次输入那一长串的东东实在是无法忍受。看了一下expect像样的文档没有一个,倒是有一堆的例子,学习下,放在这里备忘吧。

#!/usr/bin/env expect
set timeout -1 #设置超时的时间,单位是秒,-1是永不超时
set password ****  #设置变量
set host [lindex $argv 0] #设置一个变量是从命令行参数得到
spawn ssh guixing@$host #来来来,下个蛋
expect "assword:" #等的就是它了
send -- "$password\r" #发出去
interact #剩下的就是自己的了

csh的prompt设置

在FreeBSD下,csh默認的提示行是#,是不是東西太少了?我們一般習慣這樣root@Gawain[~]# 怎樣呢??
在/etc/profile或是~/.profile中加入PS1='\u@\h[\w]\$'就會變成習慣的哪樣了。

  • \u 顯示使用者帳號
  • \h顯示系統的hostname(機器名)
  • \w 完整路徑
  • \$以#表示root,以$表示一般使用者

設定完了要 重新登錄方能生效,只要source ~/.cshrc一下就好。