PHP 版本更新至5.3.11 和 5.4.1
Php/Js/Shell/Go jackxiang 2012-4-27 00:00
4月26日,PHP开发团队发布了PHP 版本5.3.11 和 5.4.1,这些更新侧重于对现有的版本分支的bugs修正,还包括了一些和安全性相关的内容。
PHP 5.3.11 和PHP 5.4.1安全性增强包括:
Fixed bug #54374 (Insufficient validating of upload name leading to corrupted $_FILES indices). (CVE-2012-1172).
Add open_basedir checks to readline_write_history and readline_read_history.
仅针对5.3.11 版本的安全性提升:
Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831).
在这次的发布中还有如下的关键提升:
Added debug info handler to DOM objects.
Fixed bug #61172 (Add Apache 2.4 support).
需要看到一个完整的更新列表的话请到这里看 changelog,源码下载页面在这里;Windows版可以到这里下载。
来源:www.php.net
PHP 5.3.11 和PHP 5.4.1安全性增强包括:
Fixed bug #54374 (Insufficient validating of upload name leading to corrupted $_FILES indices). (CVE-2012-1172).
Add open_basedir checks to readline_write_history and readline_read_history.
仅针对5.3.11 版本的安全性提升:
Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831).
在这次的发布中还有如下的关键提升:
Added debug info handler to DOM objects.
Fixed bug #61172 (Add Apache 2.4 support).
需要看到一个完整的更新列表的话请到这里看 changelog,源码下载页面在这里;Windows版可以到这里下载。
来源:www.php.net
Linux密码生成的两种方法:密码生成器和Linux 下的密码生成工具pwgen
Unix/LinuxC技术 jackxiang 2012-4-26 21:58
法一:
1.安装expect
yum install expect
2.命令行使用
mkpasswd -l 32 -d 5 -C 5
以上命令生成一个32位的密码,至少包含5个数字和5个大写字母,这么强悍的密码,慢慢破解吧:)
3.编写脚本,批量生成30个密码
vi pass.sh
#!/bin/bash
i=1
echo "########Power by gaojinbo.com##########" >/tmp/passwd.txt
while [ $i -le 30 ];do
/usr/bin/mkpasswd -l 32 -d 5 -C 5 >>/tmp/passwd.txt
let i+=1
done
exit;
以上脚本将生成的密码放在/tmp/passwd.txt文件中
完成!
转自:http://gaojinbo.com
法二:
1) 工具说明
Linux下的密码生成工具.
2) 下载安装
下载: http://sourceforge.net/projects/pwgen/
安装:
# mkdir -p /orahome/wangnc/pwgen
# cd /orahome/wangnc/pwgen
# rz (上传安装包pwgen-2.06.tar.gz)
# tar zxvf pwgen-2.06.tar.gz && cd pwgen-2.06
# ./configure && make && make install
...
mkdir -p /usr/local/bin /usr/local/man/man1
/usr/bin/install -c pwgen /usr/local/bin/pwgen
/usr/bin/install -c -m 644 ./pwgen.1 /usr/local/man/man1/pwgen.1
以上来自:http://www.net527.cn/a/caozuoxitong/Linux/9545.html
Linux密码生成器:参考一下,http://www.examw.com/linux/all/120674/index.html
1.安装expect
yum install expect
2.命令行使用
mkpasswd -l 32 -d 5 -C 5
以上命令生成一个32位的密码,至少包含5个数字和5个大写字母,这么强悍的密码,慢慢破解吧:)
3.编写脚本,批量生成30个密码
vi pass.sh
#!/bin/bash
i=1
echo "########Power by gaojinbo.com##########" >/tmp/passwd.txt
while [ $i -le 30 ];do
/usr/bin/mkpasswd -l 32 -d 5 -C 5 >>/tmp/passwd.txt
let i+=1
done
exit;
以上脚本将生成的密码放在/tmp/passwd.txt文件中
完成!
转自:http://gaojinbo.com
法二:
1) 工具说明
Linux下的密码生成工具.
2) 下载安装
下载: http://sourceforge.net/projects/pwgen/
安装:
# mkdir -p /orahome/wangnc/pwgen
# cd /orahome/wangnc/pwgen
# rz (上传安装包pwgen-2.06.tar.gz)
# tar zxvf pwgen-2.06.tar.gz && cd pwgen-2.06
# ./configure && make && make install
...
mkdir -p /usr/local/bin /usr/local/man/man1
/usr/bin/install -c pwgen /usr/local/bin/pwgen
/usr/bin/install -c -m 644 ./pwgen.1 /usr/local/man/man1/pwgen.1
以上来自:http://www.net527.cn/a/caozuoxitong/Linux/9545.html
Linux密码生成器:参考一下,http://www.examw.com/linux/all/120674/index.html
-.Do thw right things right.
--.Get job down thought people.(穿过,透过人)
---.One add one above two.(激励绩效)
From:
http://chuangye.umiwi.com/2010/0415/8097.shtml
--.Get job down thought people.(穿过,透过人)
---.One add one above two.(激励绩效)
From:
http://chuangye.umiwi.com/2010/0415/8097.shtml
http://www.tianya.cn/publicforum/content/free/1/1212920.shtml
http://hxyl.net/2011/07/29/xia-qi/
http://www.douban.com/group/topic/21105962/
http://hlj.rednet.cn/c/2011/12/05/2451175.htm
阅读全文
http://hxyl.net/2011/07/29/xia-qi/
http://www.douban.com/group/topic/21105962/
http://hlj.rednet.cn/c/2011/12/05/2451175.htm

openssl存在严重的远程溢出漏洞(CVE-2012-2110),攻击者成功利用此漏洞可以直接远程溢出服务器,执行任意代码.
OpenSSL是一种开放源码的SSL实现,用来实现网络通信的高强度加密,现在被广泛地用于各种网络应用程序中。
OpenSSL 0.9.8v之前版本,1.0.0i之前的1.0.0版本和1.0.1a之前的1.0.1版本中的asn1_d2i_read_bio函数中存在漏洞,该漏洞源于未正确解释整数数据。远程攻击者可利用该漏洞借助特制DER数据导致缓冲区溢出攻击,拒绝服务(内存破坏)或造成其他未明影响。此漏洞已被X.509证书或RSA公钥证实。
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-201204-427
OpenSSL是一种开放源码的SSL实现,用来实现网络通信的高强度加密,现在被广泛地用于各种网络应用程序中。
OpenSSL 0.9.8v之前版本,1.0.0i之前的1.0.0版本和1.0.1a之前的1.0.1版本中的asn1_d2i_read_bio函数中存在漏洞,该漏洞源于未正确解释整数数据。远程攻击者可利用该漏洞借助特制DER数据导致缓冲区溢出攻击,拒绝服务(内存破坏)或造成其他未明影响。此漏洞已被X.509证书或RSA公钥证实。
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-201204-427
那些年:有人说恋爱最美的时期,就是暧昧不清的阶段。“如此深情,却难以启齿。原来你若真爱一个人,内心酸涩,反而会说不出话来。甜言蜜语,多数说给不相干的人听。”那些年深深爱过的女孩,那些年深深受过的伤害,那些年拥有过最美好的回忆,那些年的胆怯和不自信… …有些遗憾,将一辈子疼在心底。
阅读全文

分享平时工作中那些给力的shell命令
Php/Js/Shell/Go jackxiang 2012-4-21 15:11
[实践OK]如何使linux系统下的root用户不保存终端历史记录到.bash_history中?
Unix/LinuxC技术 jackxiang 2012-4-16 22:40
实践OK:
————————————————
1)history -c //是把Linux下的/root/.bash_history 全给清了,实现不保存,作为黑客是不地道的。
再从其他终端倒腾回去:
history |awk -F" " '{if(NR>0){$1="";print $0}}'|grep -v "multepollserver" > /root/.bash_history
2)不留痕迹的办法,把指向给修改到/dev/null下:
[root@localhost ~]# echo $HISTFILE
/root/.bash_history
[root@localhost ~]# HISTFILE=/dev/null
[root@localhost ~]# echo $HISTFILE
/dev/null
[root@test ~]# vi /root/.bash_history
对前面的:history |awk -F" " '{print $3}' > /root/.bash_history 删除,退出即可。
请教一个关于linux下不保存命令历史记录的问题,不需要在任何文件中设置:
ssh 登陆之后,在命令行下运行
set HISTIGNORE=*
或者
export HISTIGNORE=*
以后的命令就不会被保存了。
用 history -c 清空历史命令.
在.bashrc的最后行追加
unset HISTFILE
这样做终端历史记录还是保存到了.bash_history文件中,只是新打开的终端不能直接用上键调用而已,用"cat .bash_history"仍能查看历史记录
cat .bash_history 看到的历史记录是 unset HISTFILE 之前保留的命令.
unset HISTFILE 之后的命令并没有保留.
用 history -c 清空历史命令.
阅读全文
————————————————
1)history -c //是把Linux下的/root/.bash_history 全给清了,实现不保存,作为黑客是不地道的。
再从其他终端倒腾回去:
history |awk -F" " '{if(NR>0){$1="";print $0}}'|grep -v "multepollserver" > /root/.bash_history
2)不留痕迹的办法,把指向给修改到/dev/null下:
[root@localhost ~]# echo $HISTFILE
/root/.bash_history
[root@localhost ~]# HISTFILE=/dev/null
[root@localhost ~]# echo $HISTFILE
/dev/null
[root@test ~]# vi /root/.bash_history
对前面的:history |awk -F" " '{print $3}' > /root/.bash_history 删除,退出即可。
请教一个关于linux下不保存命令历史记录的问题,不需要在任何文件中设置:
ssh 登陆之后,在命令行下运行
set HISTIGNORE=*
或者
export HISTIGNORE=*
以后的命令就不会被保存了。
用 history -c 清空历史命令.
在.bashrc的最后行追加
unset HISTFILE
这样做终端历史记录还是保存到了.bash_history文件中,只是新打开的终端不能直接用上键调用而已,用"cat .bash_history"仍能查看历史记录
cat .bash_history 看到的历史记录是 unset HISTFILE 之前保留的命令.
unset HISTFILE 之后的命令并没有保留.
用 history -c 清空历史命令.

Cherokee 号称是目前最快的 Web 服务器软件,在性能上,甚至比 Nginx 还略胜一筹。与 Apache、Lighttpd、Nginx 等其他同类软件的对比,大家不妨看看这个测试页面(好像访问不了了)。但其易用性做得确实也很不错。PHP相关的配置如此URL:http://www.cherokee-project.com/doc/cookbook_php.html
有兄弟在博客定下了详细的配置方法:http://down.chinaz.com/server/201111/1380_1.htm
阅读全文
有兄弟在博客定下了详细的配置方法:http://down.chinaz.com/server/201111/1380_1.htm

Zend studio 9.0.4成功汉化Url:http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/
其实本方法是加载Zend官方的一些字体包程序,由于最新版本没有完整和字体包,汉化完后有部分菜单显示为英文,但大多都可看懂了。对于ZendStudio9.0.x的所有版本都适用 汉化包地址:http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/ 汉化方法: 打开ZendStudio9.0.X,点击菜单“Help->Install new software…”,如下图。 在弹出窗口中输入地址http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/ ,如果网速较慢,需要等十到二十秒左右,出现如下所示的 选中如上图的两行,Simplified为简体中文,Traditional为繁体中文,如果你不需要繁体可以不用安装。然后一路下一步直到完成即可 再附上一个牛人的ZendStudio破解的博客:http://www.geekso.com/category/ZendStudio/,这里专门破解各种ZendStudio
以上网址成功汉化实践Ok,很多其它博客提供的都不太靠谱,所以做下记录。
------------------------------------------------------------------------------------------------------------------------------
Aptana3.0汉化Url成功备案:
http://download.eclipse.org/technology/babel/update-site/R0.10.1/helios
------------------------------------------------------------------------------------------------------------------------------
zend studio 10汉化Url:(刚出来的最新版)
http://archive.eclipse.org/technology/babel/update-site/R0.10.0/helios/
------------------------------------------------------------------------------------------------------------------------------
背景:
近来看网上说是可以把zend studio 9.0.2和Aptana3给整合了,于是否,给整合了,也设置了Html编辑器啊,Js啊由Aptana3这个插件来完成,但打开时发现TMD没有GBK编码,我们的项目是GB2312,于是查了下网上,有:使Aptana支持GBK中文编码
如何使Aptana支持gbk编码?
Aptana是开源的编辑工具,对js、xml、css、dom等都有较好支持。但其默认不支持GBK编码。
可通过如下操作使之支持GBK编码:
网上搜索并下载以下文件:charset.jar ...我一看我的zend studio9.0.2里的jre下面有这个charset.jar文件。
--------------------------------------------------------------------------------------------------------------------------------------------
呵呵,于是自己研究了一下,发现这样可以,于是记录下来,如下:
缘起:
用zend studio 9.0.2 打开一个项目,发现项目的文件是用GB2312编码的,因为我的zend studio8默认编码是UTF-8,这样打开的文件中文文字肯定是会乱码的。
搞定:
在项目上右键-->properties-->选择Resource 后 左边出现了如下图:
阅读全文
其实本方法是加载Zend官方的一些字体包程序,由于最新版本没有完整和字体包,汉化完后有部分菜单显示为英文,但大多都可看懂了。对于ZendStudio9.0.x的所有版本都适用 汉化包地址:http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/ 汉化方法: 打开ZendStudio9.0.X,点击菜单“Help->Install new software…”,如下图。 在弹出窗口中输入地址http://archive.eclipse.org/technology/babel/update-site/R0.9.1/helios/ ,如果网速较慢,需要等十到二十秒左右,出现如下所示的 选中如上图的两行,Simplified为简体中文,Traditional为繁体中文,如果你不需要繁体可以不用安装。然后一路下一步直到完成即可 再附上一个牛人的ZendStudio破解的博客:http://www.geekso.com/category/ZendStudio/,这里专门破解各种ZendStudio
以上网址成功汉化实践Ok,很多其它博客提供的都不太靠谱,所以做下记录。
------------------------------------------------------------------------------------------------------------------------------
Aptana3.0汉化Url成功备案:
http://download.eclipse.org/technology/babel/update-site/R0.10.1/helios
------------------------------------------------------------------------------------------------------------------------------
zend studio 10汉化Url:(刚出来的最新版)
http://archive.eclipse.org/technology/babel/update-site/R0.10.0/helios/
------------------------------------------------------------------------------------------------------------------------------
背景:
近来看网上说是可以把zend studio 9.0.2和Aptana3给整合了,于是否,给整合了,也设置了Html编辑器啊,Js啊由Aptana3这个插件来完成,但打开时发现TMD没有GBK编码,我们的项目是GB2312,于是查了下网上,有:使Aptana支持GBK中文编码
如何使Aptana支持gbk编码?
Aptana是开源的编辑工具,对js、xml、css、dom等都有较好支持。但其默认不支持GBK编码。
可通过如下操作使之支持GBK编码:
网上搜索并下载以下文件:charset.jar ...我一看我的zend studio9.0.2里的jre下面有这个charset.jar文件。
--------------------------------------------------------------------------------------------------------------------------------------------
呵呵,于是自己研究了一下,发现这样可以,于是记录下来,如下:
缘起:
用zend studio 9.0.2 打开一个项目,发现项目的文件是用GB2312编码的,因为我的zend studio8默认编码是UTF-8,这样打开的文件中文文字肯定是会乱码的。
搞定:
在项目上右键-->properties-->选择Resource 后 左边出现了如下图:

SecureCRT调整为护眼绿色背景的方法
Unix/LinuxC技术 jackxiang 2012-4-13 09:17
Global Options =>Terminal NSI Color
护眼绿色:
把“色调”的参数设置为85,
把“饱和度”参数设置为90,
把“亮度”参数设置为205
护眼绿色:
把“色调”的参数设置为85,
把“饱和度”参数设置为90,
把“亮度”参数设置为205
javascript中如何确定undefine。
Php/Js/Shell/Go jackxiang 2012-4-12 17:01
一个问题,怎样在js中判断一个对象是null还是undefined,我总结了一下,对于undefined推荐使用===(注意是三个等号,bt吧)或使用typeof,为什么呢?
先看一段Code
var obj;
alert(obj == null);
alert(obj == undefined);
结果是什么?true,true那obj到底是undefined呢还是defined呢?当然是defined的了,而且是null,显然通过==是区分不了的,那要将==替换为===呢?结果就是false,true,个中原因我就不说了,(偷一下懒 :-) ),那如何区分呢?应该使用===或者是typeof,用法?很简单:
if(typeof obj == "undefined")
if(obj === undefined)
实践Ok的代码片段:
先看一段Code
var obj;
alert(obj == null);
alert(obj == undefined);
结果是什么?true,true那obj到底是undefined呢还是defined呢?当然是defined的了,而且是null,显然通过==是区分不了的,那要将==替换为===呢?结果就是false,true,个中原因我就不说了,(偷一下懒 :-) ),那如何区分呢?应该使用===或者是typeof,用法?很简单:
if(typeof obj == "undefined")
if(obj === undefined)
实践Ok的代码片段:
[实践OK]vi行移动:vim上下移动一行或一段代码,vim回到最近修改位置的vim快捷键,回到倒数第二次修改的位置,vim一下知道所在行的函数名设置方法。在文件中快速查找光标处一样的单词。
Unix/LinuxC技术 jackxiang 2012-4-10 13:35
[vim]移动一行或一段代码 ,[Alt]+[j] 或[Alt]+[k] 可控制代码向上、向下移:
把上面代码放到vim的配置文件_vimrc: vi /root/.vimrc.
下面这段代码实现的效果是(secureCRT确实有问题):
在普通模式 或可视模式下选择一段代码,同时按[Alt]+[j] 或[Alt]+[k] 可控制代码向上、向下移。
注,下面这段代码是来自网络。。。,没实践。
有兄弟留言说Alt键有问题,用secureCRT确实有问题,后修改为Control+j,Control+k可控制代码向上、向下移:
在文件中快速查找光标处一样的单词:
把光标挪动到要在打开的文本里查找的单词上,后按:shift + 3,也就是#号即可。
—————————————vim一下知道所在行的函数名设置方法—————————————————————
在 .vimrc里添加:
按一下 f 键就能显示函数名字。
来自:http://blog.csdn.net/caspiansea/article/details/42570311
——————————————————————————————————————————————————————
键表 |key-notation|
<k0> - <k9> 小键盘 0 到 9 *keypad-0* *keypad-9*
<S-...> Shift+键 *shift* *<S-*
<C-...> Control+键 *control* *ctrl* *<C-*
<M-...> Alt+键 或 meta+键 *meta* *alt* *<M-*
<A-...> 同 <m-...> *<A-*
<t_xx> termcap 里的 "xx" 入口键
参考:
http://blog.csdn.net/riag/article/details/3469464
http://hi.baidu.com/drmingdrmer/item/5b9f5e354efbcbb8633aff0c
[实践OK]Vi注释多行的方法,附带整个代码缩进:
http://jackxiang.com/post/4298/
————————————————————————————————————————————————————————
有兄弟回复说没有用alt,在SecureCRT下这个alt好像确实是不能用的跑到文件(F)去了,不光是这个alt,还有ctrl:
http://blog.csdn.net/maojudong/article/details/6324757
SecureCRT突然假死的问题(Ctrl+S)
SecureCRT作为著名的SSH客户端,经常用于登陆远程服务器。在上面编辑文本,特别是用vi打开两个文本,并且需要切换时,很容易出现卡死的现象,不能接受任何的键盘输入。很是郁闷。以前每次遇到这个问题,我只有关掉那个session重新打开一个。这次又遇上,是在不能忍,试着解决一下。
仔细观察会发现,在vi下切换文本“ctrl+w+w”时,很容易输入成”ctrl+s”。随便拿一个session试试就发现,果然是ctrl+s在作怪。只要输入这个,就会卡死。搜索了一下,发现果然是有原因的:
CTRL-S and CTRL-Q are called flow-control characters. They represent an antiquated way of stopping and restarting the flow of output from one device to another (e.g., from the computer to your terminal) that was useful when the speed of such output was low. They are rather obsolete in these days of high-speed networks. In fact, under the latter conditions, CTRL-S and CTRL-Q are basically a nuisance. The only thing you really need to know about them is that if your screen output becomes “stuck,” then you may have hit CTRL-S by accident. Type CTRL-Q to restart the output; any keys you may have hit in between will then take effect.
CTRL-S and CTRL-Q are called flow-control characters. They represent an antiquated way of stopping and restarting the flow of output from one device to another (e.g., from the computer to your terminal) that was useful when the speed of such output was low. They are rather obsolete in these days of high-speed networks. In fact, under the latter conditions, CTRL-S and CTRL-Q are basically a nuisance. The only thing you really need to know about them is that if your screen output becomes “stuck,” then you may have hit CTRL-S by accident. Type CTRL-Q to restart the output; any keys you may have hit in between will then take effect.ctrl+s是一个古老的shell控制键,在输入ctrl+q就可以恢复了
【转自 http://xok.la/2009/09/securecrt_ctrl_s.html】
被这个问题困扰好几次了,CTRL+S,CTRL+Q,很好,以后就不需要重新开一个了。
————————————————————————————————————————————————————————
<转载>vim map nmap:
http://www.cnblogs.com/lq0729/archive/2011/12/24/2300189.html
1)回到最近修改的位置:
还有 %(跳转到与之匹配的括号处),`.(跳转到最近修改过的位置并定位编辑点),'.(跳转到最近修改过的位置但不定位编辑点)这三个命令也非常重要,在 Vi/Vim 中灵活使用会极大提高效率。% 除用于光标移动之后,还可用于检测源码中各种括号的匹配情况。
实践:tab键上面那个`加一个点,的确能跳转到最近修改的位置~ 再就是双引号这个键的单引号按一下,' 再点按点这个键盘,一样的效果感觉,但的确是相当好使,因为你在编码时还会在修改的同时会看其它部分的代码,但怎么快速回到最后修改的位置呢?该命令就很好使用。
摘自:http://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/
2)回到倒数第二次修改的位置:
Esc下面这个按键,连续按两次,就回到倒数第二次修改的位置。
————————————————————————————————————————————————————————
应用场景:
在每次退出一份文件后再重新打开该文件时,希望光标停留在当时退出的地方;也就是说当我程序写到hello.c的第100列时突然有事必须关电脑了,那在我下次打开电脑以vim打开hello.c, 希望光标还是停留在第100列,怎么办?
解决方案就是在.vimrc里面加上这一行即可:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
链接:http://blog.longwin.com.tw/2012/09/vim-last-read-line-2012/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+tsungblog+(Tsung%27s+Blog)
把上面代码放到vim的配置文件_vimrc: vi /root/.vimrc.
下面这段代码实现的效果是(secureCRT确实有问题):
在普通模式 或可视模式下选择一段代码,同时按[Alt]+[j] 或[Alt]+[k] 可控制代码向上、向下移。
注,下面这段代码是来自网络。。。,没实践。
有兄弟留言说Alt键有问题,用secureCRT确实有问题,后修改为Control+j,Control+k可控制代码向上、向下移:
在文件中快速查找光标处一样的单词:
把光标挪动到要在打开的文本里查找的单词上,后按:shift + 3,也就是#号即可。
—————————————vim一下知道所在行的函数名设置方法—————————————————————
在 .vimrc里添加:
按一下 f 键就能显示函数名字。
来自:http://blog.csdn.net/caspiansea/article/details/42570311
——————————————————————————————————————————————————————
键表 |key-notation|
<k0> - <k9> 小键盘 0 到 9 *keypad-0* *keypad-9*
<S-...> Shift+键 *shift* *<S-*
<C-...> Control+键 *control* *ctrl* *<C-*
<M-...> Alt+键 或 meta+键 *meta* *alt* *<M-*
<A-...> 同 <m-...> *<A-*
<t_xx> termcap 里的 "xx" 入口键
参考:
http://blog.csdn.net/riag/article/details/3469464
http://hi.baidu.com/drmingdrmer/item/5b9f5e354efbcbb8633aff0c
[实践OK]Vi注释多行的方法,附带整个代码缩进:
http://jackxiang.com/post/4298/
————————————————————————————————————————————————————————
有兄弟回复说没有用alt,在SecureCRT下这个alt好像确实是不能用的跑到文件(F)去了,不光是这个alt,还有ctrl:
http://blog.csdn.net/maojudong/article/details/6324757
SecureCRT突然假死的问题(Ctrl+S)
SecureCRT作为著名的SSH客户端,经常用于登陆远程服务器。在上面编辑文本,特别是用vi打开两个文本,并且需要切换时,很容易出现卡死的现象,不能接受任何的键盘输入。很是郁闷。以前每次遇到这个问题,我只有关掉那个session重新打开一个。这次又遇上,是在不能忍,试着解决一下。
仔细观察会发现,在vi下切换文本“ctrl+w+w”时,很容易输入成”ctrl+s”。随便拿一个session试试就发现,果然是ctrl+s在作怪。只要输入这个,就会卡死。搜索了一下,发现果然是有原因的:
CTRL-S and CTRL-Q are called flow-control characters. They represent an antiquated way of stopping and restarting the flow of output from one device to another (e.g., from the computer to your terminal) that was useful when the speed of such output was low. They are rather obsolete in these days of high-speed networks. In fact, under the latter conditions, CTRL-S and CTRL-Q are basically a nuisance. The only thing you really need to know about them is that if your screen output becomes “stuck,” then you may have hit CTRL-S by accident. Type CTRL-Q to restart the output; any keys you may have hit in between will then take effect.
CTRL-S and CTRL-Q are called flow-control characters. They represent an antiquated way of stopping and restarting the flow of output from one device to another (e.g., from the computer to your terminal) that was useful when the speed of such output was low. They are rather obsolete in these days of high-speed networks. In fact, under the latter conditions, CTRL-S and CTRL-Q are basically a nuisance. The only thing you really need to know about them is that if your screen output becomes “stuck,” then you may have hit CTRL-S by accident. Type CTRL-Q to restart the output; any keys you may have hit in between will then take effect.ctrl+s是一个古老的shell控制键,在输入ctrl+q就可以恢复了
【转自 http://xok.la/2009/09/securecrt_ctrl_s.html】
被这个问题困扰好几次了,CTRL+S,CTRL+Q,很好,以后就不需要重新开一个了。
————————————————————————————————————————————————————————
<转载>vim map nmap:
http://www.cnblogs.com/lq0729/archive/2011/12/24/2300189.html
1)回到最近修改的位置:
还有 %(跳转到与之匹配的括号处),`.(跳转到最近修改过的位置并定位编辑点),'.(跳转到最近修改过的位置但不定位编辑点)这三个命令也非常重要,在 Vi/Vim 中灵活使用会极大提高效率。% 除用于光标移动之后,还可用于检测源码中各种括号的匹配情况。
实践:tab键上面那个`加一个点,的确能跳转到最近修改的位置~ 再就是双引号这个键的单引号按一下,' 再点按点这个键盘,一样的效果感觉,但的确是相当好使,因为你在编码时还会在修改的同时会看其它部分的代码,但怎么快速回到最后修改的位置呢?该命令就很好使用。
摘自:http://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/
2)回到倒数第二次修改的位置:
Esc下面这个按键,连续按两次,就回到倒数第二次修改的位置。
————————————————————————————————————————————————————————
应用场景:
在每次退出一份文件后再重新打开该文件时,希望光标停留在当时退出的地方;也就是说当我程序写到hello.c的第100列时突然有事必须关电脑了,那在我下次打开电脑以vim打开hello.c, 希望光标还是停留在第100列,怎么办?
解决方案就是在.vimrc里面加上这一行即可:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
链接:http://blog.longwin.com.tw/2012/09/vim-last-read-line-2012/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+tsungblog+(Tsung%27s+Blog)