Vim常见操作

1、vim编辑器的3种模式

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令行模式command mode)
    控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
    命令行模式下的常用命令:
    【1】控制光标移动:↑,↓,j
    【2】删除当前行:dd
    【3】查找:/字符
    【4】进入编辑模式:i o a
    【5】进入底行模式::

  2. 编辑模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    编辑模式下常用命令:
    【1】ESC 退出编辑模式到命令行模式;

  3. 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
    底行模式下常用命令:
    【1】退出编辑: :q
    【2】不保存强制退出: :q!
    【3】保存并退出: :wq
    【4】强制保存后离开::wq!

2、常见操作

2.1、复制

  • 1、复制
    在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

  • 2、多行复制
    在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1,2,3…
    【yy】 复制光标所在的那一行
    【nyy】 复制光标所在的向下n行

2.2、粘贴

在命令模式下,将光标移动到将要粘贴的行处,按”P“进行粘贴

p为将已经复制的数据在光标下一行粘贴;

P为将已经复制的数据在光标上一行粘贴

2.3、删除

删除一行:dd
删除一个单词/光标之后的单词剩余部分:dw
删除当前字符:x
光标之后的该行部分:d$
文本删除
dd 删除一行
d$ 删除以当前字符开始的一行字符
ndd 删除以当前行开始的n行
dw 删除以当前字符开始的一个字
ndw 删除以当前字符开始的n个字

2.4、查找

【/word】 在文件中查找内容为word的字符串(向下查找)
【?word】 在文件中查找内容为word的字符串(向上查找)
【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个

搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?
命令模式下,输入:nohlsearch 也可以:set nohlsearch; 当然,可以简写,noh或者set noh。

2.5、设置行号

如果编辑后,又想显示行号,同样操作按一下esc键,并输入:(冒号),输入set number ,并按回车键,完成后即显示行号

2.6、跳到指定行

在知道所查找的内容在文件中的具体位置时可以使用以下命令直接指定

跳到文件指定行:比如跳到66行 66+G(也就是66+shift+g)

当然你可以选择另一种跳转方式:命令行输入“ : n ” 然后回车

跳到文件第一行:gg (两个小写的G)
跳到文件最后一行:shift+g (也就是G)

2.7、文件上下翻转页

翻转可以直接使用PgUp和PgDn

向前滚动一屏:Ctrl+F
向后滚动一屏:Ctrl+B
向前滚动半屏:Ctrl+D(向下)
向后滚动半屏:Ctrl+U(向上)
向下滚动一行,保持当前光标不动:Ctrl+E
向上滚动一行,保持当前光标不动:Ctrl+Y
当前行滚动:
当前行移动到屏幕顶部并滚动:Z+Enter
滚动指定行到屏幕顶部: 10Z+Enter(指定第十行)
当前行移动到屏幕中央并滚动:Z + .
当前行移动到屏幕底部并滚动:Z + -

当前屏幕操作:
H:大写h,移动到当前屏幕首行;nH移动到首行下的第n行
M:大写m,移动到当前屏幕中间行
L:大写l,移动到当前屏幕末行;nL移动到末行上面的第n行

2.8、撤销上一步操作【u】 撤消上一个操作

【[Ctrl] + r】 多次撤消
【.】 这是小数点键,重复上一个操作

缩进
插入模式下,ctrl+shift+d 减少缩进,ctrl+shift+t 增加缩进

2.9、多窗口功能

【:sp [filename]】 打开一个新窗口,显示新文件,若只输入:sp,则两窗口显示同一个文件
【[Ctrl] + w + j】 光标移动到下方窗口
【[Ctrl] + w + k】 光标移动到上方窗口
【[Ctrl] + w + q】 离开当前窗口

2.10、缩进批量缩进

在程序代码界面,按esc,退出编辑模式,到命令模式,并在英语输入法下输入“:”
将所要批量缩进的行号写上,按照格式:“行号1,行号2>”输入命令,如要将2至9行批量缩进一个tab值,则命令为“2,9>”
输入完毕后,按回车可以执行,就可以看到2至9行全部缩进了一个tab值了,同样的,如果要缩回来一个tab值,则用命令“行号1,行号2<”即可

可视模式缩进

方法二是在可视模式下选择要移动的列,操作为,esc从编辑模式退到命令模式,将光标移到需要缩进的行的行首,然后按shift+v,可以看到该行已被选中,且左下角提示为“可视”
此时,按键盘上的上下左右方向键,如这里按向下的箭头,选中所有需要批量缩进的行
选择好了之后,按shift+>,是向前缩进一个tab值,按shift+<,则是缩回一个tab值,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白鸽呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值