05 April 2014

工作模式


vim 三种模式:普通模式,编辑模式,命令模式。


模式切换


vim 默认进入普通模式,按相关快捷键进入编辑模式,按“:”进入命令模式。

从编辑模式,按“Esc”键,退出到普通模式。


进入编辑模式快捷键


a     进入编辑模式,后续输入的内容将插入到当前光标所在字符的后面。
A     进入编辑模式,后续输入的内容将插入到当前光标所在行的后面。
s     删除光标所在的字符,进入编辑模式。
S     删除光标所在行,进入编辑模式。
i     进入编辑模式,后续输入的内容将插入到当前光标所在字符的前面。
I     进入编辑模式,后续输入的内容将插入到当前光标所在行的前面。
o     在光标所在行的后面创建空白行进入编辑模式。
O     在光标所在行的前面创建一空白行进入编辑模式。

普通模式中的快捷键


vim中最简单的光标移动方式,是通过上下左右键去移动,但是效率低下。还可以在普通模式下,通过快捷键移动光标所在的位置。

移动光标的快捷键:

h     光标向左移动一位。
l     光标向右移动一位。
j     光标向下移动一行。
k     光标向上移动一行。
w     光标向左移动一个单词。
b     光标向右移动一个单词。

gg    光标移动到文件的首行。
G     光标移动到文件的末尾。
nG    光标移动到文件的第 n 行。
^     光标移动到当前行的行首。
$     光标移动到当前行的行尾。

编辑文档的快捷键

x     删除当前光标所在字符。
dd    删除光标所在的一行。
ndd   删除光标所在行一下的 n 行,(3dd,删除3行)
d$    删除光标所在字符至行尾。
J     删除换行符,两行合并成一行。
u     撤销上一步操作。
r     替换光标所在的字符。(rb ,将光标所在字符替换成b)
yy    复制光标所在的行。
p     粘贴到当前行之后。
P     粘贴到当前行之前。
ZZ    保存并退出当前文档。
Ctrl+N   自动补全功能。(内容中已经出现过的单词可以通过快捷键自动补全)

vim 内容查找和替换


查找

在vim 中使用“ / ” 关键词实现从上往下查找关键词内容。 在vim 中使用“ ? ” 关键词实现从下往上查找关键词内容。

demo :

/class      //从上往下查找文件中的class单词
?class      //从下往上查找文件中的class单词

通过快捷键 “ n ” 跳到下一个匹配的关键词处,“ N ” 跳到上一个匹配的关键词处。

替换

替换功能需要进入命令模式才能实现替换。常见的命令有:

:s/id/class           //将光标所在行的第一个id替换成class,没有匹配到,则不替换。
:s/id/class/g         //将光标所在行的所有id替换成class,没有则不替换。
:1,4 s/id/class/g     //将1到4行之间的所有id替换成class,没有则不替换。
:% s/id/class/g       //将文件中所有的id替换成class,没有则不替换。

vim的保存退出


保存退出命令有:

:q        退出
:q!       强制退出
:w        保存
:w!       强制保存
:wq       保存并退出
:x        保存并退出
:w a.log  保存并另存为 a.log

ps : 如果误操作“ctrl+s”,保存,这时候vim快捷键就锁定了,需要“ctrl+q”来解锁,才能继续操作。


常用命令


:split        一个文档划分成不同的窗口。
:split demo.html    分割窗口并打开新的demo文件。多窗口多文件编辑工作
:vsplit       窗口垂直切割
Ctrl + w + h(l,j,k)     窗口左右上下切换

:set ignorecase    忽略大小写
:set nu            设置行号(:set number)
:!{命令}            执行shell命令,比如 (:!ls-l) 执行查看当前目录的shell命令,而不退出vim编辑器

修改vim的配置文件

 ~/.vimrc
 
 set nu   # 显示行号