Vim笔记


此处简介

Vim笔记

vi有三种工作模式:

  • 命令模式
  • 插入模式
  • 和编辑模式。
    d689c7d6faa6469a885abdb7ed9b9c52-image.png

插入模式

命令 作用
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行


定位命令

命令 作用
h、方向左键 左移一个字符
j、方向下键 下移一行
k、方向上键 上移一行
l、方向右键 右移一个字符
$ 移至行尾
0 移至行首
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端
:set nu 设置行号
:set nonu 取消行号
gg
G 到第一行
到最后一行
nG 到第n行
:n 到第n行


删除命令

命令 作用
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到文件末尾的内容
D 删除从光标所在处到行尾的内容
:n1,n2d 删除指定范围的行


复制和剪切命令
命令 作用
yy、Y 复制当前行
nyy、nY 复制当前行一下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上 注:在vi中,剪切就是删除之后再粘贴


替换和取消命令

命令 作用
r 取代光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u 取消上一步操作 注:比如改变单个字符,先输入r,再输入需要更改的字符。比如将字符a改成b。这适合用于少量修改时使用


搜索和替换命令

命令 作用
/string 向前搜索指定字符串
搜索时忽略大小写 :set ic
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串 注:n是从前往后,N是从后往前找
set noic是设置大小写敏感
:n1,n2s/old/new/c 替换时进行询问是否真的替换

ZZ与:wq的作用一样,都是保存退出
对于readonly文件,如果是root或者改文件所有者,即使该文件没有写权限,使用:wq!也能保存该修改之后的文件。
仅仅保存但不退出 :w
另存为 :w /root/file.bak


其它命令

导入文件 :r 文件名
在vi中执行命令 :! 命令
定义快捷键 :map 快捷键 触发命令
范例: :map ^P I# 注:^p是这样输入的 ctrl+v+v –> ^p
:map ^B 0x
连续行注释 :n1,n2s/^/#/g 注:^表示行首
:n1,n2s/^#//g
:n1,n2s/^////g
替换 :ab huhuimail huhuics@gmail.com 取消ab命令 :unan huhuimail
:r !date 在vi中加入命令执行的结果
快捷键插入邮箱 :map ^e ihuhuics@gmail.com

修改用户vim设置

修改用户vim设置,比如能永久保存快捷键
vi ~/.vimrc
缺省这个文件是空的,然后可以写入一些快捷键


Author: Kuiq Wang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Kuiq Wang !
  TOC