vim使用方法

直接上干货!!!

世上有三种程序员,一种用Emacs,一种用vi,剩下的使用其他编辑器

vi 通过vim脚本无限地扩展功能,使其成为了编辑器中的“神器”。

vim是从vi发展出来的一个文本编辑器。编辑、跳转及代码补全等方便编程地功能特别丰富,在类UNIX系统中被广泛使用。

vim和vi一样,都是有模式地编辑器:编辑模式命令模式。由于区分了模式,导致vim的命令非常简洁。

而无模式的编辑器可能更容易上手,如Emacs,而有模式的编辑器上手的过程可能会比较慢。

vim用户手册详细地描述了vim的基础用法和进阶功能。读者可以在vim中输入“help”进入用户手册。

vim的两个基本模式是Normal模式insert模式
在normal模式下输入的每个字符都被视为一个命令。
而在insert模式下输入的字符都作为实际要输入的文本内容。
通常进入vim默认处于normal模式
在normal模式下键盘的输入都是作为命令来对待的。命令的输入通常是不回显的,只显示执行的结果。
其他的任何模式都可以通过Esc键回到normal模式。如果vim以一声蜂鸣器回应你,那说明你已经在normal模式了。

在normal模式下通过a、A、i、I、o、O等命令即可进入insert 模式。
a 在光标所在的位置后输入
A在光标所在行的行末输入
i在光标所在位置前输入
I在光标所在行的行首输入
o在光标所在的那一行下面新增一行输入
O在光标所在的哪一行上面新增一行输入

除了上面的那两个基本模式外,vim还有两个很常用的模式:command-line模式visual模式
command-line模式可以通过“/”(正向搜索)或“?”(反向搜索)或“:”(一般命令)按键从normal模式进入。
当输入“:”后,可以在窗口的底部观察到一个冒号,后面的光标会等待后续的输入。在后面输入命令后按enter键就会触发命令,并返回到normal模式。

vim默认是不显示行号的,通过键入“:set nu”命令就可以显示行号

visual模式在进行复制粘贴操作时非常快捷方便。

V 按行选择的visual模式 屏幕底部会有 VISUAL LINE的提示
v 按字符选择的visual模式 屏幕底部会有 VISUAL的提示
ctrl +v 按块选择的visual模式 屏幕底部会有VISUAL BLOCK的提示

normal模式是最基本的模式,而其他的模式都是从normal模式转移过去的。从其他各种模式返回到normal模式的
方法通常是按Esc键。为了提高效率应养成每完成某个操作之后就按一下Esc键回到normal模式的习惯。

vim -o 文件 文件 能够横向显示这两个文件

vim -O 文件 文件 能够纵向显示这两个文件

:sp 水平切分出一个窗口
:vsp 垂直切分出一个窗口

:wq 保存退出

光标的移动

在normal模式下,可以使用h(左),j(下),k(上),l(右)来移动光标 或者使用方向键
左移 20 使用20h 或者20方向左键 其他同理

翻页
ctrl +b 或者pgup键 向上翻页
ctrl+f 或者pgdn 向下翻页

建议熟练使用hjkl键来移动光标,因为可以灵活的单手操作,而且手不必离开打字区。

进阶的光标移动

0或者home 键 光标移至行首
^ 移至行首第一个非空白字符
$移植行尾
G 移至文档尾部(最后一行的第一个非空白字符处)
Gg 移至文档首部(第一行的第一个非空白字符处)
:n或者nG (跳转到某一行)
其他的感觉没什么用,不写了。

特殊的移动

} 移至下一个段落首
{ 一直上一个段落首
% 用于匹配‘{’、‘}’、‘[’、']'等
光标在‘(’时按%,光标就会跳到匹配的‘)’之上

vim下的复制、粘贴和删除

复制

yy 复制当前整行的内容到vim缓冲区
yw 复制当前光标所在位置到单词尾字符的内容到vim缓冲区,相当于复制一个单词

y$ 复制当前光标所在的位置到行尾的内容到缓冲区
y^ 复制当前光标所在位置到行首的内容到缓冲区
num+yy 5yy就是复制5行
num+yw 2yw就是复制两个单词

粘贴

p 将复制的数据粘贴在光标的下一行
P将复制的数据粘贴在光标的上一行

删除

x 删除光标处的单个字符

dd删除光标处的所在行
dw 删除当前字符到单词词尾的所有字符

num +x 3x就是删除光标处向右的3个字符
num+dd 5dd 是从当前行开始向下删除5行文本

vim 下的撤销和重复

所有的文本编辑工具都会带有撤销和重复两个命令
u 撤销
ctrl+v
重复

vim 下的查找和替换
vim的查找和替换功能主要在command-line 模式下完成的

查找

自上而下的查找:/+要查找的字符串,其中/代表从光标所在位置开始向下查找 n查找下一个,N查找下一个
自下而上的查找:?+要查找的字符串,其中?代表从光标所在位置开始向上查找

替换

:s/old/new 用new替换行中首次出现的old
:s/old/new/g 用new替换行中所有出现的old
:#,#s/old/new/g 用new替换从第#行到第#行出现的old
:%s/old/new/g 用new替换整篇中出现的old
如果替换的范围较大的时候,可以在所有命令尾部加一个c命令,强制用户对每个替换进行确认,
例如:s/old/new/c 或者:s/old/new/gc

当使用vim编辑某个文件时会生成一个临时文件,该文件以“.”开头以.swp扩展名结尾。正常退出时该文件会自动删除
如果意外退出如忽然断电,该文件不会删除。

vim 下的插件

这些插件提供了最实用的功能,使得vim变得更加实用。
Ctags、Taglist、Cscope、NERDTree
去做一个IDE吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

最怕问初衷,幻梦成空

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

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

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

打赏作者

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

抵扣说明:

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

余额充值