VIM备忘
hanlray@gmail.comRevision: 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}
- options用来配置vim的行为,有三种类型的option:
- 我的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
- 编码相关的option:
423

被折叠的 条评论
为什么被折叠?



