linux vim - msforest/notebook GitHub Wiki

vim

mac 终端键入vimtutor即可进入入门教程 online vimtutor

指令模式:

命令 解读
[Ctrl] + [f] 屏幕“向下”移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b] 屏幕“向上”移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d] 屏幕“向下”移动半页
[Ctrl] + [u] 屏幕“向上”移动半页
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为 word2(常用)
:1,$s/word1/word2/g 从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 !(常用)
:1,$s/word1/word2/gc 从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 !且在取代前显示提示字符给使用者确认 (confirm) 是否需要取代!(常用)
yy 复制光标所在的那一列(常用)
nyy n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
y1G 复制光标所在列到第一列的所有数据
yG 复制光标所在列到最后一列的所有数据
y0 复制光标所在的那个字符到该列行首的所有数据
y$ 复制光标所在的那个字符到该列行尾的所有数据
p, P p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列! (常用)
J 将光标所在列与下一列的数据结合成同一列
c 重复删除多个数据,例如向下删除 10 列,[ 10cj ]
u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点“.”就好了! (常用)

命令行模式:

命令 解读
:w 保存修改的内容
:w! 强制保存
:q 退出
:q! 强制退出
ZZ 这是大写的 Z 喔!若文件没有更动,则不储存离开,若文件已经被更动过,则储存后离开!
:w [filename] 将编辑的数据储存成另一个文件(类似另存新文件)
:r [filename] 在编辑的数据中,读入另一个文件的数据。亦即将 “filename” 这个文件内容加到光标所在列后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个文件。
:! command 暂时离开 vi 到命令行界面下执行 command 的显示结果!例如 :! ls /home即可在 vi 当中察看 /home 下面以 ls 输出的文件信息!
:set nu 显示行号,设置之后,会在每一列的字首显示该列的行号
:set nonu 与 set nu 相反,为取消行号!

区块选择:

命令 解读
v 字符选择,会将光标经过的地方反白选择!
V 列选择,会将光标经过的列反白选择!
[Ctrl]+v 区块选择,可以用长方形的方式选择数据
y 将反白的地方复制起来
d 将反白的地方删除掉
p 将刚刚复制的区块,在光标所在处贴上!
:r filename 读入某个文件的内容
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前这个 vim 的打开的所有文件

多窗口命令:

命令 解读
:sp [filename] 打开一个新窗口,如果有加 filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。
[ctrl]+w+ j/↓ 按键的按法是:先按下 ctrl 不放, 再按下 w 后放开所有的按键,然后再按下 j (向下),则光标可移动到下方的窗口。
[ctrl]+w+ k/↑ 光标移动到上面的窗口
[ctrl]+w+q 等于 ctrl+w+↓ 和 :q