VIM命令小结 启动vi命令 删除和修改文本 命令 功能 Normal模式,命令前可以添加重复因子,c表示任意字符。 Vi filename 从第一行开始编辑filename文件 命令 作用 vi +n filename 从第n行开始编辑filename文件 从当前字符开始的n个字符(含当前字符) vi+filename 从最后一行开始绵辑filename文件 副除从当前字符前面的n个字符(不含当前字符) i+pattern filename从包含pattern的第一行开始编辑 ndd 刷除当前行开始的n行 vi-r filename 在系统崩溃之后恢复filename文件 do 用到除到行首 vi-R filename 以只读方式编辑filename文件 D、ds 除到行尾 个单词。若光标处在某个词的中间,则从光 光标移动命令Normal模式,命令前可加上一个重复因子 dw 标所在位置开始删至词尾 命令 功能 dte 刷除到位于当前行的下一个字符c SPACE、、右向箭头 光标向右移动一格 改变从当前字符开始的个字符的大小写 BACKSPACE、h、左向箭头光标向左移动一格 下面命令使vim处于Insert模式,按Esc键回Normal模式 k、向上箭头 光标向上移动一行,光标列向位置不变 ns 替换由所指定数目的字符 光标移到上面一行的开处 特换整行 j、向下箭头 光标向下移动一行,光标列向位置不变 修改由n所指定数日的行 十,RETURN光标移到下面一行的开始 ctc 修改到位于当前行的下一个字符 A、0 光标移到所在行的开始 修改到行尾 光标移到所在行的尾 光标右移一个单词 复制与粘贴Normal模式,可以添加重复因子 W W 右移一个以空格作为分隔符的单词 命令 作用 h 光标左移一个单词 y、Y复制当前行开始的n行 B 左移 个以空格作为分隔符的单词 0 复制至行首,不含光标所在处字符, e 光标右移到一个单词的结尾 复制至行尾,含光标所在处字符 E 右移一个以空格作为分隔符的单词结尾 nyw 复制n个wor 光标移到本句下一句的开始 G 复制至文件尾,包含当前行 光标移到本节/下一节的开始 yIG 复制至文件首,包含当前行 粘贴至光标后,若整行复制则贴在当前行下面 1》 光标移到本段/下一段的开始 光标移到文件末尾 粘贴至光标前,若整行复制则贴在当前行上面 光标按屏幕移动部分命令前可加上一个重复因子 搜素字符串表中rxp是正则表达式,可以是单个字符串 命令 功能 命令 作用 Ctrl+d 向前移动半个屏幕 ep回车向前搜索rexp Ctrlu 向后移动半个屏幕 rex迎回车 向后搜索rexp Ctrl+f 向前移动一个屏幕 n 重复最近一次的博索 Ctrl+b 向后移动一个屏幕 重复最近一次的搜索,但搜索方向相反 nG 光标移到第n行,不指定n,则移到最后一行 向前重复最近一次的搜索 H/M/L光标移到屏幕顶部/中部/底部 ?回车 向后重复最近一次的搜索 ●% 可以查找配对的括号)、、} 添加文本所有命令(除r命令外)都使vi处于Insert模式 必须按Esc罐才能回到Normal模式 其它命令 命令 文本添加位置 命令 作用 在光标前/在该行的第一个非空白字符前 将当前行和下面一行连接起来 a/A在光标后/所在行的行尾 重复上一次有效命今 0/0 在当前行的下面/上面新建一行 取消对整行的所有修改操作 替换当前字符(一次只能替换一个) 取消上 次操 可连续使用 替换从当前字符开始的字符,直到按Esc键为止 Ctrl+r 取消上一次的取消命令山,可连续使用 将工作缓存区内容写入当前文件 替换字符串替换命令的一般格式为 w fname 将工作缓存区内容写入由fname指定的文件 [address]s/old/rew[/cg] q/:q! 退出vⅵ/强行退出v 命令中的元素含义 wq 存盘退出 address 个搜索字符串、 :个行编号或是一个 77 将工作缓存区内容写入当前文件并退出 例: 由逗号分隔的两个行号。其中“”表示当 作用同77 :s/old/new 前行,“$”表示最后一行,%”表示整个 :r fname 插入文件fhame中的内室 :Ss/old/new/g 文件。用户可以使用标记或搜索字符申 :sp fname 切分新窗口,打开指定文件,用ctl+ww切换 :%s/old/new/ge 来代棒行号 Ctrl+p/n Insert模式下,向上/下搜索,补全一个词 old 被替换的字符串 Ctrl+xl nser模式补全一行,ctrl+ph选择上/下一个匹鼋 new 替换字符串 替换前要求确认 :bash 打开bash,退出后自动回到vim "nD 提取寄存器n(19)中的内容 指定一个全局替换(每行不止替换一处 :n/:N同时打开多个文件时,在文件之间切换
VIM 命令小结 启动 vi 命令 命令 功能 Vi filename 从第一行开始编辑 filename 文件 vi +n filename 从第 n 行开始编辑 filename 文件 vi + filename 从最后一行开始编辑 filename 文件 vi +/pattern filename 从包含 pattern 的第一行开始编辑 vi –r filename 在系统崩溃之后恢复 filename 文件 vi –R filename 以只读方式编辑 filename 文件 光标移动命令 Normal 模式,命令前可加上一个重复因子 光标按屏幕移动 部分命令前可加上一个重复因子 添加文本 所有命令(除 r 命令外)都使 vi 处于 Insert 模式, 必须按 Esc 键才能回到 Normal 模式 替换字符串 替换命令的一般格式为 :[address]s/old/rew[/cg] 命令中的元素 含义 address 例: :s/old/new :.,$s/old/new/g :%s/old/new/gc 一个搜索字符串、一个行编号或是一个 由逗号分隔的两个行号。其中“.”表示当 前行,“$”表示最后一行,“%”表示整个 文件。用户可以使用标记或搜索字符串 来代替行号。 old 被替换的字符串 new 替换字符串 c 替换前要求确认 g 指定一个全局替换(每行不止替换一处) 命令 功能 SPACE、l、右向箭头 光标向右移动一格 BACKSPACE、h、左向箭头 光标向左移动一格 k、向上箭头 光标向上移动一行,光标列向位置不变 - 光标移到上面一行的开始 j、向下箭头 光标向下移动一行,光标列向位置不变 +,RETURN 光标移到下面一行的开始 ^、0 光标移到所在行的开始 $ 光标移到所在行的末尾 w 光标右移一个单词 W 右移一个以空格作为分隔符的单词 b 光标左移一个单词 B 左移一个以空格作为分隔符的单词 e 光标右移到一个单词的结尾 E 右移一个以空格作为分隔符的单词结尾 ( / ) 光标移到本句/下一句的开始 [[ / ]] 光标移到本节/下一节的开始 { / } 光标移到本段/下一段的开始 :$ 光标移到文件末尾 命令 功能 Ctrl+d 向前移动半个屏幕 Ctrl+u 向后移动半个屏幕 Ctrl+f 向前移动一个屏幕 Ctrl+b 向后移动一个屏幕 nG 光标移到第 n 行,不指定 n,则移到最后一行 H/ M/ L 光标移到屏幕顶部 / 中部 / 底部 命令 文本添加位置 i / I 在光标前 / 在该行的第一个非空白字符前 a / A 在光标后 / 所在行的行尾 o / O 在当前行的下面 / 上面新建一行 r 替换当前字符(一次只能替换一个) R 替换从当前字符开始的字符,直到按 Esc 键为止 删除和修改文本 Normal 模式,命令前可以添加重复因子,c 表示任意字符。 命令 作用 nx 删除从当前字符开始的 n 个字符(含当前字符) nX 删除从当前字符前面的 n 个字符(不含当前字符) ndd 删除当前行开始的 n 行 d0 删除到行首 D、d$ 删除到行尾 dw 删除一个单词。若光标处在某个词的中间,则从光 标所在位置开始删至词尾 dtc 删除到位于当前行的下一个字符 c n~ 改变从当前字符开始的 n 个字符的大小写 下面命令使 vim 处于 Insert 模式,按 Esc 键回 Normal 模式 ns 替换由 n 所指定数目的字符 S 替换整行 ncc 修改由 n 所指定数目的行 ctc 修改到位于当前行的下一个字符 c C 修改到行尾 复制与粘贴 Normal 模式,可以添加重复因子 命令 作用 nyy、nY 复制当前行开始的 n 行 y0 复制至行首,不含光标所在处字符。 y$ 复制至行尾,含光标所在处字符 nyw 复制 n 个 word yG 复制至文件尾,包含当前行 y1G 复制至文件首,包含当前行 p 粘贴至光标后,若整行复制则贴在当前行下面 P 粘贴至光标前,若整行复制则贴在当前行上面 搜索字符串 表中 rexp 是正则表达式,可以是单个字符串 命令 作用 /rexp 回车 向前搜索 rexp ?rexp 回车 向后搜索 rexp n 重复最近一次的搜索 N 重复最近一次的搜索,但搜索方向相反 / 回车 向前重复最近一次的搜索 ? 回车 向后重复最近一次的搜索 % 可以查找配对的括号 )、]、} 其它命令 命令 作用 J 将当前行和下面一行连接起来 . 重复上一次有效命令 U 取消对整行的所有修改操作 u 取消上一次操作,可连续使用 Ctrl+r 取消上一次的取消命令 u,可连续使用 :w 将工作缓存区内容写入当前文件 :w fname 将工作缓存区内容写入由 fname 指定的文件 :q / :q! 退出 vi / 强行退出 vi :wq 存盘退出 ZZ 将工作缓存区内容写入当前文件并退出 :x 作用同 ZZ :r fname 插入文件 fname 中的内容 :sp fname 切分新窗口,打开指定文件,用 ctrl+ww 切换 Ctrl+p/n Insert 模式下,向上/下搜索,补全一个词 Ctrl+xl Insert 模式补全一行,ctrl+p/n 选择上/下一个匹配 :!bash 打开 bash,退出后自动回到 vim ”np 提取寄存器 n(1~9)中的内容 :n / :N 同时打开多个文件时,在文件之间切换