chenDoInG 想法太多而书读太少

vim命令

vim命令

删除命令

  1. d命令

     [numbers] d [arguments] object
     d [numbers] [arguments] object
     arguments:
     >w 删除光标当前位置直到单词末尾,包括空格
     >e 删除光标当前位置直到单词末尾,不包括空格
     >$ 删除光标当前位置直到当前行末
     >d 删除光标所在行
    
  2. x命令

     x 删除光标坐在字符 **对于中文来说:如果中文中间没有空格,使用dw删除会将标点符号前的中文全部删除**
    

撤销命令

  1. u命令

     u 撤销最后一次操作
    
  2. U命令

     U(大写) 撤销所有操作
    

恢复命令

	ctrl r 恢复撤销

粘贴命令

	p 将最后一次删除的内容复制到光标下方

替换命令

  1. r命令

     r object [words] 将object替换成words字符
    
  2. c命令

     更换完后进入编辑模式
     [numbers] c [arguments] object
     c [numbers] [arguments] object
     >w 更换一个单词,包括空格
     >e 更换一个单词,不包括空格
     >$ 更换光标当前位置直到当前行末
     >d 更换光标所在行
    
  3. :s命令

     :s/old/new 在一行内替换第一个字符串old为新的字符串new
     :s/old/new/g 在一行内替换所有字符串old为新的字符串new
     :#,#s/old/new/g #为行号,在两行内替换所有字符串old为新的字符串new
     :%s/old/new/g 在文件内替换所有字符串old为字符串new
     :%s/old/new/gc 进行全文替换时询问用户是否确定每个替换 ###定位命令
    
  4. ctrl g命令

     ctrl g 查看以及定位行号
    
  5. shift g命令

     shift g 跳转到文件最后一行
     # shift g #代表行号,跳转到#所在行
    

查找命令

  1. /命令

     /[words] 在当前文件中顺序查找words
     查找完后
     >按n可以继续查看下一个		
     >按N可以继续查看上一个
     >:set ic忽略大小写
     >:set hls is 高亮显示所有查找到的words
    
  2. ?命令

     ?[words] 在当前文件逆向查找words **如果查找已经到达文件末尾,查找会自动从文件头部继续查找**
    
  3. %命令

     %[括号] 查找配对的括号(),[],{} ###编辑命令
    
  4. o命令

     o 在光标下方打开新的一行,并且进入编辑模式
    
  5. O命令

     O(大写) 在光标上方打开新的一行,并且进入编辑模式
    
  6. a命令

     a 可以在光标后面插入文本
    
  7. A命令

     A 可以在行末插入文本
    
  8. R命令

     R 可以连续替换多个字符
    

###:set number 显示行号

Think in Java——String

String,StringBuffer,StringBuilder的区别

String:字符串常量

  1. String对象是不可变的。每当把String对象作为方法的参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上,从未动过。
  2. 每次对String类型进行改变的时候其实都生成了一个新的String对象,然后将引用指向新的String对象。因此对于经常变化的字符串最好不要使用String,比如sql语句,因为当内存中无法引用的对象多了以后,JVM的GC就会开始工作(可以自行查看java的内存分配回收机制),速度一定会非常慢的。

StringBuffer:字符串变量(线程安全)

  1. 线程安全的可变字符序列。类似于String的字符串缓冲区,不能修改,但可以通过某些方法调用可以改变该序列的长度和内容。每次对StringBuffer改变时,都会对StringBuffer对象本身进行操作,而不是生成新的对象。所以在字符串对象经常变化的情况下,推荐使用StringBuffer
  2. StringBuffer安全的用于多个线程,可以在必要时对这些方法进行同步。
  3. 某些特别情况下,String对象的字符串拼接其实是被JVM解释成StringBuffer对象的凭借,所以这些时候String对象的速度并不会比StringBuffer对象慢,比如: String s1 = “This “ + “is “ + “a” + “string”; StringBuffer Sb = new StringBuilder(“This ”).append(“is ”).append(“a ”).append(“string”);

StringBuilder:字符串变量(非线程安全)

  1. 非线程安全的可变字符序列,JDK5.0新增。与StringBuffer兼容的API,但是不保证同步
  2. 一般用于单线程使用的时候。

##大部分情况下,执行速度:StringBuilder > StringBuffer > String

Think in Java——Arrays.asList

Arrays.asList

List<Integer> list = Arrays.asList(1,2,3,4,5);
list.set(1,99);
//list.add(6);

Array.asList可以作为list输出,但是他的底层表示还是Array,是不能调整大小的。调用add()或delete(),运行时 都会获得_“Unsupported Operation”_错误

Jekyll Quick Start

Jekyll命令

Create a Post

rake post title="Hello World"

Create a Page

Create pages easily via rake task:

rake page name="about.md"

Create a nested page:

rake page name="pages/about.md"

Create a page with a “pretty” path:

rake page name="pages/about"

this will create the file: ./pages/about/index.html

Hello World