vim 技巧 -- 搜索替换 函数跳转 分屏

1.1 移动光标

h,j  上,下         k,l 左,右
ctrl-f 上翻一页,    ctrl-b 下翻一页
ctrl-u 上翻半页,    ctrl-d 下翻半页

b 跳到上一个单词,    w 跳到下一个单词

0 跳至行首     $ 跳至行尾
^ 跳至行首


vi 快速选择

快速选择单词  ve
成对符号('单引',"双引",(圆括),(中括),(大括),<尖括>,`飘号`)内内容:
	选中 vi'、vi"、vi(、vi[、vi{、vi<
	更改 ci'、ci"、ci(、ci[、ci{、ci<
	删除 di'、di"、di(或dib、di[、di{或diB、di<
	复制 yi'、yi"、yi(、yi[、yi{、yi<
	另外如果把上面的i改成a可以连配对标点一起操作。

1.2 搜索替换

#简单常用的替换操作
#当前行
:s/a/b/      #将当前行的第一个a替换为b
:s/a/b/g     #将当前行的所有a替换为b

# 1到3行
:1,3s/a/b/   #将1至3行的第一个a替换为b
:1,3s/a/b/g  #将1至3行的所有a替换为b

#所有行
:%s/a/b      #将所有行的第一个a替换为b
:%s/a/b/g    #将所有行的所有a替换为b


#高级的替换操作,涉及到转义,正则表达式相关的知识

:s#a/#b/#    # (#作为分隔符)将当前行的字符串"a/"替换为"b/", 中间出现的/不会作为分隔符)
:g/a/d       # 找到包含字母a的行并删除
:g/^$/d      # 删除所有空行
:s/ \+/ /g   # 多个空格替换为一个空格

在这里插入图片描述


1.3 函数跳转及分屏

# 1.2.1 代码跳转
gf    #打开文件 go to file, 如 #include <stdio.h>
gd    #打开(变量及函数等)定义处  go to definition
shift + k (或者大写K) # 打开帮助
ctrl + o #后退

# 1.2.2 不退出vi, 执行 shell 命令如:pwd
:!pwd
:!ls -alh

#打开多文件
vim  xxx.h xxx.cpp ... 
vim  xxx.h xxx.cpp ...
# 多文件间切换
Ctrl + 6  #[数字6]在文件之间切换
:f 或 Ctrl+g  #显示当前正在编辑的文档名称
:ls       #打开的文件列表
:bn       #下一个文件,也可以 b1 查看打开的第一个文件,b2查看打开的第一个文件等...
:bp       #上一个文件
:N        #编辑上一个文件。

# 1.2.3 分栏显示(split)
# 直接打开多个文件
 vim -on   xxx.h xxx.cpp ...   # -on上下分栏打开n个文件
 vim -On   xxx.h xxx.cpp ...   # -On左右分栏打开n个文件

# vim 中打开新文件,并与当前文件分栏
:new      #创建空白分屏
:sp xxx   #在当前文件上方栏打开文件xxx,且xxx变为当前编辑文件
:vsp xxx  #在当前文件左侧栏打开文件xxx,且xxx变为当前编辑文件
:only     #取消其它分屏,只保留当前分屏

# 当前编辑文件分栏,两栏内容相同
:sp      #上下分割,快捷键Ctrl+ws
:vsp     #左右分割
#或者
ctrl + w 和 s(split)
ctrl + w 和 v(vsplit)

# 在各栏切换的方法
Ctrl + w +   h左 / j 下 / k 上 / l 右 
Ctrl + w w                    #切换到下一个窗格中,周而复始



# 调整当前分栏大小(下面的n代表的是数字,并非字母n。省略n只缩放1行/列)
Ctrl + w + n >      #左右扩大n列
Ctrl + w + n <      #左右缩小n列
Ctrl + w + n +      #上下扩大n行
Ctrl + w + n -      #上下缩小n行
ctrl + w 和 =       #恢复均等
# 关闭分栏
Ctrl + w + c       #松开Ctrl再按c,否则命令无效


1.4 使用中文

# 1. 编辑locale.cnf , 添加内容
vi /etc/locale.conf
LANG="zh_CN.UTF-8" SYSFONT="latarcyrheb-sun16" SUPPORTED="zh_CN.UTF-8:zh_CN:zh" 
# 2.保存退出, 下次重启生效
reboot
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值