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 |