]现在用上面的两段文字来试试 ( 和 )C的程序设计者对接下来的这两个指令可能会感兴趣.C的函式(function)都是用 { 和 } 括起来的,如果你把各函式的 { 都放在一行的第一个位置那么vi便可以让你用 [[ 和 ]] 轻松穿梭于各函式之间 [[ 跳往上一个函式 ]] 跳往下一个函式若vi在整个档里都找不到最左边是行首是 { 的符号时, 按[[ 和 ]] 就会跳到档头和档尾[实作] 现在下面有几个函式,试着用 ]] 和 [[ 来回切换于各函式间.main(){ helloworld();}helloworld(){ printf( "Hello world\n" );}搜寻----- /string 向后寻找 string 这个字符串 ?string 往前寻找 string 这个字符串 n 重复上一个 / 或 ? 的指令,继续寻找 N 重复上一个 / 或 ? 的指令,反向继续寻找vi may search past the bottom of the file and then start again at the top.(Or, vi may search past the top and then start again at the bottom.)[实作]现在请你询找 "the" 这个字符串三次,再反向找三次回到这个位置步骤如下 先按 /the 再按 RETURN. 按三次 n 按 N 直到你再次回到这个位置总结------- w 光标跳到下个word的开头 e 光标跳到下个word的字尾 b 光标回到上个word的开头 $ 移到光标所在行的行尾 ^ 移到该行第一个非空白的字符 0 移到该行的开头位置 #| 移到该行的第 # 个位置 例: 5| 12| f char 寻找(FIND) 本行中下一个 char 字符 t char 将光标移到本行中下一个 char 字符之前 F char 寻找本行中前一个char所在的位置 T char 移到本行中前一个 char 字符之后 ; 重复上一个 f, t, F, 或 T 的动作 , 反向重复上一个 f, t, F, 或 T 的动作 % 寻找有无对应的 () {} 或 [] H 移到光标到画面的最上方 (HIGHEST) M 移到光标到画面的中间 (MIDDLE) L 移到光标到画面的最下方 m char (MARK) 把这个地方标示成 char ' char (quote character) 跳到被标为 char的那一行 ' (按两次') 回到刚才的位置 G GO to the last line in the file #G GO to line #. (e.g., 3G , 5G , 175G ) G (GO) 跳到档案的最后一行. #G (GO to line #). 跳到第 # 行 (例: 3G , 5G , 124G ) { (左大括号) 跳到上一段的开头 } (右大括号) 跳到下一段的的开头. ( (左小括号) 移到这个句子的开头 ) (右小括号) 移到下一个句子的开头 [[ 跳往上一个函式 ]] 跳往下一个函式 /string 向后寻找 string 这个字符串 ?string 往前寻找 string 这个字符串 n 重复上一个 / 或 ? 的指令,继续寻找 N 重复上一个 / 或 ? 的指令,反向继续寻找现在你应该已经能够很顺畅的在档案中自由的移动光标了.尤其是若你的数据机(modem)速度很慢时,这些指令更加显的有用.请你继续练习这些指令,接下来再进行第三课: vi的剪贴功能 或第四课: vi的一些其它特殊的插入技巧.加油!