Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Diff of /trunk/doc/autocmd.txt [r206] .. [r207] Maximize Restore

  Switch to side-by-side view

--- a/trunk/doc/autocmd.txt
+++ b/trunk/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.3.  最近更新: 2011年5月
+*autocmd.txt*   For Vim version 7.3.  最近更新: 2013年1月
 
 
 		  VIM 参考手册    by Bram Moolenaar
@@ -33,7 +33,7 @@
 还可以用自动命令来实现诸如编辑压缩文件 (见 |gzip-example|) 等的高级特性。一般
 来说,自动命令在 .vimrc 或 .exrc 文件里设置。
 
-							*E203* *E204* *E143*
+						*E203* *E204* *E143* *E855*
 警告: 自动命令功能强大,甚至会导致意想不到的副作用。小心你的文本不要遭到破坏。
 - 最好能先在一个能够牺牲的副本上进行测试。
   例如: 如果你使用自动命令在文件开始编辑时进行解压,应确保写回时能正确执行压缩
@@ -387,7 +387,11 @@
 BufWriteCmd			把整个缓冲区写回到文件前。应执行把文件写回的操
 				作并在成功后复位 'modified' 标志,除非 'cpo'
 				里包含了 '+' 并且写到另一个文件里 |cpo-+|。它
-				不应改动缓冲区的内容。|Cmd-event|
+				不应改动缓冲区的内容。
+				此操作复位 'modified' 时,调整撤销信息,把之前
+				的撤销状态标记为 'modified',这和 |:write| 的
+				行为一致。
+				|Cmd-event|
 							*BufWritePost*
 BufWritePost			把整个缓冲区写回到文件后 (应该撤销 BufWritePre
 				的相关命令)。
@@ -432,8 +436,8 @@
 				示例可见 |match-parens|。
 				小心: 不要做任何用户意想不到或需时很久的事情。
 							*CursorMovedI*
-CursorMovedI			在插入模式下移动光标后。其余细节和 CursorMoved
-				相同。
+CursorMovedI			在插入模式下移动光标后。但有弹出菜单时不激活。
+				其余细节和 CursorMoved 相同。
 							*EncodingChanged*
 EncodingChanged			改变 'encoding' 选项后激活。可用于设定字体。
 							*FileAppendCmd*
@@ -576,15 +580,20 @@
 QuickFixCmdPre			开始执行 quickfix 命令前 (|:make|、 |:lmake|、
 				|:grep|、|:lgrep|、|:grepadd|、|:lgrepadd|、
 				|:vimgrep|、|:lvimgrep|、|:vimgrepadd|、
-				|:lvimgrepadd|、|:cscope|)。对应的模式匹配执行
-				的命令。如果使用 |:grep| 但 'grepprg' 设为
-				"internal",仍然匹配 "grep"。
+				|:lvimgrepadd|、|:cscope|、|:cfile|、
+				|:cgetfile|、|:caddfile|、|:lfile|、
+				|:lgetfile|、|:laddfile|、|:helpgrep|、
+				|:lhelpgrep|)。
+				对应的模式匹配执行的命令。如果使用 |:grep| 但
+				'grepprg' 设为 "internal",仍然匹配 "grep"。
 				该命令不能用于设置 'makeprg' 和 'grepprg' 变
 				量。
 				如果该命令出错,不执行 quickfix 命令。
 							*QuickFixCmdPost*
 QuickFixCmdPost			类似于 QuickFixCmdPre,但在执行 quickfix 命令
-				后,跳转到第一个位置之前。
+				后,跳转到第一个位置之前。|:cfile| 和
+				|:lfile| 等命令则在读入错误文件后,跳转到第一
+				个位置之前执行。
 				见 |QuickFixCmdPost-example|。
 							*RemoteReply*
 RemoteReply			Vim 作为服务器时收到应答时 |server2client()|。
@@ -862,26 +871,29 @@
 注意 'eventignore' 选项也适用于此。不会为该选项列出的事件执行任何命令。
 
 					*:do* *:doau* *:doautocmd* *E217*
-:do[autocmd] [group] {event} [fname]
+:do[autocmd] [<nomodeline>] [group] {event} [fname]
 			应用匹配 [fname] (缺省是当前文件名) 和针对当前缓冲区的
 			{event} 事件的自动命令。如果当前文件不匹配正确的模式,
 			修改完设置,或者想手动执行某一特定的事件的自动命令的时
 			候,都可以使用该命令。
 			自动命令中也可以使用,这样你可以用基于一个扩展名的自动
 			命令来应用于另一个扩展名。例如: >
-				:au Bufenter *.cpp so ~/.vimrc_cpp
-				:au Bufenter *.cpp doau BufEnter x.c
+				:au BufEnter *.cpp so ~/.vimrc_cpp
+				:au BufEnter *.cpp doau BufEnter x.c
 <			要小心避免死循环,参见 |autocmd-nested|。
 
 			如果没有给出 [group] 参数,Vim 执行所有组里的自动命
 			令。如果给出 [group] 参数,Vim 只执行该组里匹配的自动
 			命令。注意: 如果你使用未定义的组名,Vim 会报错。
 
-			应用完自动命令后,会执行模式行。这样那里的设置就有机会
-			否决自动命令里的设置,一如编辑文件时那样。
+							*<nomodeline>*
+			应用完自动命令后,会执行模式行。其中的设置可以否决自动
+			命令里的设置,一如编辑文件时那样。给出 <nomodeline> 参
+			数时,跳过这一步骤。对那些不用于缓冲区载入时的事件,如
+			|User|,这一参数较为有用。
 
 						*:doautoa* *:doautoall*
-:doautoa[ll] [group] {event} [fname]
+:doautoa[ll] [<nomodeline>] [group] {event} [fname]
 			类似于 ":doautocmd",但对每个已载入的缓冲区应用自动命
 			令。注意 [fname] 用于选择自动命令,而不是其应用的缓冲
 			区。