(不知道就 :help 操做名)web
首先用vim打开文件:(vim区分大小写)shell
在shell(windows就是cmd)gvim filename 或 vim filename(多个g就是GUI的G)vim
我通常是直接打开vim而后 :cd D:\ 到d盘而后:E显示文件列表,:e! filename 编辑本身的文件
windows
移动光标:用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。向上移动9行,编辑器
这能够用"kkkkkkkkk"或"9k"来完成 spa
向上移动9行: kkkkkkkkk=9k(参数+操做符)命令行
操做模式:(到这能够用vim写东西了)orm
u撤销命令,ctrl+r是重作文档
dd删除当前行,放入register字符串
D删除光标至最后=d$
d^删除光标以前
操做模式—>插入模式:
a 光标下一个字符后输入
i 当前光标位置输入
o 进入插入模式,当前行下面插入新行输入
O 进入插入模式,当前行上面插入新行输入
cc删除本行,进入插入模式(光标移动到格式对齐位置)
C删除光标到该行结尾,进入插入模式
s 删除当前字符,进入插入模式
S删除当前行,进入插入模式
注:以上的删除操做都是将删除的文本放到了register中。你能够试试p看看你在register中都放了啥吧
*************************************************************************************************
x 删除当前光标下字符存入register,X删除光标前一个字符
(和s不一样的是,x不进入插入模式)
J 删除换行符(就是\n)
退出输入模式Esc进入操做模式
内容写入文件:
在操做模式下输入冒号 “:”后面跟着命令,
eg. :w name.txt
:w 为存储正在编辑的文件, 若是不带扩展名就会保存当前编辑文件
(以上操做vim不让就在操做符后面加!)
:q退出当前窗口,后面还有ZZ, :close
-----------------------------------------------------------------------------------------------------------------
(以为选择模式类就是在操做模式上能够用光标选择本身要编辑的字符串而已)
在操做模式按v
h , j, k, l 移动光标选择内容
y 复制内容
p 粘贴内容
-----------------------------------------------------------------------------------------------------------
R开始替换,相似insert键
r在光标下替换字符
u, U改变当前光标字符大小写(可视模式(v)下)
---------------------------------------------------------------------------------------------------------------
修改当前操做目录
:cd path_name (:cd D: X, :cd D:\ √)
新建文件:
:new file_name.后缀
新建后用 :w 保存,不然直接关闭不会产生。若是当前已经有正在编辑的文件则在打开之后分裂窗口
放弃编辑:
丢弃全部的修改并退出:q!
解释:这个命令由3部分组成:冒号(:),用以进入冒号命令行模式;q命令,告诉编辑器退出;最后是强制命令执行的修饰符(.!)
用":e!"命令放弃全部修改并从新载入该文件的原始内容
打开文件:
第一种:
:e fileName 能够带文件路径,可以使用tab键进行文件夹名称和文件名称的自动补全,
没事多按几下
第二种:
vi filename1 filename2
能够同时打开多个文件
只打开文件时,操做结果和":"命令相同
第三种:
:split filename
会将当前窗体分为多个区域,在新的区域打开文件
第四种:
能够在其余操做命令前加"tab"
eg. tabnew文件名, :tabe 文件名
文件间的切换:
第一种:"ctrl+wwww"(w安的久一点)或ctrl+6用来切换当前区域编辑的前一个文档
第二种: :ls而后 :e#编号
先使用ls显示已经打开文件列表和编号
而后用:e#编号 切换须要编辑的而文件
在:ls中各文件的编号在为离开vim前是不会改变的
----------------------------------------------------------------------------------------------------------------
以Word为单位的光标移动:
"w"命令能够将光标向前移动一个word的首字符
3w就是移动3个word
"b"命令则将光标向后移动到前一个word的首字符上
"e"命令会将光标移动到下一个word的最后一个字符
"ge",它将光标移动到前一个word的最后一个字符上
移动到行首或行尾:
"$"命令将光标移动到当前行行尾<End>键
"^"命令将光标移动到当前行的第一个非空白字符上
如"1$"会将光标移动到当前行行尾,"2$"则会移动到下一行的行尾
同理 ^ 不同。。。
命令"fx"在当前行上查找下一个字符x, eg. 3fl,找到第三个l
"F"命令向左方向搜索
"tx"命令形同"fx"命令, T为反方向
t,f的重复操做可用";"来重复。以","也是重复一样的命令,可是方向与原命令的方向相反
移动到指定行
G23到底23行,没参数会到最后一行
"90%"跳到接近文件尾的地方
"H"意为Home, "M"为Middle, "L"为Last.分别为首,中,尾部。
匹配一个括号为目的的移动 %
显示行号:
:set number (:set nu)
:set nonumber
显示当前光标位置:
:set设置 ruler 选项。这会在Vim窗口的右下角显示当前光标位置
滚屏:
CTRL-U命令会使文本向上滚动半屏
CTRL-D命令将窗口向下移动半屏
要一次滚动一行可使用CTRL-E(向上滚动)和CTRL-Y(向下滚动)。
"zz"命令会把当前行置为屏幕正中央:
"zt"命令会把当前行置于屏幕顶端
"zb"则把当前行置于屏幕底端
简单搜索:
"/string"命令可用于搜索一个字符串.
eg./include 搜索include
要查找上次查找的字符串的下一个位置。使用"n"命令"?"命令与"/"的工做相同,
只是搜索方向相反使用 n向前查找