Vim 介绍
Vim 安装
Vim 配置(CentOS 环境)
- 编辑配置文件是:
sudo vim /etc/vimrc
Vim 基础快捷键
- 注意
- 严格区分字母大小写
- 含有
Ctrl
字眼都表示 Ctrl 键盘按钮
- 特定符号需要配合 Shift 键,比如字母键盘区上面的数字区:!@#%%^&*()
- 要按出冒号键
:
也是需要 Shift 的
- 移动
-
j
,下
-
k
,上
-
h
,左
-
l
,右
-
v
,按 v 之后按方向键可以选中你要选中的文字
-
gg
,跳到第 1 行
-
G
,跳到最后一行
-
16G
或 :16
,跳到第 16 行
-
$
,到本行 行尾
-
0
,到本行 行头
-
w
,到下一个单词的 开头
-
e
,到下一个单词的 结尾
-
Ctrl + u
,向文件 首翻 半屏
-
Ctrl + d
,向文件 尾翻 半屏
-
Ctrl + f
,向文件 尾翻 一屏
-
Ctrl + b
,向文件 首翻 一屏
-
*
,匹配光标当前所在的单词,移动光标到 下一个 匹配单词
-
#
,匹配光标当前所在的单词,移动光标到 上一个 匹配单词
-
^
,到本行第一个单词头
-
g_
,到本行最后一个单词尾巴
-
%
,匹配括号移动,包括 (、{、[
- 插入
-
I
,在当前 行首 插入
-
A
,在当前 行尾 插入
-
i
,在当前字符的 左边 插入
-
a
,在当前字符的 右边 插入
-
o
,在当前行 下面 插入一个新行
-
O
,在当前行 上面 插入一个新行
- 编辑
- 删除
-
x
,删除 光标后 的 1 个字符
-
2x
,删除 光标后 的 2 个字符
-
X
,删除 光标前 的 1 个字符
-
2X
,删除 光标前 的 2 个字符
-
dd
,删除当前行
-
cc
,删除当前行后进入 insert 模式
-
dw
,删除当前光标下的单词/空格
-
d$
,删除光标至 行尾 所有字符
-
dG
,删除光标至 文件尾 所有字符
-
3dd
,从当前光标开始,删掉 3 行
-
echo > aa.txt
,从 bash 角度清空文件内容,这个比较高效
- 复制
-
y
,复制光标所选字符
-
yw
,复制光标后单词
-
yy
,复制当前行
-
4yy
,复制当前行及下面 4 行
-
y$
,复制光标位置至 行尾 的内容
-
y^
,复制光标位置至 行首 的内容
- 粘贴
-
p
,将粘贴板中内容复制到 光标之后
-
P
,将粘贴板中内容复制到 光标之前
- 其他
-
ddp
,交换当前光标所在行和下一行的位置
-
u
,撤销
-
:wq
,退出并 保存
-
:q!
,退出并 不保存
-
Ctrl + v
,进入 Vim 列编辑
-
guu
,把当前行的字母全部转换成 小写
-
gUU
,把当前行的字母全部转换成 大写
-
g~~
,把当前行的字母是大写的转换成小写,是小写的转换成大写
-
:saveas /opt/setups/text.txt
,另存到 /opt/setups/text.txt
- 搜索
-
/YouMeek
,从光标开始处向文件尾搜索 YouMeek 字符,按 n
继续向下找,按 N
继续向上找
-
?YouMeek
,从光标开始处向文件首搜索 YouMeek 字符,按 n
继续向下找,按 N
继续向上找
- 替换
-
:%s/YouMeek/Judasn/g
,把文件中所有 YouMeek 替换为:Judasn
-
:%s/YouMeek/Judasn/
,把文件中所有行中第一个 YouMeek 替换为:Judasn
-
:s/YouMeek/Judasn/
,把光标当前行第一个 YouMeek 替换为 Judasn
-
:s/YouMeek/Judasn/g
,把光标当前行所有 YouMeek 替换为 Judasn
-
:s#YouMeek/#Judasn/#
,除了使用斜杠作为分隔符之外,还可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,该命令表示:把光标当前行第一个 YouMeek/ 替换为 Judasn/
-
:10,31s/YouMeek/Judasn/g
,把第 10 行到 31 行之间所有 YouMeek 替换为 Judasn
Vim 的特殊复制、黏贴
- Vim 提供了 12 个剪贴板,分别是:
0,1,2,3,4,5,6,7,8,9,a,"
,默认采用的是 "
,也就是双引号,可能你初读感觉很奇怪。你可以用 Vim 编辑某个文件,然后输入::reg
。你可以看到如下内容:
- 复制到某个剪切板的命令:
"7y
,表示使用 7 号剪切板。
- 黏贴某个剪切板内容:
"7p
,表示使用 7 号剪切板内容进行黏贴
Vim 配置
- 我个人本地不使用 Vim 的,基本上都是在操作服务器的时候使用,所以这里推荐这个配置文件
- vim-for-server
- 在假设你已经备份好你的 Vim 配置文件后,使用该配置文件:
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
- 效果如下:
- 需要特别注意的是,如果你平时粘贴内容到终端 Vim 出现缩进错乱,一般需要这样做:
- 进入 vim 后,按
F5
,然后 shift + insert
进行粘贴。这种事就不会错乱了。
- 原因是:
vim ~/.vimrc
中有一行这样的设置:set pastetoggle=<F5>
其他常用命令
- 对两个文件进行对比:
vimdiff /opt/1.txt /opt/2.txt
资料