vim之源:vimtutor
- vim的五种模式
- Normal mode(正常模式)
- Insert mode(插入模式)
- Visual mode(可视模式)
- Replace mode(替换模式)
- Command-line mode(命令行模式)
- vimtutor原文总结
- Lesson 1 基础操作
- vim中的光标
- 进入与退出vim
- Lesson 2 文本操作(正常模式):删除
- Lesson 3 文本操作(正常模式):复制 粘贴 替换
- Lesson 4 操作文件:搜索、定位、保存文件
- More and help
Vim是一个功能强大的编辑器,它有很多命令,可以让工作更高效。每次看到同事在他的电脑上飞快的操作,炫技,我都很羡慕。
昨天同事推荐我一个命名(我把它叫作命令的源泉),我才知道原来大神们都看过这个。
// 命令如下
vimtutor
进入之后可以看到一个完整的教程(虽然是英文的,但好在单词都不长)
你也可以把教程直接保存下来,想办法翻译成中文
// 进入vimtutor后,执行次命令整篇教程就保存下来了
:w FILENAME
如 :w vimtutor.txt
到指定文件查看文件是否生成 :!ls
:!ls
大神同事还说,你看这个既可以学英语又可以熟悉命令。
我如饥似渴的,今天一下午把这个教程看完了。记录下来,大家一起学习进步。
里面涉及的英语是IT常用的,我索性用英语做了笔记。为了写这篇笔记,补充了中文。
vim的五种模式
先了解下5种模式,有助于对vim有个概览。
Normal mode(正常模式)
- Vim启动时自动处于正常模式。
- 从插入模式退出,可以按
<ESC>
键返回正常模式。
Insert mode(插入模式)
-
i
: 在光标位置前插入文本。 -
I
: 在当前行的最开始处插入文本。 -
a
: 在光标后插入文本。 -
A
: 在当前行的最后插入文本。 -
o
: 在当前行下方打开新行并进入插入模式。 -
O
: 在当前行上方打开新行并进入插入模式。 -
c更改模式 删除并进入编辑模式
c 用作一个操作符(operator),它代表“change”(更改)。当与动作(motion)结合使用时,c 操作符可以删除从当前光标位置到动作所指定的位置的文本,并将Vim置于插入模式,允许用户继续输入文本(d模式不能进入输入)ce: 更改(change)光标所在位置到单词末尾的内容。
cw: 更改(change)一个单词的内容。
c$: 更改(change)从光标所在位置到行尾的内容
Visual mode(可视模式)
v
: 进入可视模式,可以逐个字符选择文本。V
: 进入可视行模式,选择整行。Ctrl
+v
: 进入可视块模式,可以按块选择文本。
-
进入可视模式
-
选择文本:
使用方向键 (h
,j
,k
,l
) 或文本移动命令 (w
,e
,b
,0
,$
) 来选择文本。 -
执行操作:
- 选中文本后,可以使用以下命令:
y
(yank): 复制选中的文本。d
(delete): 删除选中的文本。c
(change): 更改(替换)选中的文本。~
(tilde): 切换选中文本的大小写。u
(underscore): 将选中文本转换为小写。
- 选中文本后,可以使用以下命令:
-
使用计数:
在执行操作前加上数字,如3yw
将复制接下来的3个单词。 -
跨行选择:
在可视模式下,使用Shift
加方向键进行跨行选择。 -
撤销选择:
-如果需要撤销选择,可以再次按下v
或V
(取决于您当前的可视模式),或者使用o
键跳转到选择的另一端。
Replace mode(替换模式)
R
: 开始替换模式,可以替换多个字符。
Command-line mode(命令行模式)
:
: 进入命令行模式,可以输入如:w
,:q
,:!
等命令。- 其中
:!
进入执行外部命令模式
vimtutor原文总结
Lesson 1 基础操作
vim中的光标
Move the cursor using h
(left) j
(down) k
(up) l
(right)`
首先我们需要知道的事,我们常用的上下左右方向键 ↑
↓
←
→
,还可以被这四个相邻的字母替代: h
j
k
l
(尽量使用它们,会更方便,更快速)
h (left) 在最左,所以指左移
j (down) j钩在下,所以指下移
k (up)
l (right) 在最右,所以指右移
进入与退出vim
为防止误操作,在进行vim操作之前,我们最好先知道怎么退出vim。就行开车之前最好先知道如何刹车(记得命令输完后,按<ENTER>
执行命令)
- 打开文件
vim
+FILENAME
(FILENAME为你本地存在的文件名)
Start Vim:vim
FILENAME
- 不保存退出:先按
<ESC>
然后依次键入:
q
!
Exit Vim without saving:<ESC>
+:q!
- 保存更改
save and exit:<ESC>
+:wq
Lesson 2 文本操作(正常模式):删除
-
删除选中字符 Delete character:
x
。 -
在光标插入文本 Insert text:
i
, -
在光标后追加文本 append text:
A
。 -
删除单词(到下个词前,会删除空格等符号) Delete to next word:
dw
。
-
删除单词(到当前单词最后一个字母) Delete to end of word:
de
。
-
删除到行末 Delete to end of line:
d$
。 -
删除整行 Delete whole line:
dd
。
-
使用数字重复动作 Repeat motion with a number:
2w
。
Lesson 3 文本操作(正常模式):复制 粘贴 替换
- 复制文本 Yank (copy) text:
y
,粘贴文本 put (paste) text:p
。
粘贴(刚刚删除或复制的内容) Put back deleted text:p
。 - 替换单个字符 Replace character:
r
。
如果您的光标位于字母 a 上,输入r
然后输入 b,那么 a 将被 b 替换。恢复到正常模式 - 开启替换模式 Replace mode:
R
。
如果您的光标位于字母 a 上,输入R
然后输入 b,那么 a 将被 b 替换。继续替换下一个
Lesson 4 操作文件:搜索、定位、保存文件
-
显示位置和文件状态 Show location and file status:
CTRL
+G
。
-
光标移动到指定行 Move to line number:
linenumber
+G
。(注意大小写) -
搜索(从下到上搜索) Search forward:
/searchword
-
搜索(从下到到搜索) backward:
?searchword
。 -
搜索括号的另一半 Match parentheses:
%
。
选择括号的,按%
,自动定位到另一半,很实用
-
另存为 Save file as:
:w FILENAME
。 -
保存选中文本 Save selected text:
v motion :w FILENAME
。 -
写入文件内容 Retrieve file content:
:r FILENAME
。 -
使用外部命令 Execute external command:
:!command
:w
,:q
,:!
More and help
- 打开帮助 Open help:
:help
或<F1>
或<HELP>
。- 查找命令帮助 Find help on command:
:help cmd
。 - 跳转到另一个窗口 Jump to another window:
CTRL-W
CTRL-W
。 - 关闭帮助窗口 Close help window:
:q
。
- 查找命令帮助 Find help on command:
- 创建vimrc以保存设置 Create vimrc for settings:
:e ~/.vimrc
- 查找命令 Command completion:
CTRL-D
+<TAB>
。
:e
然后CTRL
+D
检索与以e开头的命令,按下<TAB>
选择你需要的命令
大家在操作上有疑问的,可以在下面留言,我们一起探讨。
如果你有好的操作命令组合,也可以分享在这里。我们一起成长!