vim使用指南


今天起blog内容附带英文释义,原意还是蛮重要的。

Linux Vim

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

vi/vim的使用

分为三种模式:命令模式(command mode)、输入模式(insert mode)、底线命令模式(last line mode)。

命令模式

常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符
  • : 切换到底线命令模式,以在最后一行输入命令

若要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令输入更多的命令。

输入模式

命令模式下按下i就进入输入模式。
输入模式中可以使用以下按键:

  • 字符按键和shift组合,输入字符
  • ENTER,回车键换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert 切换光标到输入/替换模式,光标将变成竖线/下划线
  • ESC 退出输入模式,切换到命令模式

底线命令模式

在命令模式下按:进入底线命令模式
在底线命令模式下可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出(quit)
  • w 保存(save)

按ESC键可随时退出底线命令模式

关系图:
在这里插入图片描述

实例:

- 建立一个名称为Luan的txt:

$ vim Luan .txt

结果:
请添加图片描述

- 按下i进输入模式,会发现左下键的“Luan.txt”更改为:

INSERT

请添加图片描述
一般情况下,按i o a都可以进入输入模式 除了ESC其他按键都是输入模式的编辑

  • 按下ESC回到一般模式,再输入:wq就是保存离开。
  • 这里我输入了:
    I do not like noodles!
    在这里插入图片描述

然后ESC键

再输入:wq

OK,我们现在看一下Luan.txt:请添加图片描述

其他按键说明:

移动光标的办法(一般模式)

常用的都高亮了
h=←
j=↑
k=↓
i=→
前面可以加step,eg:24j(向上24步)
PgDn(PageDown)=Ctrl+f 向下翻页
PgUp(PageUp)=Ctrl+b 向上翻页

Ctrl+d 向下翻半页
Ctrl+u 向上翻半页
+:下一行
-:上一行
n<空格>:n是数字,往后移动n个字符
0或Home:移动到此行最前方
$或End:移动到此行最后方

H 屏幕最上方的第一个字符
M 屏幕中央的第一个字符
L 屏幕最下方的第一个字符
== G 移动到这个档案的最后一行==
nG 移动到这个档案的第n行
gg 移动到这个档案的第1行 =1G
n 光标向下移动n行

搜索替换

/word 向下搜word
?word 向上搜word
n 重复前一个搜寻动作
N 反向重复前一个搜寻动作
:n1,n2s/word1/word2/g n1,n2行之间搜寻word1替换成word2

:1,$s/word1/word2/g = :1,%s/word1/word2/g 从第一行到最后一行搜word1替换成word2

:1,$s/word1/word2/gc = :1,%s/word1/word2/gc 从第一行到最后一行搜word1替换成word2,替换前confirm是否替换

复制/粘贴/删除

x,X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 剪切游标所在的那一整行,用 p/P 可以粘贴
ndd 剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴

d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行

y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u 复原前一个动作
Ctrl+r 重做上一个动作
. 重复前一个动作

其他补充

Ctrl+V

进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出
vim快捷键补充(插入模式)

  • 自动补全:ctrl + n
    
  • \p<  插入一个include,并把光标置于<>中间	
    
  • \im  插入主函数
    
  • \ip  插入printf,并自动添加\n,且把光标置于双引号中间
    

vim快捷键补充(编辑模式)

  • dw  删除一个单词(配合b:将光标置于所在单词的首部)
    
  • yw  复制一个单词(配合p:粘贴)
    

vim快捷键补充(插入与编辑模式通用)

  • \rr  运行程序
    
  • \rc  保存并编译程序(会生成二进制文件)
    
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值