1.保存文件
| 命令 |
解释 |
| :w 或者 :write |
保存正在工作状态的文件 |
| :up 或者:update |
保存正在工作状态的文件 |
| :w newfile.txt |
另存为文件 newfile.txt |
| :up newfile.txt |
另存为newfile.txt |
2.关闭文件
| 命令 |
解释 |
| :x |
保存当前文件再退出 |
| :wq |
保存当前文件再退出 |
| :q! |
不保存文件直接退出 |
3.光标移动:
h:向左移动
j:向下移动
k:向上移动
l:向右移动
4.翻一页/半页
| 命令 |
解释 |
| CTRL+f |
向下翻一页 |
| CTRL+b |
向上翻一页 |
| CTRL+d |
向下翻半页 |
| CTRL+u |
向上翻半页 |
5.光标一次移动一个单词的长度
| 命令 |
解释 |
| w: |
移动到下一个单词的起始处(代表单词world意思) |
| W: |
移动到下一个单词的起始处 |
与之相反的两个操作时b和B
b:移动到前一个单词的起始处
B:移动到前一个单词的起始处(b和B的区别与w和W是同理的)
6.光标在一行内的移动
| 命令 |
解释 |
| 0(零) |
移动到行首 |
| $ |
移动到行未 |
| ^ |
移动到当前行的第一个非空字符处 |
| g_ |
移动到当前行的最后一个非空格字符处 |
| gg |
移动到首行 |
| G |
移动末行 |
| ngg |
n表示数子 移动到n行 |
7.插入,追加字符
| 命令 |
解释 |
| i |
在当前光标位置插入字符 |
| I |
光标跳至行首 |
| o |
在当前行往下插入新的一空行 |
| O |
在当前行往上插入新的一空行 |
| a |
在当前光标后追加字符 |
| A |
定位到行末 |
| R |
替换当前光标的字符直到推出插入模式(按ESC) |
| :r filename |
把文件名为filename的内容插入当当前行的下一行 |
| r! command |
把command返回的结果插入到当前行的下一行 |
8.拷贝一个单词、行首、行尾、整行
| 命令 |
解释 |
| yw |
拷贝当前的一个单词 |
| y0 |
拷贝的范围是当前光标处到行首 |
| y$ |
拷贝的范围是当前光标处到行尾 |
| yy |
拷贝当前行 |
| nyy |
从当前行开始拷贝n行(这里的n是数字) |
拷贝完后用p就可以粘贴了
9.删除一个单词,行首、行尾、整行
| 命令 |
解释 |
| x |
删除当前光标处字符 (严格来说x不属于插入,因为你还要按i才能插入) |
| dw |
删除当前光标出一个单词 |
| d0 |
删除光标处到行首的字符 |
| d$ |
删除光标处到行尾的字符 |
| dd |
删除整行 |
| ndd |
删除n行(同样n代表数字) |
10.查找字符串
| 命令 |
解释 |
| /ward |
向光标之下寻找一个名称为 word 的字符串ward ,按下回车,可以看到vim把光标移动到该字符处,n(小写)查看下一个匹配,N(大写)查看上一个匹配 |
| ?word |
向光标之上寻找一个名称为word的字符串;搜索后,打开别的文件发现也被高亮了,怎么关闭命令行模式下,输入:nohlsearch,也可以:set nohlsearch,可以简写成noh喝set-noh |
| :1,$s/word1/word2/g 或 :%s/word1/word2/g |
从第一行到最后一行寻找word1取代为 word2 |
| :1,$s/word1/word2/gc 或 :%s/word1/word2/gc |
从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) |