Linux下Vim简单使用
前言
Vim是Linux下一个功能强大的文本编辑器,这里记录一些常用命令,防止忘记。
使用
Vim有4种模式(可能叫法不同),命令模式,输入模式,底线命令模式,可视模式。
编辑区底部会显示当前处于哪种模式,输入模式为INSERT
,可视模式为VISUAL
。
命令模式
使用vim a.txt
命令进入a.txt文件的编辑(文件可以不存在),此时就是命令模式,常用命令如下
操作内容
x
删除当前光标所在字符
dd
删除当前光标所在行(d为delete简写)
{n}yy
复制当前光标开始的n行内容(y为yank简写)
p
粘贴之前复制的内容到光标所在的下一行(p为put简写)
P(大写)
粘贴之前复制的内容到光标所在行,之前的内容后移
移动光标
0
(数字0)将光标移动到当前光标所在行行首
$
将光标移动到当前光标所在行行尾
H
移动到当前文件第一行行首
G
移动到当前文件最后一行行首
[Ctrl]+[f]
向下移动一页
[Ctrl]+[b]
向上移动一页
切换模式
i
切换到输入模式
:
切换到底线命令模式
/
切换到底线命令模式
v
切换到可视模式
输入模式
可以正常编辑
ESC
切换到到命令模式
底线命令模式
输入命令之后,按Enter
键执行,之后就又切换到了命令模式
:
或/
之后,通过上下键可以切换历史命令,如果没有执行任何命令,通过2次ESC
切换到到命令模式
保存退出
:wq
保存文件并退出(文件不存在会创建)
:w
保存文件
:q!
不保存并退出
设置样式
:set nu
显示行号(nu为number简写)
:set nonu
取消行号
:set ic
设置忽略大小写(ic为ignorecase简写)
:set noic
设置区分大小写
:nohl
取消高亮(hl为highlight简写,可以用来在查找或替换命令之后,取消那些匹配内容的高亮显示)
搜索替换
/{目标字符串}
搜索目标字符串,n查找下一个匹配,N查找上一个匹配。
:s/hello/world/g
将光标所在行hello替换为world(g为global简写,作用范围内所有匹配的都替换)
:{n1},{n2}s/hello/world/g
将n1到n2行之间的hello替换为world
:%s/hello/world/g
将全文的hello替换为world
:%s/hello/world/gc
将全文的hello替换为world,并且需要依次确认(可以过滤掉不想替换的)
其他
:n
定位到第n行行首
:{n1},{n2}d
删除n1到n2行数据,包含n1和n2行
可视模式
可视模式可以让我们更方便的选择要操作的文本。
2次ESC
切换到命令模式
上下左右键来扩大选择范围,类似于Windows下使用鼠标的操作,选择之后
y
命令复制选择的内容
d
命令删除选择的内容
p
命令粘贴之前复制的内容到光标后
P(大写)
命令粘贴之前复制的内容到光标前
扩展
PuTTY是一个SSH客户端,通过它连接上Linux服务器进行操作,官网,下载地址-不用安装
解决vim粘贴时格式混乱的问题
进入底线命令模式
:set paste
之后再进入输入模式,这样就可以解决自动缩进导致的粘贴时格式混乱问题了
:set nopaste
恢复为原来的设置