vim编辑器的基本使用技巧

vim作为常用的编辑器,可配置vim特性
配置文件位置

/etc/vimrc 全局
~/.vimrc 个人

vim的三种常见模式:

常见模式作用
普通模式(命令模式)默认模式,可以实现移动光标,复制YY,剪切DD,粘贴P文本
编辑模式(Insert模式)在默认模式下,一般按a,i,o进入,用于修改文本
扩展命令模式(命令末行模式)在默认模式下按:进入,可用于保存、退出等

三种模式的转换关系:
普通模式—(a,i,o,A,I,O)—>编辑模式—ESC—>普通模式
普通模式—:--->扩展命令模式—ESC、Enter—>普通模式

**

普通模式到编辑模式按键不同效果

**

按键效果
a在光标所在处后面输入
i在光标所在处输入
o在光标所在行的下方打开新行输入
A在光标所在行末尾输入
I在光标所在行首输入
O在光标所在行的上方打开新行输入

扩展命令模式常用基本命令

命令效果
w存入磁盘
q退出(未编辑过)
wq写入并退出
wq!强制写入并退出
q!强制退出
r filename读文件到当前文件中
w filename将当前文件写入另一个文件中
!command在不退出文本编辑的情况下执行命令,按Enter回到文本编辑
r!command读入命令的输出结果

地址定界
格式:

:start_pos,end_pos CMD
cmd:
d:删除
y:复制
w file:将指定范围内的文字存入另一个文件
r file:将另一个文件内容插入到指定位置
格式效果
#具体第几行,例如光标跳转第3行,”:3“回车,光标跳转到第三行行首
m,n从第m行开始到第m行结束,例如删除2至5行,”:2,5 d“
m,+#从第m行开始往后m+#行,例如”:2,+3 d“表示删除2至5行
.表示当前行
$表示最后一行
.,$-1表示当前行到倒数第二行
%全文,相当于1,$

举例:全局替换

:%s/要查找的内容/要替换的内容/修饰符
修饰符:
i:忽略大小写
g:全局替换
gc:全局替换,每次替换前询问
:%s/192.168.20.30/192.168.10.10/g

定制vim的工作特性

**显示行号(最常用)**
显示:set number 简写:set nu
取消显示:set nonumber 简写:set nonu

**忽略字符的大小写**
启用:set ignorecase 简写:set ic
不忽略:set noignorecase 简写:set noic

**自动缩进**
启用:set autoindent 简写:set ai
禁用:set noai

**复制保留(当前文本)格式**
启用:set paste 
禁用:set nopaste 

**显示Tab和换行符^I和$显示**    //可查看空白行使用的是空格或者Tab
启用:set list 
禁用:set nolist 

**高亮搜索**  //效果搜索过第二次打开文本编辑器还是亮的
启用:set hlsearch(默认)
禁用:set nohlsearch

**语法高亮**  //效果不同的语法显示颜色不同
启用:syntax on
禁用:syntax off

**文件格式**  //暂未测试过效果
启用windows格式:set fileformat=dos
启用unix格式:set fileformat=unix
简写 :set ff=unix

**Tab使用空格代替**
启用:set expandtab 默认为8个空格代替tab
禁用:set noexpandtab
简写:set et

**Tab用指定空格的个数代替**  //(全局影响,Tab空格数改变全局改变;
配合expandtab使用,后续修改ts值不影响原先使用的tab空格。)
启用:set tabstop=# 指定#个空格代替tab
简写:set ts=#

**设置光标所在行的标识线**(实用) //在光标所在行下方有一条横线显示
启用:set cursorline 简写:set cul
禁用:set nocursorline 

**set帮助列表**
:set 或:set all

普通模式下的快捷按键

光标移动
H:左 J:上 K:下 L:右
#COMMAND 跳转到第一个对应的相同字符上

当前显示页面跳转
大写H:页首
大写M:页中
大写L:页底

zz:将当前光标所在行移到屏幕中间
zt:将当前光标所在行移到屏幕顶端
zb:将当前光标所在行移到屏幕尾部

行首行尾跳转
0:跳转到行首
^:跳转到行首非空行的首个字符
$:跳转到行尾

查找
/查找内容 从当前光标所在行向下查询
?查找内容 从当前光标所在行向上查询
n与命令同方向
N与命令反方向
替换命令
r 内容:替换光标所在位置的内容
R:进入到replace模式,替换光标所在位置的内容,直到Esc退出
撤销操作命令
u
删除/剪切命令
dd:删除一整行
#dd:删除光标所在行开始#行
d0:删除光标所在位置到行首的内容
d^:删除光标所在位置到非空行的内容
d$: 删除光标所在位置到行尾的内容
复制命令
yy:复制一整行
#yy:复制光标所在行开始#行
y0:复制光标所在位置到行首的内容
y^:复制光标所在位置到非空行的内容
y$:复制光标所在位置到行尾的内容
粘贴命令
p:复制内容为整行,则粘贴到光标所在行下方;非整行,粘贴到光标所在位置的后方
P:复制内容为整行,则粘贴到光标所在行上分;非整行,粘贴到光标所在位置的前方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值