9. vim使用手册


陆续收集中……

9.1. 光标移动

翻页:

ctrl + u/d; 向上/下滚动半屏
ctrl + b/f; 向上/下滚动半屏

当前页内移动:

H ; 当前屏首行
L ; 当前屏末行
M ; 当前屏中间行

光标回退:

ctrl + O ; 光标回退到较老位置!
ctrl + i ; 光标回退到较新位置!

行内光标移动:

0 ;
^ ;
$ ;
g_;
b ;
B ;
w ;
W ;
e ;
/pattern ; 搜索模式然后输入 n, N 查找下一个或者上一个
fa ;
Fa ;
ta ;
Ta ;

全局光标移动:

gg ; 定位到第一行
G ; 定位到末行
:n ; 定位到第n行
hjkl;
N(hjkl);
* ; 查找下一个单词,然后依次输入n
g* ; 全文查找包含该单词的文本!
# ;
% ;

9.2. 文本修改

9.2.1. 插入

i;
I;
o;
O;
a;
C;
D;

通过组合基础命令,可以表现出更强大的功能,如:

cw;
dt);
ct};

还可以在文本插入模式下输入 ctrl + n 进行自动提示。

9.2.2. 复制/移动

#单行复制/移动
Y + p / dd + p
#多行复制/移动
V + nj + p(ddp)

9.2.3. 重复上次命令

. 表示重复上次命令,请试一试:

iabcd<ESC>
.

9.2.4. 恢复和撤销

u ; 撤销
Ctrl + r ; 恢复重做

9.3. 可视化操作

v 或者 V进入可视化是个人自喜欢的命令, 其中:

  • V 是整行可视化模式:
  • v 是简单可视化模式;

其中整行可视化个人一般都是进行一些整行复制、移动粘贴、删除等操作。

还可以进入整行可视化后,然后输入 J 将行拼接成一行!

简单可视化功能更强大,自己常用的有:

9.3.1. 文本对象选择

利用普通vi/va模式进行文本选择,然后执行 c, d, y/p/P 等操作

viw / viW ; 可视化选择整个单词
vw / vW   ; 可视化选择光标到单词末尾
vi" / va" ; 可视化选择整个字符串
vi) / va)
vi] / va]
vNlgU / vNlgu   ; 可视化选择一段文本,然后变成大写/小写

9.3.2. 列模式操作

该操作一般在写代码时添加多行注释, 多列删除:

ctrl +v ; 进入可视化模式
Nj      ; 向下移动光标N次
I / x   ; 插入命令
# <esc> ; 插入Python注释符

9.4. 末行命令

删除行末所有空格:

:%s/\s\+$//
:%s/\s\+$//gc
  • 开头的 % 代表匹配当前文件的所有行;
  • s 代表匹配空格字符,即空格符(Space)和制表符(Tab);
  • + 用于匹配一个及多个。故 s+ 代表匹配一个或多个空格字符;
  • $ 代表匹配行末;
  • gc确认操作;

TAB替换为空格:

:set ts=4
:set expandtab
:%retab!

统计字符串出现个数:

:%s/context/&/ng
:%s/context//ng

其他简单末行命令:

:x
:w / :wq
:q! / :q
:help
:bn / :bp

9.5. 其他

打开目录:

这种方式在浏览陈皓博客时学到。之前自己需要编辑多个文件时,一般都是利用vim 同时打开,然后使用 :bn/:bp 来进行文件切换。

实际上可以直接打开一个目录:

vim dir ; 打开一个目录
vim , 然后输入 :E ; 打开当前目录, 然后就可以愉快的编辑多个文件了。
[1]HTTP://coolshell.cn/articles/5426.html