VIM备忘

 

VIM备忘

[email protected]
Revision: 1.02 Date: 2006/05/03
  • 首先学会使用online help

     

    键入:help [word],用Ctrl+]跳转,Ctrl+O回退。help中所用notation的意义如下:
    • []:方括号中的字符是可选的
    • {}:大括号代表命令中必须出现的部分,它们可以有多个值
    • <CR>:回车

       

  • Modes

     

    • Normal:可以用h,j,k,l等移动命令,x等删除命令
    • Viusal:加亮显示光标的移动过的区域,非移动命令对该区域进行操作,在Normal下键入v进入该模式
    • Select:在该模式下键入字符将会删掉所选区域并进入Insert模式
    • Insert:在该模式下键入的文本被插入到缓冲区
    • Command-line:可以在窗口底部输入一些命令,在Normal模式下通过/ ? (输入查找命令) :(输入vim命令如echo) !(输入shell命令)来进入该模式

       

      虽然vim不支持任意两个模式间的切换,但其支持的切换方式还是很多的,想要记住所有的切换方式不容易也没有必要,通常使用Normal模式作为切换的起点,因为不论在哪个模式下都很容易切换到Normal模式(ESC),以下命令在没有指明的情况下都是在Normal模式下。

       

  • 常用命令

     

    • Undo U
    • Redo Ctrl+R
    • 在两个文件间快速切换:Ctrl+^
    • 察看vim环境变量的值 在Normal模式下:echo $ENV
    • 增加/减少缩进 在Insert模式下Ctrl-T/Ctrl-D

       

  • 查找

     

    以下命令都运行在Normal模式下,查找都是从当前光标处开始,找到后光标停留在第一个找到的文本上,同时所有找到的文本都会加亮(可用:noh去掉加亮);当pattern里的任何位置出现/c就忽略大小写:
    • 向后查找:/{pattern}[/]<CR>
    • 向前查找:?{pattern}[?]<CR>
    • 用上一个pattern向前查找:/<CR>
    • 用上一个pattern向后查找:?<CR>
    • 重复上一个/或?命令:n
    • 以相反的方向重复上一下/或?命令:N

       

  • 替换

     

    通用形式如下

     

      :[range]s/from/to/[flags]
    
    
    常用的range有%(全文),若忽略则是当前行

     

  • 在Insert模式下,想用另一个单词替换正在键入的单词,用Ctrl-W;对整句用Ctrl-U

     

  • 寄存器

     

    VIM用来存放文本的地方

     

  • options

     

    • options用来配置vim的行为,有三种类型的option:
      • Toggle option,有on/off两种值
      • Number option,其值为数字
      • String option,其值为字符串

         

    • 查看option的值用set {option}?

       

    • 修改option的值:对Toggle option,set {option}将其打开,set no{option}将其关闭;对Number和String option,用set {option}={value}

       

  • 我的vimrc在哪里?

     

    在Normal模式下键入:version可以查看vim在什么路径下搜索vimrc文件

     

  • 缩进太多了?

     

    shiftwidth控制着缩进的宽度,以ascii字符为单位。根据tabstop的设置,缩进可能是tab和空格的混合:在tabstop为8(缺省值)的情况下,如果shiftwidth=8(缺省值),缩进就是一个tab,如果shiftwidth=4,缩进是4个空格,如果shiftwidth=10,缩进则为一个tab加两个空格。如果要减少缩减量,通常不应该修改tabstop,因为一些文档是假设tab为8进行编排的,修改它会使这些文档显示不正常,通常应该修改shiftwidth.

     

  • 常用option

     

    filetype:以那种文件类型打开当前文件,如C++,JavaScript等

     

  • 编码相关
    • 编码相关的option:
      • encoding:VIM内部使用的编码,应用于buffer,寄存器,viminfo文件中的文本
      • fileencoding:设置buffer关联的文件采用的编码(不是buffer本身,buffer中永远是encoding指定的编码),文件将以该编码保存
      • fileencodings:VIM将会以指定顺序检测文件的编码,然后把结果设置到fileencoding

         

    • 自动检测文件编码:set fileencodings=ucs-bom,utf-8,chinese,taiwan,latin1

       

    • 以指定的编码打开某个文件:edit ++enc=ucs-2 file.txt

       

你可能感兴趣的:(JavaScript,String,vim,buffer,insert,encoding)