Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

continue reading »

04

区分 ie6|ie7|FireFox火狐的几种css写法

以下是小飞平时用来区分浏览器的几种写法 拿出来分享一下
1、IE不识别
@import url(“layout.css”) screen;

2、IE6是不支持这种选择器的
span[class=content]{}

3、区分IE和FireFox
#content{}
[xmlns]#content{} //IE不支持

4、IE6不支持这种写法的
span > .content{}

5、区分ie6 ie7 firefox的写法
width:200px; //应该都支持吧 呵呵
+width:200px; //ie7可以识别
_width:200px; //ie6可以识别

6、注释法

<!-[if IE6]–>IE可见<![endif]–>

03

词法分析器 c语言版

#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "ctype.h"
char prog[80]={'\0'},
     token[8];                     /*存放构成单词符号的字符串*/
char ch;
int syn,                           /*存放单词字符的种别码*/
      n,
    sum,                           /*存放整数型单词*/
    m,p;                           /*p是缓冲区prog的指针,m是token的指针*/
char *rwtab[6]={"begin","if","then","while","do","end"};
void scaner(){
    m=0;
    sum=0;
    for(n=0;n<8;n++)
        token[n]='\0';
    ch=prog[p++];
    while(ch==' ')
        ch=prog[p++];
    if(isalpha(ch))    /*ch为字母字符*/{
        while(isalpha(ch)||isdigit(ch))    /*ch 为字母字符或者数字字符*/{
           token[m++]=ch;
           ch=prog[p++];}
        token[m++]='\0';
        ch=prog[p--];
        syn=10;
        for(n=0;n<6;n++)
            if(strcmp(token,rwtab[n])==0)    /*字符串的比较*/{
                syn=n+1;
                break;}}
    else
        if(isdigit(ch))    /*ch是数字字符*/{
            while(isdigit(ch))    /*ch是数字字符*/{
                sum=sum*10+ch-'0';
                ch=prog[p++];}
            ch=prog[p--];
            syn=11;}
        else
            switch(ch){
                case'<':m=0;token[m++]=ch;ch=prog[p++];
                        if(ch=='>'){
                            syn=21;
                            token[m++]=ch;}
                        else if(ch=='='){
                            syn=22;
                            token[m++]=ch;}
                            else{
                                 syn=20;
                                 ch=prog[p--];}
                        break;
                case'>':m=0;token[m++]=ch;ch=prog[p++];
                        if(ch=='='){
                            syn=24;
                            token[m++]=ch;}
                        else{
                            syn=23;
                            ch=prog[p--];}
                        break;
             case':':m=0;token[m++]=ch;ch=prog[p++];
                     if(ch=='='){
                         syn=18;
                         token[m++]=ch;}

                     else{
                         syn=17;
                         ch=prog[p--];}
                     break;
             case'+':syn=13;token[0]=ch;break;
             case'-':syn=14;token[0]=ch;break;
             case'*':syn=15;token[0]=ch;break;
             case'/':syn=16;token[0]=ch;break;
             case'=':syn=25;token[0]=ch;break;
             case';':syn=26;token[0]=ch;break;
             case'(':syn=27;token[0]=ch;break;
             case')':syn=28;token[0]=ch;break;
             case'#':syn=0;token[0]=ch;break;
             default:syn=-1;}}
void main()
{
p=0;

    printf("\nplease input string:\n");
    do {
           ch=getchar();
           prog[p++]=ch;
       }while(ch!='#');

p=0;

    do{
        scaner();
        switch(syn){
            case 11: printf("(%d,%d)\n",syn,sum);break;
            case -1: printf("\n ERROR;\n");break;
            default: printf("(%d,%s)\n",syn,token);
}
     }while(syn!=0);

    getch();
}

25

vi命令

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename….filename :打开多个文件,依次进行编辑

移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
continue reading »

15

安装mplayer Linux下播放avi rmvb

打开终端 输入
yum install mplayer mplayer-gui mplayerplug-in mplayer-doc mplayer-fonts

从下面的网页下载一个最新的解码器。

http://www.mplayerhq.hu/MPlayer/releases/codecs/

并且把其中的文件解压之后放入/usr/lib/codecs目录下。
tar xvjf all-20071007.tar.bz2

解压完成后
mv all-20071007/* /usr/lib/codecs

然后找一个rmvb文件测试。
执行如下命令
mplayer test.rmvb/test.avi

gmplaer test.rmvb

都可以播放这个电影。
firefox可以使用mplayerplug-in来作为插件来播放网页中的视频。

15

xps1330 linux 无线网卡驱动

我的机器是xps1330 装完系统总是得找网卡驱动 记载博客上吧

卸载U盘必须在不同的目录下进行卸载,也就是说不能在/mnt/udisk目录下进行卸载.卸载命令如下
cd /root
umount /mnt/udisk
如果显示device is busy,可以用如下命令进行卸载:
cd /root
fuser -km /mnt/udisk
umount /mnt/udisk

13

linux 挂载U盘&卸载U盘

挂载U盘
首先插上U盘后用 fdisk -l 命令查看U盘设备的名称,一般都是sdb1 ..
然后:
mkdir /mnt/udisk (这是习惯,可以随意..挂载上之后就可以在这个文件夹里访问U盘里的内容)
mount /dev/sdb1 /mnt/udisk 就OK了..
其中mount命令有好多参数可以用,用到的时候再查.. mount –help 或 man mount

卸载U盘
卸载U盘必须在不同的目录下进行卸载,也就是说不能在/mnt/udisk目录下进行卸载.卸载命令如下
cd /
umount /mnt/udisk
如果显示device is busy,可以用如下命令进行卸载:
cd /root
fuser -km /mnt/udisk
umount /mnt/udisk

13

fedora 12安装rpmfusion源

在终端输入
su -c ‘rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm’
下面会提示输入密码,输入root用户密码即可,按enter

11

29

利用JavaScript获取网页宽度高度

JavaScript获取网页宽度高度代码:

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth

以下部分是我做的测试

HTML实例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>辽宁省普通高校毕业生就业指导中心</title>
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/layout.js"></script>
</head>
<body>
<div id="index_header">
<h1>辽宁省普通高校毕业生就业指导中心</h1>
</div>
<div id="index_content">
<div class="index_left">
</div>
<div class="index_right">
<p>这里显示内容</p>
</div>
<div class="clear"></div>
</div>
<div id="index_footer">
<ul>
<li><a href="#">退出</a></li>
<li><a href="#">帮助</a></li>
<li><p>&copy;*******软件科技有限公司</p></li>
</ul>
</div>
</body>
</html>

JavaScript(JQuery)代码如下:

$(document).ready(function(){
	//alert(window.screen.availHeight);
	var header_footer_height = 77;
	var index_left_width = 207;
	var index_footer_li_width = 124;
	var index_left_height =
document.documentElement.clientHeight - header_footer_height;
	var index_right_width =
document.documentElement.clientWidth - index_left_width;
	var index_footer_p_width =
document.documentElement.clientWidth - index_footer_li_width;
	//alert(document.documentElement.clientHeight);
	//alert(index_right_width);
	//alert(index_footer_p_width);
	$(".index_left").height(index_left_height);
	$(".index_right").height(index_left_height);
	$(".index_right").width(index_right_width);
	$("#index_footer li p").width(index_footer_p_width);
	//alert($("#index_footer li p").width());
});

26