2013年9月29日星期日

VIM 用正则表达式 批量替换文本,多行删除,复制,移动


在VIM中 用正则表达式 批量替换文本,多行删除,复制,移动
:n1,n2 m n3     移动n1-n2行(包括n1,n2)到n3行之下;
:n1,n2 co n3    复制n1-n2行(包括n1,n2)到n3行之下;
:n1,n2 d        删除n1-n2行(包括n1,n2)行;

vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串
在vi界面下使用命令 :%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin。其中“#”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:s/str1/str2/gi 用字符串 str2 替换行中所有出现的字符串 str1,在查找时不区分大小写

(本文出自php_sir的新浪博客,用户名php_sir,首页链接:http://blog.sina.com.cn/phpsir,未经本人(php_sir)同意禁止转载)

: .,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:1,$ s/^str1/str2/g 用字符串 str2 替换正文中所有出现的,每行以str1开头的字符串
:g/str1/s//str2/g 功能同上
:%s/str1/str2/g 功能同上
:g/foobar/s/bar/baz/g 首先搜寻foobar,然后把它变成foobaz. 它没有改变 jailbars, 而其他的一些命令可能会改变jailbars.
:%s/str1/str2/gc 替换全文所有符合的单词并让用户确认
:g/str1/s//str2/gi 用字符串 str2 替换正文中所有出现的字符串 str1,在查找时不区分大小写,此命令没有下面的严格,经测试显示,不能完全做到在查找时忽略大小写
:%s/str1/str2/gi 用字符串 str2 替换正文中所有出现的字符串 str1,在查找时不区分大小写,在查找时可以完全做到忽略大小写
:10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白
:%s/$/str/g 在整个文件每一行的行尾添加“str”
:3,7s/str1/str2/g仅替换文件中的第3行到第7行中的“str1”成“str2”
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分(前提是已经打开了/etc/passwd文件)

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串在光标所在行的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。上面的命令中的/只是起分隔作用,也可以用其他的字符代替。另外,可以在正规式里用\ (和\)来剥离一个序列。

例如:有些字符域使用得很频繁. Vim 为这些字符域提供了预定义域:
项 匹配 相当于
\d 数字 [0-9]
\D 非数字 [^0-9]
\x 十六进制数字 [0-9a-fA-F]
\X 非十六进制数字 [^0-9a-fA-F]
\s 空白字符 [ ] ( 和 )
\S 非空白字符 [^ ] (非 和 )
\l 小写字母 [a-z]
\L 非小写字母 [^a-z]
\u 大写字母 [A-Z]
\U 非大写字母 [^A-Z]
& 所有查找时匹配到的东西
\[Ee] 更改大小写的选择区域的终点
:%s/\s\+$// 删除行尾多余的空格
命令前面指明范围是“%”,所以这会作用于整个文件。“substitute”命令的样式是“\s\+$”。这表示行末($)一个或者多个(\+)空格(\s)。:g/\(foo\)\(bar\)/s/\2/\1baz/g 将foobar替换成foobaz
:0,$d   删除所有内容
:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白
:%s/^(.*)n1/1$/ 删除重复行
:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf
:%s/// 又是删除多行注释(咦?为什么要说「又」呢?)
:g/s*^$/d 删除所有空行 :这个好用有没有人用过还有其他的方法吗?
:g!/^dd/d 删除不含字符串'dd'的行
:v/^dd/d 同上 (译释:v == g!,就是不匹配!)
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行
:v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区
dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容

2013年9月28日星期六

perl_notes_09_28

1.
print 'test \n';
print "test \n";

$$: perl test.pl
$$: test \ntest
$$:

2.
$a = 'abc' . 'dd';   # a的内容是abcdd
print "$a"x3 . "\n";      
print '$a'x3;          
print "$a"x3 . '\n';        

结果:
abcddabcddabcdd
$a$a$aabcddabcddabcdd\n
没有新开一行

2013年9月25日星期三

RC corner

  • RC worst (also known as Delay corner) - Cc is min ,Cg x R is max
So we can say that there are overall 5 parasitic corners.
  • Cbest
  • Cworst
  • RCbest
  • RCworst
  • Typical

Few definitions/information for every corner based on experience are…
C-best:
  • It has minimum capacitance. So also known as Cmin corner.
  • Interconnect is larger than the Typical corner.
  • This corner results in smallest delay for paths with short nets and can be used for min-path-analysis.
C-worst:
  • Refers to corners which results maximum Capacitance. So also known as Cmax corner.
  • Interconnect resistance is smaller than at typical corner.
  • This corners results in largest delay for paths with shorts nets and can be used for max-path-analysis.
RC-best:
  • Refers to the corners which minimize interconnect RC product. So also known as RC-min corner.
  • Typically corresponds to smaller etch which increases the trace width. This results in smallest resistance but corresponds to larger than typical capacitance.
  • Corner has smallest path delay for paths with long interconnects and can be used for min-path-analysis.
RC-worst:
  • Refers to the corners which maximize interconnect RC product. So also known as RC-max corner.
  • Typically corresponds to larger etch which reduces the trace width. This results in largest resistance but corresponds to smaller than typical capacitance.
  • Corner has largest path delay for paths with long interconnects and can be used for max-path-analysis.
Typical:
  • This refers to nominal value of interconnect Resistance and Capacitance.
So you may have noticed that there are 2 types of parasitic- one is C-based and other is RC-based. In C-based C means worst and best case capacitance but in RC-based RC means  worst and best case R with adjustment in C towards worst or best but keeping the process planar. Based on the experience it was found that C-based extraction provides worst and best case over RC for internal timing paths because Capacitance dominates short wire. However for large design, inter-block timing paths were often worst with RC worst parasitic since R dominates for long wires.

Note: No corner guarantees min or max delay for an arbitrary transistor driving an arbitrary wire topology

With the help of below picture, you can easily understand what I am trying to tell you.





In the next blog, I will share more information about the parasitics corners from foundry point of view. In the sence, How metal thickness / Width / Space and all varies and how the foundry provides the data.

2013年9月18日星期三

Makefile

Makefile:
A file that instructs the program make how to compile and link a program.
描述了source 

make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。
A make program aids you in developing large programs by keeping track of which portions of the entire program have been changed, compiling only those parts of the program which have changed since the last compile.
如果任何source files被modified since last "make" of the program, the make utility will figure out exactly what needs to be recompiled and relinked, and do it. So it "makes" a new version of the executable file,doing only what work is needed - it updates the executable automatically.


Linux/Unix环境下的make命令详解

无论是在linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用make和makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。
  但令人遗憾的是,在许多讲述Linux应用的书籍上都没有详细介绍这个功能强大但又非常复杂的编译工具。在这里我就向大家详细介绍一下make及其描述文件makefile。
  Makefile文件
  Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。
  在 UNIX 系统中,习惯使用 Makefile 作为 makfile 文件。如果要使用其他文件作为 makefile,则可利用类似下面的 make 命令选项指定 makefile 文件:

  $ make -f Makefile.debug
  例如,一个名为PRog的程序由三个C源文件filea.c、fileb.c和filec.c以及库文件LS编译生成,这三个文件还分别包含自己的头文件a.h 、b.h和c.h。通常情况下,C编译器将会输出三个目标文件filea.o、fileb.o和filec.o。假设filea.c和fileb.c都要声明用到一个名为defs的文件,但filec.c不用。即在filea.c和fileb.c里都有这样的声明:
  #include "defs"
  那么下面的文档就描述了这些文件之间的相互联系:
   #It is a example for describing makefile
   prog : filea.o fileb.o filec.o
   cc filea.o fileb.o filec.o -LS -o prog
   filea.o : filea.c a.h defs
   cc -c filea.c
   fileb.o : fileb.c b.h defs
   cc -c fileb.c
   filec.o : filec.c c.h
   cc -c filec.c
  这个描述文档就是一个简单的makefile文件。
  从上面的例子注意到,第一个字符为 # 的行为注释行。第一个非注释行指定prog由三个目标文件filea.o、fileb.o和filec.o链接生成。第三行描述了如何从prog所依赖的文件建立可执行文件。接下来的4、6、8行分别指定三个目标文件,以及它们所依赖的.c和.h文件以及defs文件。而5、7、9行则指定了如何从目标所依赖的文件建立目标。
  当filea.c或a.h文件在编译之后又被修改,则 make 工具可自动重新编译filea.o,如果在前后两次编译之间,filea.C 和a.h 均没有被修改,而且 test.o 还存在的话,就没有必要重新编译。这种依赖关系在多源文件的程序编译中尤其重要。通过这种依赖关系的定义,make 工具可避免许多不必要的编译工作。当然,利用 Shell 脚本也可以达到自动编译的效果,但是,Shell 脚本将全部编译任何源文件,包括哪些不必要重新编译的源文件,而 make 工具则可根据目标上一次编译的时间和目标所依赖的源文件的更新时间而自动判断应当编译哪个源文件。
  Makefile文件作为一种描述文档一般需要包含以下内容:
  ◆ 宏定义
  ◆ 源文件之间的相互依赖关系
  ◆ 可执行的命令
  Makefile中允许使用简单的宏指代源文件及其相关编译信息,在Linux中也称宏为变量。在引用宏时只需在变量前加$符号,但值得注意的是,如果变量名的长度超过一个字符,在引用时就必须加圆括号()。
  下面都是有效的宏引用:
  $(CFLAGS)
  $2
  $Z
  $(Z)
  其中最后两个引用是完全一致的。
  需要注意的是一些宏的预定义变量,在Unix系统中,$*、$@、$?和$<四个特殊宏的值在执行命令的过程中会发生相应的变化,而在GNU make中则定义了更多的预定义变量。关于预定义变量的详细内容,宏定义的使用可以使我们脱离那些冗长乏味的编译选项,为编写makefile文件带来很大的方便。
   # Define a macro for the object files
   OBJECTS= filea.o fileb.o filec.o
   # Define a macro for the library file
   LIBES= -LS
   # use macros rewrite makefile
   prog: $(OBJECTS)
   cc $(OBJECTS) $(LIBES) -o prog
   ……
  此时如果执行不带参数的make命令,将连接三个目标文件和库文件LS;但是如果在make命令后带有新的宏定义:
  make "LIBES= -LL -LS"
  则命令行后面的宏定义将覆盖makefile文件中的宏定义。若LL也是库文件,此时make命令将连接三个目标文件以及两个库文件LS和LL。

  在Unix系统中没有对常量NULL作出明确的定义,因此我们要定义NULL字符串时要使用下述宏定义:
  STRINGNAME=
  Make命令
  在make命令后不仅可以出现宏定义,还可以跟其他命令行参数,这些参数指定了需要编译的目标文件。其标准形式为:
  target1 [target2 …]:[:][dependent1 …][;commands][#…]
  [(tab) commands][#…]
  方括号中间的部分表示可选项。Targets和dependents当中可以包含字符、数字、句点和"/"符号。除了引用,commands中不能含有"#",也不允许换行。
  在通常的情况下命令行参数中只含有一个":",此时command序列通常和makefile文件中某些定义文件间依赖关系的描述行有关。如果与目标相关连的那些描述行指定了相关的command序列,那么就执行这些相关的command命令,即使在分号和(tab)后面的aommand字段甚至有可能是NULL。如果那些与目标相关连的行没有指定command,那么将调用系统默认的目标文件生成规则。
  如果命令行参数中含有两个冒号"::",则此时的command序列也许会和makefile中所有描述文件依赖关系的行有关。此时将执行那些与目标相关连的描述行所指向的相关命令。同时还将执行build-in规则。
  如果在执行command命令时返回了一个非"0"的出错信号,例如makefile文件中出现了错误的目标文件名或者出现了以连字符打头的命令字符串,make操作一般会就此终止,但如果make后带有"-i"参数,则make将忽略此类出错信号。
  Make命本身可带有四种参数:标志、宏定义、描述文件名和目标文件名。其标准形式为:
  Make [flags] [macro definitions] [targets]
  Unix系统下标志位flags选项及其含义为:

  -f file  指定file文件为描述文件,如果file参数为"-"符,那么描述文件指向标准输入。如果没有"-f"参数,则系统将默认当前目录下名为makefile或者名为Makefile的文件为描述文件。在Linux中, GNU make 工具在当前工作目录中按照GNUmakefile、makefile、Makefile的顺序搜索 makefile文件。
  -i   忽略命令执行返回的出错信息。
  -s   沉默模式,在执行之前不输出相应的命令行信息。
  -r   禁止使用build-in规则。
  -n   非执行模式,输出所有执行命令,但并不执行。
  -t   更新目标文件。
  -q   make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息。
  -p   输出所有宏定义和目标文件描述。
  -d   Debug模式,输出有关文件和检测时间的详细信息。
  Linux下make标志位的常用选项与Unix系统中稍有不同,下面我们只列出了不同部分:
  -c dir   在读取 makefile 之前改变到指定的目录dir。
  -I dir   当包含其他 makefile文件时,利用该选项指定搜索目录。
  -h   help文挡,显示所有的make选项。
  -w   在处理 makefile 之前和之后,都显示工作目录。
  通过命令行参数中的target ,可指定make要编译的目标,并且允许同时定义编译多个目标,操作时按照从左向右的顺序依次编译target选项中指定的目标文件。如果命令行中没有指定目标,则系统默认target指向描述文件中第一个目标文件。
  通常,makefile 中还定义有 clean 目标,可用来清除编译过程中的中间文件,例如:
  clean:
  rm -f *.o
  运行 make clean 时,将执行 rm -f *.o 命令,最终删除所有编译过程中产生的所有中间文件。
  隐含规则
  在make 工具中包含有一些内置的或隐含的规则,这些规则定义了如何从不同的依赖文件建立特定类型的目标。Unix系统通常支持一种基于文件扩展名即文件名后缀的隐含规则。这种后缀规则定义了如何将一个具有特定文件名后缀的文件(例如.c文件),转换成为具有另一种文件名后缀的文件(例如.o文件):

  .c:.o
  $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
  系统中默认的常用文件扩展名及其含义为:
  .o  目标文件
  .c  C源文件
  .f  FORTRAN源文件
  .s  汇编源文件
  .y  Yacc-C源语法
  .l  Lex源语法
  在早期的Unix系统系统中还支持Yacc-C源语法和Lex源语法。在编译过程中,系统会首先在makefile文件中寻找与目标文件相关的.C文件,如果还有与之相依赖的.y和.l文件,则首先将其转换为.c文件后再编译生成相应的.o文件;如果没有与目标相关的.c文件而只有相关的.y文件,则系统将直接编译.y文件。
  而GNU make 除了支持后缀规则外还支持另一种类型的隐含规则--模式规则。这种规则更加通用,因为可以利用模式规则定义更加复杂的依赖性规则。模式规则看起来非常类似于正则规则,但在目标名称的前面多了一个 % 号,同时可用来定义目标和依赖文件之间的关系,例如下面的模式规则定义了如何将任意一个 file.c 文件转换为 file.o 文件:
  %.c:%.o
  $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
#EXAMPLE#
  下面将给出一个较为全面的示例来对makefile文件和make命令的执行进行进一步的说明,其中make命令不仅涉及到了C源文件还包括了Yacc语法。本例选自"Unix Programmer's Manual 7th Edition, Volume 2A" Page 283-284
  下面是描述文件的具体内容:
   #Description file for the Make command
   #Send to print
   P=und -3 | opr -r2
   #The source files that are needed by object files
   FILES= Makefile version.c defs main.c donamc.c misc.c file.c \
   dosys.c gram.y lex.c gcos.c
   #The definitions of object files
   OBJECTS= vesion.o main.o donamc.o misc.o file.o dosys.o gram.o
   LIBES= -LS
   LINT= lnit -p
   CFLAGS= -O
   make: $(OBJECTS)
   cc $(CFLAGS) $(OBJECTS) $(LIBES) -o make
   size make
   $(OBJECTS): defs
   gram.o: lex.c
   cleanup:
   -rm *.o gram.c
   install:
   @size make /usr/bin/make
   cp make /usr/bin/make ; rm make
   #print recently changed files
   print: $(FILES)
   pr $? | $P
   touch print
   test:
   make -dp | grep -v TIME>1zap
   /usr/bin/make -dp | grep -v TIME>2zap
   diff 1zap 2zap
   rm 1zap 2zap
   lint: dosys.c donamc.c file.c main.c misc.c version.c gram.c
   $(LINT) dosys.c donamc.c file.c main.c misc.c version.c \
   gram.c
   rm gram.c
   arch:
   ar uv /sys/source/s2/make.a $(FILES)
  通常在描述文件中应象上面一样定义要求输出将要执行的命令。在执行了make命令之后,输出结果为:

  $ make
  cc -c version.c
  cc -c main.c
  cc -c donamc.c
  cc -c misc.c
  cc -c file.c
  cc -c dosys.c
  yacc gram.y
  mv y.tab.c gram.c
  cc -c gram.c
  cc version.o main.o donamc.o misc.o file.o dosys.o gram.o \
  -LS -o make
  13188+3348+3044=19580b=046174b
  最后的数字信息是执行"@size make"命令的输出结果。之所以只有输出结果而没有相应的命令行,是因为"@size make"命令以"@"起始,这个符号禁止打印输出它所在的命令行。
  描述文件中的最后几条命令行在维护编译信息方面非常有用。其中"print"命令行的作用是打印输出在执行过上次"make print"命令后所有改动过的文件名称。系统使用一个名为print的0字节文件来确定执行print命令的具体时间,而宏$?则指向那些在print文件改动过之后进行修改的文件的文件名。如果想要指定执行print命令后,将输出结果送入某个指定的文件,那么就可修改P的宏定义:
  make print "P= cat>zap"
  在Linux中大多数软件提供的是源代码,而不是现成的可执行文件,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。只有掌握了make工具,才能让我们真正享受到到Linux这个自由软件世界的带给我们无穷乐趣。

2013年9月17日星期二

VIM_cursor_movement

Moving by Char
  H           J          K         L
(left)    (down)    (up)    (right)

Moving by Word
Forward:        W   to head of word
                      E    to end  of  word
Backward:      B    to head of word
                      GE   to end  of word

注释多行文本

1. 使用vim打开要操作的文件
2. Ctrl+V,进入VISUAL BLOCK模式
3. 使用上下的方向键移动光标,选择你需要注释的行
3. shift+i
4. 输入注释符号 #
5. esc,退出visual block模式,

取消注释多行文本

取消注释也类似,而且更简单一些,如下:
1. 使用vim打开要操作的文件
2. Ctrl+V,进入VISUAL BLOCK模式
3. 使用上下的方向键移动光标,选择你需要取消注释的行
3. 输入 x,删除所有的 #,同时退出visual block模式

2013年9月16日星期一

满满的负能量

1.又一天过去了。今天过得怎么样,梦想是不是更远了?  

2.只要是石头,到哪里都不会发光的。  

3.我有位家境一般的朋友,一直觉得如果自己有钱一定会更幸福。后来他妈做婴幼教育发财了。快十年后我见他,问:现在你倒是有钱了,你真的幸福吗?他回答:爽翻啦!我默默地走开了。  

4.只有能力强会被当成纯技术人员;而光会社交拍马又会被认为没有真才实学;所以,要想在单位中脱颖而出,最重要的是有关系。  

5.我发现没有任何一个煤矿工人靠挖煤多又快当上了煤老板。  

6.我有个朋友,在几年前停止了抱怨和自怨自艾,开始努力改变自己。到今天,他的物质生活和精神状态都没有什么改善。  

7.很多时候,乐观的态度和好听的话帮不了你。  

8.回首青春,我发现自己失去了很多宝贵的东西。但我并不难过,因为我知道,以后会失去的更多。  

9.秋天是收获的季节。别人的收获是成功与快乐,你的收获是认识到并不是每个人都会成功与快乐。  

10.父母一直注重对我的品德教育。到了社会上,我按照父母教我的接人待物,却发现自己并不受人待见。  

11.最靠得住的是金钱,最靠不住的是人心。  

12.对今天解决不了的事情,也不必着急。因为明天还是解决不了。  

13.青年靠什么混日子?头等青年靠出身,二等青年靠关系,三等青年靠天资,四等青年靠努力,五等青年耍文艺,六等青年打游戏,穷游,看美剧。  

14.每次看到穷游日志的感受都是:那么穷就别TM出去浪了。  

15.“不去努力然后告诉自己我根本就不想要”的痛苦,比“拼命努力后失败”的痛苦,要小得多。  

16.没有钱包的充实,哪来内心的宁静。很多人都本末倒置了。  

17.一些年轻人通过美剧、旅游和Youtube视频拥有了朴素的自由民主和*河蟹*观念;他们觉得自己工作烂,人缘差,没对象,都是中国的体制害的。  

18.你只需看着别人精彩,老天对你另有安排。  

19.普通人一生的四个阶段:心比天高的无知快乐与希望——愧不如人后的奋斗与煎熬——毫无回报的愤懑与失望——坦然的平凡和颓废。你走到哪一步了?  

20.大部分成功靠得既不是厚积薄发的努力,也不是戏剧化的机遇,而是早就定好的出身和天赋。  

21.小孩问富翁:叔叔为什么你这么有钱呢?富翁说:我给你讲个故事吧。很小的时候,我注意到楼下的矿泉水卖一块钱,而三站地外的篮球场上,要卖一块五。我拿着一个大书包,从楼下买水带到球场去卖,卖一块二。一个月我挣了十块钱。小孩说:我好像明白了。富翁说:你明白个屁。后来我爸死了,把钱留给我了。  

22.“为什么我总是感觉自己特别普通?” “可能是因为你确实比较普通吧。”  

23.很多人不是心理疾病,而是心理残疾,治不好的。  

24.我发现很多混得不好的人看得都很开。也不知道他们是因为看得透彻而不屑于世俗的成功,还是因为不成功而不得不看得开。  

25.除了有钱人,世上还有两种人:其一是省吃俭用买奢侈品装逼,其二是省吃俭用也买不起奢侈品的。  

26.一场说走就走的旅行归来后,除了该做的事情被拖延的更久了,什么都没有改变。  

27.你努力后的成功,不能弥补你成功前的痛苦。  

28.假如今天生活欺骗了你,不要悲伤,不要哭泣,因为明天生活还会继续欺骗你。  

29.要是有个地方能出卖自己的灵魂换取物质享受就好了。  

30.好身材的因素很多。不是节食和锻炼就能拥有好身材的。  

31.每天显得无聊或寂寞了,去找朋友一起吃饭和逛,只不过是为了满足自己与人交往的需求,算不上是社交。  

32.优秀的女生在脆弱的时候(比如分手,工作不如意),会需要比平时更多的关爱,于是会和更多的人交流。如果她在恢复正常后,回到了自己原来的圈子,不再理你,请你不要奇怪。  

33.朋友,那不是懒,懒是可以克服的。你只是脑子比较弱(笨),没办法长时间经受高强度的思考,去搞逻辑太复杂的东西和处理太多的信息量。  

34.有些年轻人,一毕业就到某些大型国企和机关中工作。每天没什么事儿,就是吃饭喝酒,福利好得不得了。人生还没有奋斗过就开始养老,自己的理想被丢在一旁,用民脂民膏来享受特权。对于这样的年轻人,我只想问你们四个字:哪投简历?  

35.所有抱怨社会不公和制度的人翻译过来只有一句话:请给我金钱,女人和社会地位。  

36.常听到别人说:我希望他/她有什么话当面说,不要在别后中伤人。一些人信以为真,而实际上,我的实践证明,当面说别人坏话,别人会非常愤怒,难堪。所以中伤别人一定要在背后。  

37.其实找谁做女朋友都差不多,都是在不停地争吵。只不过一些人是和比较漂亮的女孩子在争吵。  

38.爱情开始时都差不多。但当两个人平淡到左手牵右手时,是加班挤地铁还房贷然后给他农村父母寄钱假期在屋里大眼瞪小眼,还是开小车朝九晚五住大房子周末采购装点自己的小家出国旅游,区别就非常大了。  

39.坏女人爱男人的钱和权;好女人爱男人因有钱和有权儿产生的自信、宽大、精力充沛、乐观进取。还好,殊途同归。  

40.精神追求应当是物质追求得到满足后的自然反应。而不是在现实受挫后去寻求的安慰剂。  

41.我的梦想就是一手拿着相机,一手拉着你,四处旅行。每天日落时的歇脚处都是我们的家。然后在三十多岁的时候还在初级职位上拿着微薄的薪水,和刚毕业的年轻人一起被呼来喝去。  

42.那些能够彼此帮忙托关系的友谊,比那些天天在一起就是扯淡吃喝旅游的友谊,要强得多。  

43.一些人追求卓越是因为他们天性如此,且能力出众。很多其他人却也喜欢跟着凑热闹。  

44.那些人人羡慕的精英,其实过得并不如你想象的那样好。但肯定比你是强得多。  

45.幸亏当事者迷,不然真的看清事实真相,很多人是承受不来的。  

46.没钱没事业的人,才有时间去提高自己的人生境界。  

47.年轻时总是缺乏对自己的正确认识。时而觉得自己能力超群,海阔天空,时而觉得一无是处,平凡无能。长大后,经历得多了,逐渐认清自己,才发现自己原来是一无是处,平凡无能。  

48.成语造句:很多年轻人想要从工作中找寻快乐和人生的意义,真是缘木求鱼。  

49.路上看到两个长得不好看也看起来很穷的男女热吻。我说两个物质生活质量很差的人,彼此相伴。朋友立刻反驳我:物质生活质量不行就不会幸福吗?他们如此相爱,比那些有钱又美但离婚的名人强多了!我说我根本没说他们不幸福呀,你努力反驳的,可能是你自己内心的声音吧。  

50.社会学家研究表明:难看和没钱的男人,并不比高帅富更加靠谱。  

51.普通人结婚的另一半其实并不欣赏自己,只不过找不到更好的人。他们真正欣赏喜欢的,另有其人。  

52.爱情就是,如果没有更好的选择了,我才陪你到天荒地老。  

53.他给你的爱会消逝,他给你的TIFFANY却不会贬值。  

54.我问过很多女大学生这个问题:出国旅游和用名牌,真的这么重要吗?第一种回答是:不重要,但男朋友愿意而且能够给我买,很重要。第二种回答是:对啊,很重要啊!  

55.错把放纵当潇洒,把颓废当自由,把逃避责任当做追求自我价值。不过是懒,怕吃苦,哪来那么多好听的理由。  

56.有些女生觉得说自己是吃货能显得可爱,其实并没有这样的效果。  

57.女生的冷暖自知什么的,在长得好看面前弱爆了。  

58.一些女生在背后议论长得美家境好的女生,说对方生活轻浮,道德不高。她们说得有根有据,也很有道理,但听起来总是显得酸溜溜的。  

59.我有一些漂亮又受过教育的姐妹,本来有机会嫁给官富二代,但很多被那些长得不错、有名校高学历、刚毕业在知名外企工作、加班到很晚还健身的男生所吸引。觉得人家上进又有潜力。五六年后,她们悔得肠子都青了。  

60.我大学宿舍的一个女生,每天要花半个小时拌狗粮拿到外面去喂流浪狗。可她半个月才给家里打一次电话。她家是三线城市的工薪阶层。同学们都说她是爱心小天使。  

61.几年前BBS有女生写道:不知为什么,每次有丑男看我,我都感觉他很猥琐,特别反感;但帅哥看我就感觉很好。今日又看到有男生写:我发现我老是喜欢抢着给漂亮的女生帮忙,不自觉地就会问她需要什么;但每次丑女让我帮忙,我就感觉:你自己不会干吗?——一些很明显的实话说出来,显得格外可爱。  

62.美国人的生活就是像你在电影电视剧看的那样好。天天玩儿,随便搞搞就挣大钱,到处都是感人的细节,帅哥美女随便搞。导演们把这些日常生活拍下来,送到电视台电影院播放。  

63.口中的道德和原则虽然重要,却总是要给手里的利益让道。  

64.一提到钱,大家就不是那么亲热了。  

65.你这么努力,忍受那么多寂寞和纠结,我们也没觉得你有多优秀。  

66.人生就是这样,有欢笑也有泪水。一部分人主要负责欢笑,另一部分人主要负责泪水。  

67.很多人不断地规划自己的人生,每天压力很大。其实不管你怎么过。都会后悔的。想想你这前几十年就明白了。  

68.三十岁时,大部分人都卡在初级职位上。现有的工作升不上去,又无法承担转行的时间成本,更来不及再去读书。父母开始多病;自己收入有限,也没有存款。更大的痛苦,是看到身边没有背景但努力又聪明的人已经小有成就,有背景的人已经开始过上贵族生活了。  

69.这个世界没有错,谁让你长得不好看又没钱。  

70.有些妹子喜欢带上墨镜自拍。其实再戴上口罩,会显得更美。  

71.多照照镜子,很多事情你就明白原因了。  

72.我从来不会脑残地在网上晒自己买的名牌,因为我买不起。  

73.小时候以为有钱人都很跋扈,心都是黑的。长大后才发现,很多有钱人都懂得很多,经历很丰富,做事儿很认真,为人很宽厚,理性,比穷人更好相处。  

74.长相不行的人,为人也未必好。只不过由于长久寂寞的折磨,有时会发疯似地对人好。  

75.26岁的他辞掉工作,和朋友建了支乐队,到各民办大学演出,反响平淡。30岁钱花完了,父亲得病要很多钱。“唱完这场就放弃,青春就到这里了。”甘肃七里河大学演唱会前,他留下眼泪说。一位女学生递上纸条:我喜欢你的歌,要坚持梦想。他把纸条攥紧决定坚持梦想。34岁,他欠了十几万的债,父亲也病逝了。  

76."老师您好,请问像我这样的,没有背景的北大毕业生应该如何定位自己?" “社会底层群众中受教育程度最高的一批人。”  

77.如果你每天干的活明显多于别人,但自己很高兴还感觉得到器重,那么与其说你很有才干,不如说你的领导很会管人。  

78.当别人和你说忙,是他/她要留时间给更重要的人。  

79.“那些出身好能力强的人努力是为了成功,因为人家有可能会成功。我们努力是为了啥呢?” “为了活下去。”  

80.基因是你给的,成长环境是你给的,社会阶层是你给的——还有脸埋怨自己孩子没出息。  

81.有些人努力了一辈子,就是从社会的四流挤入了三流。  

82.弱者都是这样,觉得生活中的无奈太多,自己又无力改变。  

83.学术能力的缺乏并不意味着你就擅长混社会,说不定还不如在学校的表现。  

84.你全力做到的最好,可能还不如别人随便搞搞。  

85.如果你知道一些事情有意思,但不能去做而失落,那还好;要是觉得什么都没意思,应该就是抑郁症。  

86.我要是有钱或者长得好看就好了。那样,即使我性格有点儿怪,也会有人愿意倾听我的想法和感受,跟我做朋友。  

87.出身不好的限制也不光是平台问题。出身不好,说明你父母混的也不怎么样,也许你基因里就写着“不行”两个字。  

88.经过十年的不断奋斗和磨砺,我终于从一个懵懂无知、敏感脆弱的少年,成长为了一个懵懂无知、敏感脆弱的青年。  

89.为什么有些人要把追求精神满足和追求物质上的富足对立起来呢?你不幸福是因为你境界不高,你物质生活差是因为你能力不行。这完全是两回事儿。  

90.成败是评判英雄的唯一标准。  

91.优秀幸福的人是喜欢撒娇的,告诉别人自己这儿过得不好,那儿过得也不好。有些人当真的了,觉得别人天天是在宝马车中哭泣。  

92.如果外貌好能够获得他人的关注,又有钱能够支持各种娱乐活动,谁会愿意每天呆在家里打游戏,刷微博,看电视剧。  

93.如果你很忙,除了你真的很重要以外,更可能的原因是:你很弱,你没有什么更好的事情去做,你生活太差不得不努力来弥补,或者你装作很忙,让自己显得很重要。——史蒂夫·乔布斯  

94.很难想象让敏感多变的年轻人去做Leader,进行重大的决策。这些人睡一觉起来,被别人说了几句,或者吃了顿好饭,人生观世界观就可以发生翻天覆地的变化。  

95.尽量不要和比自己生活质量高的人起冲突,不论你是假装若无其事、努力争辩或者破口大骂,在别人看来,都是自己很可笑并且已经输了。  

96.有些人,社交能力很差。只能和那些志同道合,彼此欣赏的人做朋友。而那些性格不随和,不喜欢自己,但是能给自己带来提升的人,他们没有能力搞定。  

97.老板和领导很清楚哪些人能够得到晋升。对于那些不能的人,他们也会不断地鼓励和给她们希望。  

98.以前每次看到网上的青年在微博校内大谈国事,我担心他们会干出些什么事情来。后来我发现他们还同时说着“明天一定要早起”,“这个假期要多看几本书”,“再也不能多吃了”,于是我放心了。  

99.一些人的情商比较低,没法扮演好自己的社会角色,只能一直以最真实的自己面对世界。  

100. 人生的自由和无限可能性都是错觉。每个人都被社会压力,亲近的人和自己束缚的死死的,每天做着自己一定会去做的事情。  

101. 社会精英阶层一边啃着心灵鸡腿和心灵鸡胸,一边为我们送上了心灵鸡汤,说人生的价值并不在于你挣了多少钱和外在是否美。  

102. 出卖自己的灵魂和原则并不丢人,丢人的是没能卖一个好价钱。  

103. 我们所咒骂的那些品德败坏的人,其实不过是直接或间接地损害了我们的利益。  

104. 直到三十岁才知道,和不同的人说不同的话,表现出不一样的态度,是一种非常可贵的能力,而不是虚伪。  

105. 别减肥了,你丑不仅是因为胖。  

106. 有些人感慨:“自己岁数不小了,还没有成熟起来。”其实你们已经成熟起来了,你们成熟起来就这样。  

107. 只有拥有找男女朋友的能力和很多备胎,才能真正享受单身生活。  

108. 女生们宁肯做高帅富的备胎,也不肯接受屌丝的行为,从基因上保证了人类的进步。  

109. Loser面对生活比自己好的人,心中生出了怨恨。  

110. 我去找心理医生看抑郁症。他听完我的陈述,说道:如果你说的都真的话,为什么你不去自杀呢?你这不是抑郁症;抑郁症是看事情悲观,本来好,却认为不行。你是本来就过得不如别人。  

111. 很多人发现自己在钱、权、女人的问题上比不过别人,于是开始试着在道德和人生境界上做文章。  

112. 碰到一个认识的人,想一起聊聊天。她说自己去香港和希腊玩了,又买了苹果和化妆品;我不知道怎么回应,因为我很久没有出去玩和买东西了。我又说我最近思考了人为什么活着和出身的问题,她也沉默,因为很久没有思考这样的问题。此后再也无话。  

113. 我追逐自己的梦想,别人说我幼稚可笑,但我坚持了下来。最后发现,原来还真是我以前幼稚可笑。  

114. “你年轻时一事无成;时而自怨自艾颓废堕落,时而咬紧牙关拼命努力,经营关系,但你的生活一直没有改善,你一直很痛苦,直到三十岁。”他听后兴奋地问:那三十岁之后呢?有转机吗?算命先生微微抬起头:三十岁后……你就开始习惯了。  

115. 很同情那些名校毕业生。这些人中的绝大多数,一生最大的成就就是高考的成功,一下超越了社会中的各种阶层,仿佛升到顶端。之后一辈子都在走下坡路。  

116. 哪怕抛掉出身的因素,我觉得你也未必干得过别人。  

117. 吹牛逼是一些人的天性。当对于一些话题自己乏善可陈时,就会搬弄外援:我有个朋友,拥有比你们更牛逼的经历。讲完后洋洋得意,潜台词是作为其朋友,自己肯定也不会差到哪去。  

118. 有时我们觉得别人误会了自己,其实是我们误会了自己。  

119. 所谓人生理想,就是支持你捱过每天的无聊与痛苦,最终没有实现的那个愿望。有了它,临死前是无穷的空虚和痛苦;没有它,这辈子都熬不下来。  

120. 好多重要又紧迫的事情,先干哪一件都会感觉别的事情被耽误了。所以还是先上会儿网吧。  

121. 很多时候别人对你好,并不是因为别人喜欢你,而是因为他们喜欢对人好。  

122. 女生有这样的梦想:某一天辛苦工作之后,在客户处认识一位优秀男人。他自信、Self-centered、成熟、幽默,又对人很caring。你们坠入爱河。他对你说:别工作了,我帮你开家咖啡馆吧!于是你的生活变了,每天在充满情调的咖啡馆里钻研咖啡甜点。你又开始相信爱情了。后来你发现男朋友开了十几家咖啡馆了。  

123. 年轻的男孩只希望自己的女朋友是美丽的。而随着他不断长大,阅历的不断积累,他终归会认识到:美丽并不是选择伴侣的全部,性感也很重要。