Vim 学习

Vim 的六种基本模式

  • 普通模式
  • 插入模式
  • 命令行模式
  • 可视模式
  • 选择模式
  • Ex 模式

其中常用的是 普通模式 插入模式命令行模式

三种模式切换

vim 启动进入普通模式,处于插入模式或者命令行模式时只需要按 Esc 或者 Ctrl + [ 即可进入普通模式,普通模式中按i或者a都可以进入插入模式。普通模式按:可以进入命令行模式,命令行输入 wq 回车保存退出 vim

游标移动

在普通模式中进行游标移动,按h,j,k,l进行游标移动

按键 说明
h
l 右(小写)
j
k

插入模式

进入插入模式

在普通模式下使用下面的键进入插入模式,并且可以从相应的位置开始输入

命令 说明
i 从当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符
C 修改当前行上光标后面的部分. 进入编辑状态
cc OR S 修改当前行. 进入编辑状态

删除文本

普通模式删除文本

命令 说明
x 删除游标所在的字符
X 删除游标所在的前一个字符
Delete 同 x
dd 删除整行
dw 删除一个单词
d$ OR D 删除至行位

重复上次操作

在普通模式下 . (小数点)表示重复上次操作

执行指定次数的命令

在普通模式下,输入N<command>N 表示 command 的执行次数,比如 2dd,表示执行 dd 两次。

游标的快速跳转

行间跳转

命令 说明
nG(n Shift+g) 游标移动到第n 行,如果默认没有显示行号,先执行:set nu 显示行号
gg 游标移动到第一行
G(shift+g) 到最后一行

行内跳转

普通模式下使用下列命令在行内按照单词为单位进行跳转

命令 说明
w 到下一个单词的开头
e 到当前单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0 OR ^ 到行头
$ 到行尾
f[字母] 向后搜索 字母 并跳转到第一个匹配的位置
F[字母] 向前搜索 字母 并跳转到第一个匹配的位置
t[字母] 向后搜索 字母 并跳转到第一个匹配的位置之前的一个字母**
T[字母] 向前搜索 字母 并跳转到第一个匹配的位置之前的一个字母**

复制粘贴剪切

复制及粘贴文本

在普通模式下使用 y 复制

命令 说明
y 复制当前光标的文本
yy 复制游标所在的整行
y^ OR y0 复制至行首,不包含光标所在的字符
y$ 复制至行尾,含光标所在处字符
yw 复制一个单词
y[n]w 复制 n 个单词
yG 复制至文本末
y1G 复制至文本开头

使用p粘贴

命令 说明
p 粘贴至光标后
P 粘贴至光标前

剪切及粘贴

其实 dd 就是剪切,每次剪切后可以用 p来粘贴,所以 ddp 可以快速实现上下行交换

查找和替换

替换和撤销命令

普通模式

命令 说明
r<待替换的字母> 将游标所在的字母替换为指定的字母
R 连续替换,直到按下Esc
cc 替换整行,及删除游标所在的行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C 替换游标以后至行末
~ 反转游标所在字母的大小写
u[n] 撤销一次或者 n 次操作
U 撤销当前行的所有修改
Ctrl+r redo,撤销撤销操作

快速缩进

使用命令进行快速调整缩进操作

缩进操作均在普通模式下有效

命令 说明
>> 将整行向右缩进
<< 将整行向左回退

命令行下对shiftwidth值进行设置可以控制缩进和回退的字符数

shiftwidth 命令

获取目前的设定值

:set shiftwidth?

设置缩进值为10个字符

:set shiftwidth=10

调整文本位置

命令行模式下输入:ce 命令使文本居中

命令 说明
:ce 使本行内容居中
:ri 使本行内容靠右
:le 使本行内容靠左

查找

快速查找

普通模式下输入/ 然后输入要查找的字符串,按回车后就会进行查找。

?/功能相同,只不过?是向上而/是向下查找

进入查找后输入nN可以继续查找

n 表示继续查找,N表示反向查找

高级查找

命令 说明
* 向下查找游标所在处的单词
# 向上查找游标所在处的单词
g* 向下查找游标所在处的单词,部分符合即可
g# 向上查找游标所在处的单词,部分符合即可

nN仍可使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • 概念 什么是 vim Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富...
    静默虚空阅读 629评论 0 3
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,357评论 0 5
  • 1.vim简介 vim是一种有模式的文本编辑器,如:普通模式、插入模式、可视模式等。初入门最常用的是普通模式和插入...
    饥人谷_木头先生爱喝水阅读 385评论 0 0
  • 按功能划分出命令 光标移动 w移动光标到下一个单词的词首,b移动光标到上一个单词的词首;e移动光标到下一个单词的结...
    清水芦苇阅读 604评论 0 0
  • 奇葩说第二季观后感系列 这个问题其实说多了挺累人的,有过这方面经历,没有最好的选择。简单来说,作为一个好的恋人...
    没文化的徐二狗阅读 1,481评论 2 1