📄 quickref.cnx
字号:
|:all| :all or :sall 为参数列表中的每个文件打开一个窗口|:wn| :wn[ext][!] 写入文件并编辑下一个|:wn| :wn[ext][!] {file} 写入 {file} 并编辑下一个文件, 除非 文件 {file} 已经存在. 使用 !, 覆盖 已存在的文件.|:wN| :wN[ext][!] [file] 写入文件并编辑前一个文件 在当前窗口 新建窗口 ~|:argument| :argu[ment] N :sar[gument] N 编辑文件 N|:next| :n[ext] :sn[ext] 编辑下一个文件|:next_f| :n[ext] {arglist} :sn[ext] {arglist} 定义新的文件列表并编辑 其中的第一个|:Next| :N[ext] :sN[ext] 编辑前一个文件|:first| :fir[st] :sfir[st] 编辑第一个文件|:last| :la[st] :sla[st] 编辑最后一个文件------------------------------------------------------------------------------*Q_wq* 写入和退出|:w| :[range]w[rite][!] 写入当前文件|:w_f| :[range]w[rite] {file} 写入至文件 {file}, 除非其已经存在|:w_f| :[range]w[rite]! {file} 写入至文件 {file}. 覆盖已存在的文件|:w_a| :[range]w[rite][!] >> 添加至当前文件|:w_a| :[range]w[rite][!] >> {file} 添加至 {file}.|:w_c| :[range]w[rite] !{cmd} 执行命令 {cmd},以 [range] 代表的行 作为标准输入。|:up| :[range]up[date][!] 如果当前文件被改动则写入|:wall| :wa[ll][!] 写入所有被改动的缓冲区|:q| :q[uit] 退出当前缓冲, 除非已经做了改动. 如果没有其它 非帮助的缓冲, 退出 Vim|:q| :q[uit]! 强制退出当前缓冲, 放弃所有的改动. 如果没有其它 非帮助的缓冲, 退出 Vim|:qa| :qa[ll] 退出 Vim, 除非作了改动|:qa| :qa[ll]! 退出 Vim, 废除所有改动|:cq| :cq 推出,不写入文件并返回错误代码|:wq| :wq[!] 写入当前文件并退出|:wq| :wq[!] {file} 写入文件 {file} 并退出|:xit| :x[it][!] [file] 同 ":wq" 但是仅当有改动时写入|ZZ| ZZ 同 ":x".|ZQ| ZQ 同 ":q!".|:xall| :xa[ll][!] or :wqall[!] 写入所有改动的缓冲并退出|:stop| :st[op][!] 挂起 VIM 或开始一个新 shell. 如果设置了 'aw' 选项 并没有给出 [!] 则写入缓冲.|CTRL-Z| CTRL-Z 同 ":stop"------------------------------------------------------------------------------*Q_st* 启动 VIM|-vim| vim [options] 启动vim并开起一个空白缓冲|-file| vim [options] {file} .. 启动并编辑一个或多个文件|--| vim [options] - 从标准输入读入文件|-tag| vim [options] -t {tag} 编辑于标签 {tag} 关联的文件|-qf| vim [options] -q [fname] 以快速纠正模式开始编辑, 显示第一个错误. Vim 参数:|-gui| -g 启动 GUI (同时允许其他选项)|-+| +[num] 至光标于第 [num] 行(缺省: 末行)|-+c| +{command} 载入文件后执行命令 {command}|-+/| +/{pat} {file} .. 至光标于第一次出现 {pat} 处|-v| -v Vi 模式, 以普通模式起动 ex|-e| -e Ex 模式, 以 Ex 模式启动 vim |-R| -R 只读模式, 隐含 -n|-m| -m 禁止修改 (重置 'write' 选项)|-b| -b 二进制模式|-l| -l lisp 模式|-A| -A 阿拉伯模式 ('arabic' is set)|-F| -F Farsi 模式 ('fkmap' 和 'rightleft' are set)|-H| -H Hebrew 模式 ('hkmap' and 'rightleft' are set)|-V| -V Verbose, 给出更多信息|-C| -C 兼容, 设置 'compatible' 选项|-N| -N 不兼容, 复位 'compatible' 选项|-r| -r 给出交换文件列表|-r| -r {file} .. 恢复中断的编辑|-n| -n 不创建交换文件|-o| -o [num] 打开 [num] 个窗口 (缺省: 每个文件一个窗口)|-f| -f GUI: 前台进程, 不调用 fork Amiga: do not restart VIM to open a window (for e.g., mail)|-s| -s {scriptin} 先从文件 {scriptin} 读入命令|-w| -w {scriptout} 把键入的字符写进文件 {scriptout} (添加)|-W| -W {scriptout} 把键入的字符写进文件 {scriptout} (覆盖)|-T| -T {terminal} 设置终端名|-d| -d {device} Amiga: open {device} to be used as a console|-u| -u {vimrc} 从文件 {vimrc} 而非其它文件读入初始化命令|-U| -U {gvimrc} 同上, 但用于启动 GUI 时|-i| -i {viminfo} 从文件 {viminfo} 而不是其它文件读入 info |---| -- 结束选项, 其余的参数都将是文件名|--help| --help 显示参数列表并退出|--version| --version 显示版本信息并退出|--| - 从标准输入读入文件------------------------------------------------------------------------------*Q_ac* 自动命令|viminfo-file| 在启动时读入寄存器, 标记, 历史记录, 退出时存储这些信息.|:rviminfo| :rv[iminfo] [file] 从文件 [file] 读入 viminfo 信息|:rviminfo| :rv[iminfo]! [file] 同上, 但覆盖已存在的信息|:wviminfo| :wv[iminfo] [file] 向文件 [file] 中加入 viminfo 信息|:wviminfo| :wv[iminfo]! [file] 向文件 [file] 中加入 viminfo 信息|modeline| 当编辑一个文件时自动设定的选项|modeline| vim:{set-arg}: .. 至于文件的第一行或最后一行 (参见 'ml' 选项), {set-arg} 被用于 ":set" 命令的参数|autocommand| 特定时间发生时自动执行命令|:autocmd| :au 列出所由自动命令|:autocmd| :au {event} 列出事件 {event} 的所由自动命令|:autocmd| :au {event} {pat} 列出事件 {event} 的所由自动命令 并使用文件匹配 {pat}|:autocmd| :au {event} {pat} {cmd} 为事件 {event} 及文件匹配 {pat} 加入 新的自动命令|:autocmd| :au! 清除所有自动命令|:autocmd| :au! {event} 清除所有事件 {event} 的自动命令Remove all autocommands for {event}|:autocmd| :au! * {pat} 清除所有文件匹配 {pat} 的自动命令|:autocmd| :au! {event} {pat} 清除所有文件匹配 {pat} 及事件 {event} 的自动命令|:autocmd| :au! {event} {pat} {cmd} 清除所有文件匹配 {pat} 及事件 {event} 的 自动命令并加入新的------------------------------------------------------------------------------*Q_wi* 多窗口命令|CTRL-W_s| CTRL-W s 或 :split 将窗口分割成两部分|:split_f| :split {file} 分隔窗口并在其中一个编辑 {file} |:sfind| :sf[ind] {file} 分隔窗口, 从 {path} 中找到文件 {file} 并编辑之|:vsplit| :vsplit {file} 同上,但垂直分割|:vertical| :vertical {cmd} 使命令 {cmd} 垂直分割|CTRL-W_]| CTRL-W ] 分割窗口并跳转至光标下的标签|CTRL-W_f| CTRL-W f 分隔窗口并编辑光标下的文件|CTRL-W_^| CTRL-W ^ 分隔窗口并编辑 alternate file|CTRL-W_n| CTRL-W n 或 :new 创建新空白窗口|CTRL-W_q| CTRL-W q 或 :q[uit] 退出编辑并关闭窗口|CTRL-W_c| CTRL-W c 或 :cl[ose] 隐藏当前缓冲区并关闭窗口|CTRL-W_o| CTRL-W o 或 :on[ly] 使当前窗口成为唯一窗口|CTRL-W_j| CTRL-W j 跳转至下方窗口|CTRL-W_k| CTRL-W k 跳转至上方窗口|CTRL-W_CTRL-W| CTRL-W CTRL-W 移动光标至下方窗口 (折转)|CTRL-W_W| CTRL-W W 移动光标至上方窗口 (折转)|CTRL-W_t| CTRL-W t 跳转至顶端窗口|CTRL-W_b| CTRL-W b 跳转至底端窗口|CTRL-W_p| CTRL-W p 跳转至上一次激活的窗口|CTRL-W_r| CTRL-W r 向下旋转窗口|CTRL-W_R| CTRL-W R 向上旋转窗口|CTRL-W_x| CTRL-W x 将当前窗口于下一个窗口对调|CTRL-W_=| CTRL-W = 使所有窗口等高|CTRL-W_-| CTRL-W - 减少当前窗口高度|CTRL-W_+| CTRL-W + 增加当前窗口高度|CTRL-W__| CTRL-W _ 设置当前窗口高度 (缺省: 很高)------------------------------------------------------------------------------*Q_bu* 缓冲区列表命令|:buffers| :buffers 或 :files 列出所有已知的缓冲和文件名|:ball| :ball 或 :sball 编辑所有的缓冲|:unhide| :unhide 或 :sunhide 编辑所有载入的缓冲|:badd| :badd {fname} 加入文件名 {fname} 到列表中 |:bunload| :bunload[!] [N] 从内存中卸载缓冲 [N] |:bdelete| :bdelete[!] [N] 从内存中卸载缓冲 [N] 并从列表中 删除 当前窗口内 新窗口内 ~|:buffer| :[N]buffer [N] :[N]sbuffer [N] 转到参数/缓冲 N|:bnext| :[N]bnext [N] :[N]sbnext [N] 转到后面的第 N 个参数/缓冲|:bNext| :[N]bNext [N] :[N]sbNext [N] 转到前面的第 N 个参数/缓冲|:bprevious| :[N]bprevious [N] :[N]sbprevious [N] 转到前面的第 N 个参数/缓冲|:bfirst| :bfirst :sbfirst 转到第一个参数/缓冲|:blast| :blast :sblast 转到最后一个参数/缓冲 |:bmodified| :[N]bmod [N] :[N]sbmod [N] 转到第 N 个被改动了的缓冲------------------------------------------------------------------------------*Q_sy* 语法高亮|:syn-on| :syntax on 开始使用语法加亮|:syn-off| :syntax off 停止使用语法加亮|:syn-keyword| :syntax keyword {group-name} {keyword} .. 添加语法关键字项|:syn-match| :syntax match {group-name} {pattern} ... 加入语法匹配项|:syn-region| :syntax region {group-name} {pattern} ... 添加语法区域项|:syn-sync| :syntax sync [ccomment | lines {N} | ...] 设置语法加亮的同步方式|:syntax| :syntax [list] 列出当前语法项|:syn-clear| :syntax clear 清除所有语法信息|:highlight| :highlight clear 清除所有加亮信息|:highlight| :highlight {group-name} {key}={arg} .. 为语法组 {group-name} 设置加亮|:filetype| :filetype on 开启文件类型侦测, 不包括 语法高亮|:filetype| :filetype plugin indent on 开启文件类型侦测, 包括 包括自动缩进及设置------------------------------------------------------------------------------*Q_gu* GUI 命令|:gui| :gui UNIX: 启动 GUI|:gui| :gui {fname} .. 同上, 并编辑 {fname} ..|:menu| :menu 列出所有菜单|:menu| :menu {mpath} 列出 {mpath} 下的所有菜单 |:menu| :menu {mpath} {rhs} 将 {lhs} 加入菜单 {mpath}|:menu| :menu {pri} {mpath} {rhs} 同上, 并带有优先权 {pri}|:menu| :menu ToolBar.{name} {rhs} 将 {lhs} 加入工具条|:tmenu| :tmenu {mpath} {text} 为菜单 {mpath} 加入 tooltip |:unmenu| :unmenu {mpath} 删除菜单 {mpath}------------------------------------------------------------------------------*Q_fo* 折叠|'foldmethod'| set foldmethod=manual 手动折叠 set foldmethod=indent 按照缩近折叠 set foldmethod=expr 按照表达式 'foldexpr' 折叠 set foldmethod=syntax 按照语法区域折叠 set foldmethod=marker 按照标记 'foldmarkers' 折叠|zf| zf{motion} 操作符: 手动定义一个折叠|:fold| :{range}fold 将范围 {range} 包括的行定义为一个折叠|zd| zd 删除光标下的一个折叠|zD| zD 删除光标下的所有折叠|zo| zo 打开光标下的折叠|zO| zO 打开光标下的所有折叠|zc| zc 关闭光标下的一个折叠|zC| zC 关闭光标下的所有折叠|zm| zm 折起更多: 减少 'foldlevel'|zM| zM 关闭所有折叠: 置 'foldlevel' 为0|zr| zr 减少折叠: 增加 'foldlevel'|zR| zR 打开所有折叠: 置 'foldlevel' 为最大|zn| zn 什么也不折叠: 重置 'foldenable'|zN| zN 正常折叠: 置 'foldenable'|zi| zi 反转 'foldenable' vim:tw=78:ts=8:ft=help:norl:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -