🌙 交互模式:默认模式
vim hello.txt # 默认进入
- 在这个模式下,你不能输入文本;
- 它可以让我们在文本间移动,删除一行文本,复制黏贴文本,跳转到指定行,撤销操作,等等。
🌙 1.基本操作
- 行首:0 或 Home
- 行尾:$ 或 End
- 单词移动:w
- 上下左右:方向键
- 退出:冒号 + q
- 保存并退出
:wq
或:x
; - 不保存且退出
:q!
。
🌙 2.删除
- 删除字符:x
- 删除多个字符: 数字 + x
- 删除光标所在行:dd
- 删除多行:数字 + dd
- 删除一个单词:光标在单词首位, dw
- 删除多个单词: 数字 + dw
- 从光标所在位置删除至行首: d0 (d + Home)
- 从光标所在位置删除至行末: d$ (d + End)
🌙 3.复制y
- 复制行:按两次 y 会把光标所在行复制到内存中,和 dd 类似, dd 用于“剪切”光标所在行。
- 复制单词: yw 会复制一个单词。
- 复制到行末: y$ 是复制从光标所在处到行末的所有字符。
- 复制到行首: y0 是复制光标所在处到行首的所有字符。
🌙 4.粘贴p
如果之前用 dd 或者 yy 剪切复制过来的,可以使用 p 来粘贴。同样也可以使用 数字+p 来表示复制多次。
🌙 5.替换r
在交互模式下,将光标置于想要替换的字符上。按下 r 键,接着输入你要替换的字符即可。
🌙 6.撤销u
如果要撤销最近的修改,只需要按下 u 键,如果想要撤销最近四次修改,可以按下4,再按下 u 。
🌙 7.重做
取消撤销,也就是重做之前的修改使用 ctrl + r 。
🌙 8.跳到指定行
跳转到指定行: 数字+gg ,例如 7gg ,表示跳转到第7行。
要跳转到最后一行,按下 G 。
要跳转到第一行,按下 gg 。
2
3
🌙 9.查找/
处于交互模式下,按下 / 键,那么就进入查找模式,输入你要查找的字符串,然后按下回车。光标就会跳转到文件中下一个查找到的匹配处。如果字符串不存在,那么会显示 "pattern not found" 。
n 跳转到下一个匹配项; N 跳转到上一个匹配项。
[注意] 用斜杠来进行的查找是从当前光标处开始向文件尾搜索,如果你要从当前光标处开始,向文件头搜索则使用 ? ,当然也可以先按下 gg 跳转到第一行在进行全文搜索。
🌙 10.查找并替换/old/new
1.语法
:s/旧字符串/新字符串
2.替换光标所在行第一个匹配的字符串:
:s/one/two
3.替换光标所在行所有旧字符串为新字符串:
:s/旧字符串/新字符串/g
4.替换第几行到第几行中所有字符串:
:n,m s/旧字符串/新字符串/g
实例
:2,4 s/one/two/g
5.全文替换
:%s/旧字符串/新字符串/g
🌙 插入模式
在交互模式下,按键i
( i、I、a、A、o、O 都可以进入插入模式,只是所处的位置不同),退出这种模式,只需要按下 Esc 键。
- i, I 进入输入模式 Insert mode : i 为“从目前光标所在处输入”, I 为“在目前所在行的第一个非空格符处开始输入”;
- a, A 进入输入模式 Insert mode : a 为“从目前光标所在的下一个字符处开始输入”, A 为“从光标所在行的最后一个字符处开始输入”;
- o, O 进入输入模式 Insert mode : o 为“在目前光标所在的下一行处输入新的一行”; O 为在目前光标所在处的上一行输入新的一行。
🌙 命令模式
即底线命令模式,这个模式下可以运行一些命令例如“退出”,“保存”,等动作。 也可以用这个模式来激活一些 Vim 配置,例如语法高亮,显示行号,等。甚至还可以发送一些命令给终端命令行,例如 ls、cp
:
为了进入命令模式,首先要进入交互模式,再按下冒号键。
🌙 可视模式
前面只讲了 Vim 的三种模式,其实还有一种模式叫做可视模式。 进入它的三种方式(都是从交互模式开始):
v 字符可视模式,进入后配合方向键选中字符后,然后再按 d 键可以删除选中。 V 行可视模式,进入后光标所在行默认被选中,然后再按 d 键可以删除所在行。 Ctrl + v 块可视模式,它是可视模式最有用的功能了,配合 d 和 I 键可以实现删除选中的内容和插入内容。
同时选中多行,并在选中行头部插入内容的具体操作步骤:
- ctrl + v 进入块可视模式
- 使用方向键进行选中(上下左右)假设选中5行
- 输入 I 键进行多行同时插入操作
- 插入完成后连续按两下 esc 键,实现多行同时插入相同字符 复制代码 进入可视模式之后的操作键:
d 键,表示删除选中; I 键,表示在选中之前插入; u 键,表示选中变为小写; U 键,表示选中变为大写;
🌙 vim配置 (opens new window)
$ touch ~/.vimrc
" Set shift width to 4 spaces.
set shiftwidth=4
" Set tab width to 4 columns.
set tabstop=4
" Use space characters instead of tabs.
set expandtab
" Do not save backup files.
set nobackup
" Do not let cursor scroll below or above N number of lines when scrolling.
set scrolloff=10
" Do not wrap lines. Allow long lines to extend as far as the line goes.
set nowrap
" While searching though a file incrementally highlight matching characters as you type.
set incsearch
" Ignore capital letters during search.
set ignorecase
" Override the ignorecase option if searching for capital letters.
" This will allow you to search specifically for capital letters.
set smartcase
" Show partial command you type in the last line of the screen.
set showcmd
" Show the mode you are on the last line.
set showmode
" Show matching words during a search.
set showmatch
" Use highlighting when doing a search.
set hlsearch
" Set the commands to save in history default number is 20.
set history=1000
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42