认识Vim
- vim
- window and buffer
- normal模式
- 命令行模式
- 窗口管理
vim
vim是基于Unix或类Unix系统的功能强大的编辑器。熟悉vim的使用将有效提高工作效率。
vim有多种模式。如normal模式、insert模式、replace模式、visual模式、visual-line模式、visual-block模式和command-line模式。当加载vim时,默认进入normal模式。 从任何模式按下Esc
会回到插入模式。
下表给出了从normal模式到其余模式的转换,以及各模式的简单概述
模式 | 转换 | 概述 |
---|---|---|
normal | - | 默认模式,可以移动光标、阅读文本 、在特定位置做一些简单的修改 |
insert | i | 插入模式,进入buffer,可以通过标准输入编辑文本 |
replace | R | 替换模式,进入buffer,可以通过标准输入替换文本 |
visual | v | 视图模式,可以通过移动光标选中指定文本进行指定操作 |
visual-line | V | 行视图模式,以行为单位 |
visual-block | Ctrl+v | 块视图模式,以块为单位 |
command-line | : | 命令行模式,可以对文件进行一系列操作 |
window and buffer
vim把每一个要处理的文本视为一个buffer,把显示器上每一个用于编辑的界面视为一个window,一个window可以打开一个buffer,但一个buffer可以用0个、1个或多个window(s)打开。用不同的windows打开的同一个buffer对其的编辑是实时的。
normal模式
光标移动:
以字节为单位:可以通过↑↓←→
以字节为单位移动光标,但不推荐,想要快速便捷地移动光标可以用hjkl
,其中h
是←
,j
是↓
,k
是↑
,l
是→
。
以单词为单位:
w
:移动到下一个单词词头
b
:移动到上一个单词词头
e
:移动到下一个单词词尾(若光标不在单词词尾则移动到该单词词尾)
以行为单位:
0
:移动到行首
$
:移动到行尾
^
:移动到行首第一个不为空白的单词
其它:
Ctrl+u
:上一页
Ctrl+d
:下一页
G
:文本最底部
gg
:文本最顶部
L
:当前页的底部
M
:当前页的中部
U
:当前页的顶部
查找和跳转:
fs
:光标移动到光标之后距离光标最近的同一行的s
Fs
:光标移动到光标之前距离光标最近的同一行的s
ts
:光标移动到光标之后距离光标最近的s的前一个字符(同一行)
Ts
:光标移动到光标之前距离光标最近的s的后一个字符(同一行)
%
:光标移动到与括号(或中括号、花括号、引号)对应的另一个括号(或中括号、花括号、引号)
编辑文本:
o
:open a new line below your cursor,and then go into insert-mode.
O
:open a new line above your cursor,and then go into insert-mode.
d
:delete,需搭配光标移动指令,如dw
是删除光标下的单词,d$
是删除从光标到行尾的字符,dd
会删除整行
c
:change,用法同d
,区别在于执行后会进入插入模式
操作:
u
:undo,撤销操作。
Ctrl+r
:redo,恢复操作。
复制粘贴:
y
:yank,复制,需搭配光标移动指令
p
:pasete,粘贴
重复命令:
在命令前使用数字可以重复命令指定次数。如8dw
为删除8个单词
修饰符:
a
:around,和命令和括号(或中括号、花括号、引号一起使用),表示作用范围是符号及其符号里面。如da{
命令删除花括号及其里面的内容
i
:inside,和命令和括号(或中括号、花括号、引号一起使用),表示作用范围是符号里面。如da{
命令删除花括号里面的内容(不包括花括号)
命令行模式
w
:保存(窗口),只有当全部缓存都被退出后vim才会被退出
q
:退出
wq
:保存并退出(窗口)
q!
:强制退出
e file_name
:打开某文件
ls
:显示打开的缓存
help order_name
:显示命令的帮助文档
%s/foo/bar/g
:在整个文件中将 foo 全局替换成 bar
窗口管理
sp filename
:垂直切分窗口,新切分的窗口中的文件为指定的文件名的文件,若无filename,默认为当前光标所在文件
vsp filename
:水平切分窗口,新切分的窗口中的文件为指定的文件名的文件,若无filename,默认为当前光标所在文件
Ctrl+w w
:光标移动到下一个窗口
resize +/-number
:改变窗口的高度
vertical resize +/-number
:改变窗口的宽度
更多推荐
认识Vim
发布评论