Vim中有三种模式:编辑模式、输入模式、末行模式
使用vim命令打开文件之后默认处于编辑模式下。
i:在当前光标所在字符的前面,转换成为输入模式
a:在当前光标所在字符的后面,转换为输入模式
o:在当前光标所在行的下方新建一行,并转换为输入模式
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方新建一行,并转换成为输入模式
ESC
:
ESC,ESC
输入模式不能直接转换到末行模式,必须先转换成为编辑模式再转换到末行模式
1.vim +# FILENAME:打开文件,并定位到文件的第N行
2.vim + FILENAME:打开文件,并定位到最后一行
3.vim +/PATTERN :打开文件,并定位到第一次被PATTERN匹配到的行的行首
打开文件之后默认处于编辑模式
|
:q |
退出 |
| :q! | 不保存并退出 |
|
:wq或者:x |
保存并退出 |
|
:w |
保存 |
|
:w! |
强行保存 |
ZZ:保存并退出
Ctrl+C,使用这种方式的结果就是会产生.swp文件,这种文件会保存未保存的内容以便于下一次编辑文件的时候进行恢复,所以比较麻烦,强烈不建议直接Ctrl+C退出,按照正常流程退出的话就不会产生这种文件了。
| h | 向左移动一个字符 |
| j | 向下移动一个字符 |
| k | 向上移动一个字符 |
| l | 向右移动一个字符 |
| #h | j | k | l | 向 左|下|上|右 移动一个字符 |
| w | 跳转到下一个单词的首部 |
| b | 跳转到上一个单词的首部 |
| e | 跳转到下一个单词的尾部 |
| #w | 跳转到下#个单词的首部 |
| #b | 跳转到上#个单词的首部 |
| #e |
跳转到下#个单词的尾部 |
| 0 | 跳转到绝对行首 |
| $ | 跳转到绝对行尾 |
| ^ | 跳转到行首第一个非空白字符处 |
| gg | 跳转到第一行 |
| G | :$ | 跳转到最后一行 |
|
#G | :# |
跳转到第#行 |
|
Ctrl+f |
向下翻一屏 |
| Ctrl+b | 向上翻一屏 |
| Ctrl+d | 向下翻半屏 |
| Ctrl+u | 向上翻半屏 |
| x | 删除光标所在处的字符 |
| #x | 删除光标所在处及向后的共#个字符 |
| [#]dw | 删除光标所在处的单词 |
| [#]db | 删除光标所在处之前的一个单词 |
| [#]de | 删除光标所在处之后的一个单词,注意和dw之间的区别 |
| dd | 删除光标所在处的行 |
| #dd | 删除当前光标所在行以及向下共#行 |
使用d命令删除的内容和使用y命令复制的内容都保存到了系统粘贴板上,使用p或者P命令能够粘贴到指定的位置上。
(1). p命令:如果复制或删除的是非整行则粘贴至当前光标所在字符的后面,如果复制或删除的是整行,则会粘贴到当前光标所在行的下方。
(2). P命令:如果复制或删除的是非整行则粘贴至当前光标所在字符的前面,如果复制或删除的是整行,则会粘贴到当前光标所在行的上方。
使用c命令能够在编辑模式下删除指定内容并切换到输入模式,使用方法和d命令完全相同。
| r | 替换光标所在处的字符 |
| R | 开启替换模式,适用于大量的替换操作 |
| u | 撤销上一次操作 |
| #u | 撤销最近#次操作 |
| Ctrl+r | 反撤销最近一次操作 |
| v | 按照字符选取 |
| V | 按照行选取 |
| / | 向下查找 |
| ? | 向上查找 |
替换的命令语法和sed命令语法完全相同
ADDR1,ADDR2 s/PATTERN/string/gi
可以使用1,$指定全文范围,但是可以使用%代替之。
vim FILE1 FILE2 FILE3...
| :next | 切换到下一个文件 |
| :prev | 切换到上一个文件 |
| :last | 切换到最后一个文件 |
| :first | 切换到第一个文件 |
| :qa | 全部 |
| vim -o | 水平分割显示 |
| vim -O | 垂直分割显示 |
| Ctrl+w,j | 光标移动到下面的窗口 |
| Ctrl+w,k | 光标移动到上面的窗口 |
| qa | 关闭所有窗口 |
| Ctrl+w,s | 水平分割窗口 |
| Ctrl+w,v | 垂直拆分窗口 |
| Ctrl+w,j | 光标移动到下面的窗口 |
| Ctrl+w,k | 光标移动到上面的窗口 |
| qa | 关闭所有窗口 |
:ADDR1,ADDR2 w FILEPATH
:r FILENAME
!COMMAND
| :set number | set nu | 显示行号 |
| :set nonumber | set nonu | 不显示行号 |
| :set ignorecase | set ic | 忽略大小写 |
| :set noignorecase | set noic | 区分大小写 |
| :set autoindent | set ai | 设置自动缩进 |
| :set noautoindent | set noai | 取消自动缩进 |
| :set hlsearch | 查找到的文本高亮显示 |
| :set nohlsearch | 取消查找到的文本高亮显示 |
|
:syntax on |
语法高亮 |
| :syntax off | 取消语法高亮 |
| /etc/vimrc | 全局配置文件 |
| ~/.vimrc | 个人配置文件 |
本文出自 “狂盗一枝梅的博客” 博客,请务必保留此出处http://kdyzm.blog.51cto.com/8316029/1741437
原文地址:http://kdyzm.blog.51cto.com/8316029/1741437