move to github 点击打开链接
------------------------------------------
word转成html再搞到csdn这块,效果不是很好,表格每行显示太高........囧
----------------------------
VIM命令训练稿
目录
1.打开文件操作...1
2.存储及退出文件...2
3.模式转换...2
4.光标移动...3
5.插入...4
6.删除...4
7.复制和黏贴...5
8.查找...5
9.替换...6
10.编辑多个文件...6
11.其他命令...6
12分屏操作...7
13 vim的帮助指令...9
14.七个习惯
1.打开文件操作
vi |
进入vi而不读入任何文件 |
vi filename |
进入vi并读入指定名称的文件 |
vi filename....filename |
打开多个文件,依次进行编辑 |
vi +n filename |
进入vi并且由文件的第几行开始。 |
vi + filename |
进入vi并且由文件的最后一行开始。 |
vi +/pattern filename |
打开文件,并将光标置于第一个与pattern匹配的串处 |
vi -r filename |
在上次正用vi编辑时发生系统崩溃,恢复filename |
vim -R file |
只读方式打开文件 |
vimdiff fileA fileB |
比较编辑两个不同的文件 |
2.存储及退出文件
保存 |
|
:wq 或者 :x |
存文件,并且退出vi |
ZZ |
保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车) ZZ = wq |
:w |
保存当前文件 |
:w filename |
写入指定文件,相当于另存为,但未退出vi(若未指定文件名则为当前工作的文件名) 可带行范围 :n1,n2 w filename |
:w /tmp/1 |
既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1 |
:saveas <path/to/file> |
另存为 <path/to/file> |
退出 |
|
:q |
不作任何修改并退出vi (多屏时用qa) |
:q! |
放弃任何修改并退出vi |
ZQ |
无条件退出 |
编辑 |
|
:e filename |
打开文件filename进行编辑[相当于退出当前的并打开另一个文件] |
:e! |
放弃修改文件内容,重新载入该文件编辑 |
:e |
重新载入【类似刷新】 |
:w !sudo tee % |
以普通用户身份打开的vim,修改后以root身份保存 |
其他 |
|
ctrl + z / fg |
暂时挂到后台/跳回编辑页面 |
:f 或 Ctrl-g |
显示文件名,当前光标所在行的行号,总的行数,以及当前行所在文件中的百分比和当前光标所在的列的信息 |
:!command |
暂时退出vi并执行shell指令,执行完毕后再回到vi |
:r!command |
将命令command的输出结果放到当前行【强大】 |
:sh |
暂时退出vi到系统下,结束时按Ctrl + d则回到vi。 |
vim -x exam.txt |
新编辑的文件加密,会提示输入密码 |
:X |
文件加密,会提示输入密码 |
:map |
列出当前已定义的映射 (如何定义映射?) |
:jumps |
列出关于你曾经跳转过的位置的列表,你最后一个跳转的位置被特别以一个”>”号标记 |
:marks |
列出自定义的标记,包含VIM内部自定义的标识 |
:%!nl |
要对包含空行的所有行进行编号(所有行之前插入行号^I) |
:version |
显示VIM版本信息,包含特性、编译方式及配置文件目录 |
:n1,n2 w ! command |
将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入【注意空格】例如 :1,4 w! grep tom |
:options |
打开一个新窗口, 在该窗口的最开头的注释下面是一个选项列表(do what?) |
:r filename |
在光标所在处插入一个文件的内容(read) 可加入数字 :nr filename |
:f filename |
改变编辑中的文件名(file) 相当于复制了一个文件,执行这个命令后,新编辑不会应用于原文件 |
gf |
vim特殊打开文件的方法,打开光标所在处的 word 为名的文件,当然,这个文件要在当前目录内,否则会创建新文件 |
3.模式转换
1)命令行模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
a i o进入插入模式
:进入底行模式
2)插入模式(Insert mode)<i/a/o/O> Insert 2Insert
只有在Insert mode下,才可以做文字输入
按「ESC」键可回到命令行模式。
3)底行模式(last line mode)Normal模式
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等,使用命令执行编辑操作等
可缩写(:setà:se)补齐(tab键的功效+CTRL-D) 历史记录(借助CTRL-UP)
/ (查找) ?(反查)
4) Visual模式<v / V / CTRL-v /r>
4.光标移动
字符 默认1,可加n |
|
h |
光标左移一个字符[回退键Backspace] |
l |
光标右移一个字符[空格键Space] |
BP:
hkjl作为移动光标【important,同方向键,建议使用这四个】
单词 默认1,可加n |
|
w |
光标跳到下个word的第一个字母 [常用] |
W |
移到下一个字的开头,忽略标点符号 |
b |
光标回到上个word的第一个字母 |
B |
移到前一个字的开头,忽略标点符号 BACK |
e |
光标跳到下个word的最后一个字母 |
E |