Vim上手
Vim的三种模式

vim三种模式相互转换
vim三种模式相互转换
-
命令模式:
在命令行模式下,输入"vim 文件名"就进入了命令模式;
在编辑模式或者末行模式下,点击“ESC”键,即可入命令模式;
命令模式所输入的命令并不在屏幕上显示。 -
编辑模式:
在命令模式下输入插入命令i、o等命令都可以进入编辑模式;
在该模式下点击"ESC"键,回到命令模式。 -
末行模式:
按 “:” 键即可进入末行模式下,会在最后一行显示一个 “:” 作为末行模式的提示符,等待用户输入命令;
在该模式下点击"ESC"键,回到命令模式。
命令模式(Command Mode)
在该模式下可以进行光标的移动、复制、粘贴、删除、撤销以及进入编辑模式
1、光标的移动
| 命令 | 命令的含义 |
|---|---|
| h或者向左方向键 | 光标向左移动一个字符 |
| l或者向右方向键 | 光标向右移动一个字符 |
| k或者向上方向键 | 光标向上移动一个字符 |
| j或者向下方向键 | 光标向下移动一个字符 |
| Ctrl+f或pageup键 | 屏幕向前移动一页 |
| Ctrl+b或pagedown键 | 屏幕向后移动一页 |
| 数字0或者^ | 移动到本行行首 |
| $ | 移动到本行行尾 |
| gg | 移动到首行 |
| G | 移动到尾行 |
| nG(n是任意数字) | 移动到第n行 |
2、复制、粘贴、删除、撤销
| 命令 | 命令的含义 |
|---|---|
| 复制 | —— |
| yy | 复制光标所在行 |
| nyy | 从光标所在行算起向下复制n行 |
| yG | 从光标行复制到末尾 |
| ygg | 从光标行复制到首行 |
| 粘贴 | —— |
| p | 从光标所在行向下粘贴已经复制或者粘贴的内容 |
| P | 从光标所在行向上粘贴已经复制或者粘贴的内容 |
| 删除 | —— |
| x,X | x向后删除一个字符,X向前删除一个字符 |
| nx | 向后删除n个字符 |
| dd | 删除/剪切光标所在的那一行 |
| ndd(n为数字) | 删除/剪切光标所在行起向下一共n行 |
| dG | 删除光标行到文本末尾 |
| dgg | 删除光标行到文本首行 |
| :%d | 删除文件中所有数据 |
| 撤销 | —— |
| u | 撤销一次 |
| U | 撤销所有 |
| 选择范围 | —— |
| v | 按v后移动光标会选中指定字符,然后可以复制、粘贴等 |
3.进入编辑模式
| 命令 | 命令的含义 |
|---|---|
| i | 在光标的前边进入插入模式 |
| I | 在光标所在行的行首进入插入模式 |
| a | 在光标的后边进入插入模式 |
| A | 在光标所在行的行尾进入插入模式 |
| o | 在光标所在行的下方插入空行并进入插入模式 |
| O | 在光标所在行的上方插入空行并进入插入模式 |
| s | 删除光标指定的字符并进入插入模式 |
| S | 将光标所在行清除并进入插入模式 |
编辑模式(Input Mode)
在该模式下可以进行文本的编辑
末行模式(Last line Mode)
在该模式下可以进行文件的保存、查找、替换、行号的显示
1、文件的保存
| 命令 | 命令的含义 |
|---|---|
| :w | 保存文本 |
| :q | 退出vim |
| :w! | 强制保存,在root用户下即使文本只读也可以完成保存 |
| :q! | 强制退出,所有改动不生效 |
| :wq | 保存并退出 |
2、查找、替换
| 命令 | 命令的含义 |
|---|---|
| /word | 向光标之后寻找一个字符串为word(n向后继续搜索 N查找上一个) |
| ?word | 向光标之前寻找一个字符串为word(n向后继续搜索 N查找上一个) |
| :%s/word1/word2/ | 把所有的word1替换成word2 |
| :1,3/word1/word2/ | 把一行到三行的word1替换成word2 |
| :2s/word1/word2/ | 把第二行的nmon替换成hello |
| :%s/.$/beijing/ | 把以.为结尾.的换成北京(.前最好加上转义符\) |
| :%s/^my/your | 把my开头的替换成your |
3、行号的显示
| 命令 | 命令的含义 |
|---|---|
| :set nu | 显示行号 |
| :set nonu | 不显示行号 |
vim操作演示
进入vim编辑器
- 选择要存放文件的路径
- 进入vim编辑器
cd /home/michaelxwang/
dir
vim hello.py

vim-1-进入vim.gif
进入编辑模式输入代码
- 点击"i"进入编辑模式
print("hello world 1")
print("hello world 2")
print("hello world 3")

vim-2-进入编辑模式.gif
进入命令模式移动光标、复制、粘贴、撤销
- 点击“ESC”进入编辑模式
- 点击“h、k、j、l”左上下右移动光标
- 点击“dd”删除当前行
- 点击“u”撤销上一步操作
vim-3-进入命令模式.gif
进入末行模式设置行号、保存退出
#输入“:”进入末行模式
:
#设置行号
set nu
#保存编辑
:wq

vim-4-进入末行模式.gif
