The best input is OUTPUT.

2016-02-09
Vim-双剑合璧,天下无敌

这里的操作其实就是Vim命令的语言的语法了.
在Vim里面请用Vim语,哈哈。
daw可以分解成三个部分:d, a, w

  • d是操作符,也就是谓语(做什么)
  • a类似数词,代指一个
  • w是动作命令,也就是宾语(对谁做)

Vim的操作符命令

Vim语 人类语
c 修改(change)
d 删除(delete)
y 复制到寄存器(yank)
g~ 转换大小写(swap)
gU 转换大写
gu 转换小写
> 增加缩进
< 减小缩进
= 自动缩进
Read More

2016-02-07
Vim的'.'范式

虽然平时在服务器上使用的就是Vim,但是真的只是Vim的皮毛中的皮毛,决定好好学学Vim争取早日成为一个Vimer,哈哈。 上个学期就买了《Practical Vim–Edit Text at the Speed of Thought》,一直没集中时间看,趁着寒假集中看看吧。


.范式’是我最开始接触Vim印象最深的了。

.命令是重复命令,配合上一个操作以及光标移动快捷键就可以迅速完成重复的工作
例如在每行行尾添加;就可以通过
A + ; + <Esc>命令在第一行尾添加一个;,如果可以重复添加的话就可以使用j + .以上一个操作为单位进行重复操作。

Read More

2016-02-05
C++函数模板小结

函数重载

函数重载比较简单,主要就是掌握函数特征标(function signature)–函数的参数列表
是特征标,而不是函数类型使得函数进行重载的。

C++编译器也是通过名称修饰(name decoration)来跟踪每一个重载函数的。

名称修饰或者名称矫正, 是C++编译器根据函数原型中指定的形参类型对每一个函数名进行加密。

C++标准允许每个编译器设计人员以他们认为合适的方式实现名称修饰,因此由不同编译器创建的二进制模块(对象代码文件)很可无法正确的链接。也就是说,两个编译器将为同一个函数生成不同的修饰名称。名称的不同将使连接器无法将一个编译器生成的函数调用与另一个编译器生成的函数定义相匹配。在链接编译模块时,请确保所有对象文件或者库都是用同一个编译器生成的。如果有源代码,通常可以用自己的编译器重新编译源代码来相处链接错误。

函数模板

函数模板就是使用泛型来定义函数,通过类型作为参数传给函数模板,编译器随后会生成相应类型版本的函数定义,供其他函数调用。
函数模板并不创建任何函数,而是告诉编译器如何定义函数。编译器检查所使用的参数类型,并生成相应的函数。最终的代码不包含任何模板,只包含了为程序生成的实际函数。

Read More

2016-02-04
决定练习盲打

决定联系盲打,以最大限度结合vim提高自己编辑文本(码代码)的效率!就像书上说的那样:

以思维的速度编辑文本

虽然现在打中文都很痛苦,但是我相信人类的手指是神奇的东西,几天之后我会慢慢熟悉的!
这种感觉就好象是高中练书法的时候是一样的,痛苦是短暂的,收获是永远的!
来吧!接受挑战!

                         接受挑战!
   パ..パ・゜
  ( ° Д ° )
__(_っ / ̄ ̄ ̄ ̄ ̄/_
    \/_____/

Read More

2016-02-02
使用CSS和font-awesome给博客添加时间线

想给自己的about页面修饰一下,于是就想添加个个人时间线功能希望能通过时间线功能把自己的故事展现给别人面前,于是就参考网上别人的方法使用CSS + font-awesome实现了简单的时间线功能,效果如下图(也可以直接访问我的about页面

Read More

2016-02-02
纪念下github上的第一个merge

终于在别人的项目里贡献了自己的代码。
使用Jiathisbaidu share给Freemind主题中添加了文章分享功能.我自己的模板也是默认使用的bdshare插件。项目的主人wzpan merge了我的pull request,在此对他表达感谢。

Read More