1. mac下从vim中复制内容至系统剪切板
    :w ! pbcopy
  2. 查看vim下设置的变量的值
    下面三个前缀用来访问特殊的数值
    “$”——访问环境变量;
    “&”——访问 Vim 选项;
    “@”——访问寄存器。

    例如:
    :echo $VIM
    /usr/share/vim

    :echo &tags
    ./tags,tags,/Users/aaa/workspace/test-laraval/tags

    :echo @a
    ^xx
  3. vim撤销前一次操作,以及恢复撤销
    撤销:u
    恢复撤销:Ctrl+r
  4. 删除
    D或者d$  删除光标位置到本行结尾
    d0              删除光标位置到本行开头

    dw            删除到下一个单词开头
    de            删除到本单词末尾
    dE            删除到本单词末尾包括标点在内
    db            删除到前一个单词
    dB            删除到前一个单词包括标点在内
  5. BOM标记,以及16进制模式打开文件
    1. 查看文件是否有BOM标记
      :set bomb?
    2. 去掉BOM标记
      :set nobomb
    3. 加上BOM标记
      :set bomb

    4. 以16进制模式打开文件
      :%!xxd
    5. 将以16进制模式打开的文件返回文本编辑模式
      :%!xxd -r
  6. 设置文件编码格式
    :set fileencoding = utf-8
  7. 缩进
    参考:http://liuzhijun.iteye.com/blog/1831548
    附注:http://liuzhijun.iteye.com/category/270228  这个关于vim的博客系列似乎写的不错,可以学习学习。
    " 缩进设置
    set autoindent " 回车自动缩进
    set shiftwidth=4 "reindent 操作(<<和>>)时缩进的列数(这里的一列相当于一个空格)
    set tabstop=4 "一个tab键所占的列数,linux 内核代码建议每个tab占用8列
    set softtabstop=4 "敲入tab键时实际占有的列数.
    "这里softtabstop的输入效果,和softtabstop的值以及tabstop的值有关:
    " 1.softtabstop大于tabstop时,且没有设置expandtab时,例如:softtabstop=12,tabstop=8,那么当输入一个tab时(softtabstop:实际占用的是12列),最后会变成一个tab(tabstop)加4个空格(8+4),输入两个tab(2个softtabstop:24列)会变成3个tab(tabstop),也就是说vim或用tabstop+空格来表示,最终你能看到的缩进的列数一定是softtabstop*按的tab键次数。(ps::set list 可以查看tab符号)
    " 2.softtabstop小于tabstop且没有设置expandtab时,如果softtabstop=4,tabstop=8,输入一个tab(softtabstop),会变成4个空格(因为不够用一个tabstop表示),输入两个tab会变成一个tab(8列 >)。
    " 3.如果softtabstop等于tabstop,而且expandtab没有设置,softtabstop与tabstop就没什么区别了。
    " 4.如果设置的expandtab,输入一个tab,将被展开成softtabstop值个空格,如果softtabstop=4,那么一个tab就会被替换成4个空格。
    set expandtab " 将tab转换为空格。(即不设置此命令时tab是^I,而设了之后是4个空格。//这里假定tabstop=4)
posted on 2017-04-27 11:15  jade640  阅读(188)  评论(0编辑  收藏  举报