linux - vim

一、一般模式

1、光标移动

%          # 可以匹配{},"",(),[]之间跳转

Ctrl + f   # 屏幕向前翻动一页(常用)
Ctrl + b   # 屏幕向后翻动一页(常用)
Ctrl + d   # 屏幕向前翻动半页
Ctrl + u   # 屏幕向后翻动半页
Ctrl + e   # 下滚一行

n<space>   # 光标向右移动这一行的n个字符,例如20<space>,则光标会向右移动20个字符
n<Enter>   # 光标向下移动n行(常用)

0          # (这是数字0) 移动到这一行的第一个字符处(常用)
$          # 移动到这一行的最后一个字符处(常用)
2$         # 跳转到下一行的行尾。

b          # 上一个词的词首(常用)
w          # 下一个词的词首(常用)
e          # 下一个词的词尾
<>         # v 模式选中后进行缩进

h,j,k,l    # 左,下,上,右。
H          # 光标移动到这个屏幕最上方的那一行
M          # 光标移动到这个屏幕中央的那一行
L          # 光标移动到这个屏幕最下方的那一行

nH         # 跳转到当前屏的第n行
nL         # 跳转到当前屏的倒数第n行。
zt         # 当前编辑行置为屏顶。
zz         # 当前编辑行置为屏中。
zb         # 当前编辑行置为屏底。
    
G          # 移动到这个文件的最后一行(常用)
nG         # 移动到这个文件的第n行.例如20G,则会移动到这个文件的第20行(可配合:set nu)
gg         # 跳转到文件首。
()         # 跳转到当前的行首、行尾。
{}         # 向上、向下跳转到最近的空行。
[{         # 跳转到目前区块开头。
]}         # 跳转到目前区块结尾。
:n         # 跳转到n行。
f'n'       # 跳转到下一个"n"字母后

2、查找替换

/word       # 输入关键字,发现不是要找的,直接再按 n,向后 查找直到找到为止。
?word       # 输入关键字,发现不是要找的,直接再按 n,向前 查找直到找到为止。

:n1,n2s/word1/word2/g    # 在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/g      # 从第一行到最后一行查找word1字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/ge     # 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前显示提示符让用户确认(confirm)(常用)
                         # (经验证,并没有提示符让用户确认。)

3、删除 复制 粘贴

u         # 恢复前一个动作(常用)

x,X       # x为向后删除一个字符,X为向前删除一个字符(常用)
nx        # 向后删除n个字符

D         # 删除从当前光标到光标所在行尾的全部字符
dd        # 删除光标所在的那一整行(常用)
ndd       # 删除当前行及其后n-1行(常用)
d1G       # 删除光标所在行到第一行的所有数据
dG        # 删除光标所在行到最后一行的所有数据
dw        # 删除一个单词/光标之后的单词剩余部分。
d4w       # 删除4个word

yy        # 复制光标所在行(常用)  或者 Y
yw        # 将光标所在之处到字尾的字符复制到缓冲区中
nyy       # 复制光标所在行的向下n行,例如,20yy则是复制20行(常用)
nyw       # 复制n个字到缓冲区
y1G       # 复制光标所在行到第一行的所有数据
yG        # 复制光标所在行到最后一行的所有数据
n1,n2 co n3   # 复制第n1行到第n2行之间的内容到第n3行后面

p         # 粘贴在光标下一行(常用)
P         # 粘贴在光标上一行(常用)

J         # 将光标所在行与下一行的内容结合成一行

4、移动

n1,n2 m n3     # 将n1行到n2行之间的内容移至n3行下

5、选择

V       # 选择当前行
^V      # 矩形选择
v3w     # 选择三个字符

6、大小写转换

gUU     # 将当前行的字母改为大写
guu     # 将当前行的字母改为小写
gUw     # 将当前光标下的单词改为大写
guw     # 将当前光标下的单词改为小写

ggguG     # 整篇大写
gggUG     # 整篇小写

二、编辑模式

i        # 当前光标所在处插入:在当前光标所在处插入输入的文字,已存在的字符会向后退(常用)
a        # 光标所在处下一个字符处添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退(常用)

I        # 行首插入:在当前光标所在处的行首开始插入(常用)
A        # 行尾添加:由光标所在处的行尾开始输入(常用)

o        # 在下一行插入新的一行:从光标所在处的下一行插入一空白行,并从行首开始输入字符(常用)
O        # 在上一行插入新的一行:从光标所在处的上一行插入一空白行,并从行首开始输入字符(常用)

r        # 替换:替换光标所指的那一个字符(常用)
R        # 替换:一直替换光标所指的文字,直到按下Esc为止(常用)
Esc      # 退出编辑模式,回到一般模式(常用)

三、命令行模式

:q         # 退出vi(常用)
:q!        # 若曾修改过文件,又不想保存,使用!为强制退出不保存文件

:w         # 将编辑的数据写入硬盘文件中(常用)
:w!        # 若文件属性为只读,强制写入该文件

:wq        # 保存后退出
:wq!       # 强制保存后退出(常用)
ZZ         # 强制保存后退出(超方便)

:w filename     # 将编辑数据保存为另一个文件(类似另存新文档)     所有filename都要加后缀
:r filename     # 在编辑的数据中,将filename这个文件内容加到光标所在行的后面
:e filename     # 打开并编辑指定名称的文件
n1,n2 w filename      # 将n1到n2的内容保存为filename这个文件

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

推荐阅读更多精彩内容