Vim 使用技巧
概述
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
Vim 安装
Ubuntu
sudo apt-get install vim-gtk
Centos
sudo yum -y install vim*
Mac
brew install macvim
Windows
安装 gVim
Vim 三种模式
Normal 普通模式
编辑
i 从当前光标处进入插入模式
a 追加模式,置光标于当前光标之后
o 在当前行之下新加一行,并进入插入模式
I 进入插入模式,并置光标于行首
O 在当前行之上新加一行,并进入插入模式
A 追加模式,置光标于行末
移动
H 左移
J 下移
K 上移
L 右移
b/B 上一个单词开头(b: 以非空白符来分割单词; B 以空白符分割的单词)
w/W 下一个单词开头
e/E 下一个单词结尾
f{char} 在当前行,移动到 char 字符上
t{char} 在当前行,移动到 char 字符后
F{char} 反向搜索
T{char} 反向搜素
; 搜索下一个
0 移到行首
^ 移到行首第一个非空白字符
$ 移到行尾
g_ 移到行尾非空白字符
() 句子之间移动
{} 段落之间移动
H 移动到屏幕开头 Head
M 移动到屏幕中间 Middle
L 移动到屏幕底部 Low
gg 移动到文件开头
G 移动到文件结尾
增删改查
>> 当前行右移一个 TAB
<< 当前行左移动一个 TAB
x 删除单词
{n}x 删除 n 个字符
dw 删除单词
dt{char} 删除直到 {char},如:'dt)' 删除直到括号
d0 删除到行首
d$ 删除到行尾
dd 删除当前一行
{n}dd 删除 n 行,如 2dd 表示删除两行
s 删除单个字符,并进入插入模式
S 删除整行,并进入插入模式
r 替换单个单词
R 连续替换
c0 删除到行首,并进入插入模式
cw 删除单词,并进入插入模式
c$ 删除到行尾,并进入插入模式
-------
/ 向后搜索
? 向前搜索
N 上一个
n 下一个
Insert 插入模式
CTRL + H 删除上一个字符(Linux 命令行通用)
CTRL + W 删除上一个单词(Linux 命令行通用)
CTRL + U 删除当前行(Linux 命令行通用)
Visual 可视模式
v 进入可视模式(H J K L 选择多个字符)
V 进入可视模式(H J K L 选择多个行)
选择后 X D 删除
注意:在 Linux 终端命令中,也可以是如下快捷键
- CTRL + H 删除上一个字符
- CTRL + W 删除上一个单词
- CTRL + U 删除当前行
- CTRL + A 快速移动到最开始
- CTRL + E 快速移动到最末尾
- CTRL + B 后退一位
- CTRL + F 前进一位
Command 命令模式
:set nu 设置行号
:set nonu 取消行号
gi 回到上一次编辑的地方 & 进入编辑模式
:{range} s/{pattern}/string/{flag}
- {range} 范围:% 全部; 1,10: 第一行到第十行;
- {pattern} 需要查找的字符串,支持正则
- flag 模式:g 全部替换; n 报告出现的次数 c 替换之前确认
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改