前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vim学习笔记

Vim学习笔记

作者头像
用户7162790
发布2022-03-23 15:05:37
3170
发布2022-03-23 15:05:37
举报
文章被收录于专栏:森屿暖树
请输入图片描述
请输入图片描述

vi/vim的三种模式

代码语言:javascript
复制
命令模式(Command mode),⽤户刚刚启动vi/vim,便进⼊了命令模式。
输⼊模式(Insert mode),在命令模式下按下i就进⼊了输⼊模式
底线命令模式(Last line mode),在命令模式下按下:(英⽂冒号)就进⼊了底线命令模式

移动光标的⽅法

代码语言:javascript
复制
h 或 向左箭头键(←) 光标向左移动⼀个字符
j 或 向下箭头键(↓) 光标向下移动⼀个字符
k 或 向上箭头键(↑) 光标向上移动⼀个字符
l 或 向右箭头键(→) 光标向右移动⼀个字符
+ 光标移动到⾮空格符的下⼀⾏
- 光标移动到⾮空格符的上⼀⾏
n 那个 n 表示『数字』,按下数字后再按空格键,光标会向右移动这⼀⾏的 n 个字符
0 或功能键[Home] 这是数字『 0 』:移动到这⼀⾏的最前⾯字符处
$ 或功能键[End] 移动到这⼀⾏的最后⾯字符处
H 光标移动到这个屏幕的最上⽅那⼀⾏的第⼀个字符
M 光标移动到这个屏幕的中央那⼀⾏的第⼀个字符
L 光标移动到这个屏幕的最下⽅那⼀⾏的第⼀个字符
G 移动到这个档案的最后⼀⾏
nG n为数字。移动到这个档案的第 n ⾏
n n 为数字。光标向下移动 n ⾏

翻⻚

代码语言:javascript
复制
[Ctrl] + [f] 屏幕『向下』移动⼀⻚
[Ctrl] + [b] 屏幕『向上』移动⼀⻚
[Ctrl] + [d] 屏幕『向下』移动半⻚
[Ctrl] + [u] 屏幕『向上』移动半⻚

删除、复制与粘贴

代码语言:javascript
复制
x, X 在⼀⾏字当中,x 为向后删除⼀个字符 (相当于 [del] 按键), X 为向前删除⼀个字符
nx n 为数字,连续向后删除 n 个字符
dd 删除游标所在的那⼀整⾏(常⽤)
ndd n 为数字。删除光标所在的向下 n ⾏
d1G 删除光标所在到第⼀⾏的所有数据
dG 删除光标所在到最后⼀⾏的所有数据
d$ 删除游标所在处,到该⾏的最后⼀个字符
d0 那个是数字的0 ,删除游标所在处,到该⾏的最前⾯⼀个字符
yy 复制游标所在的那⼀⾏(常⽤)
nyy n 为数字。复制光标所在的向下 n ⾏
y1G 复制游标所在⾏到第⼀⾏的所有数据
yG 复制游标所在⾏到最后⼀⾏的所有数据
y0 复制光标所在的那个字符到该⾏⾏⾸的所有数据
y$ 复制光标所在的那个字符到该⾏⾏尾的所有数据
p, P p为将已复制的数据在光标下⼀⾏贴上,P则为贴在游标上⼀⾏
J 将光标所在⾏与下⼀⾏的数据结合成同⼀⾏
c 重复删除多个数据,例如向下删除 10 ⾏,10cj
u 复原前⼀个动作
[Ctrl]+r 重做上⼀个动作

切换到编辑模式

i, I 进⼊输⼊模式(Insert mode):

代码语言:javascript
复制
i 为『从⽬前光标所在处输⼊』
I 为『在⽬前所在⾏的第⼀个⾮空格符处开始输⼊』

a, A 进⼊输⼊模式(Insert mode):

代码语言:javascript
复制
a 为『从⽬前光标所在的下⼀个字符处开始输⼊』
A 为『从光标所在⾏的最后⼀个字符处开始输⼊』

o, O 进⼊输⼊模式(Insert mode):

代码语言:javascript
复制
o 为『在⽬前光标所在的下⼀⾏处输⼊新的⼀⾏』
O 为『在⽬前光标所在处的上⼀⾏输⼊新的⼀⾏』

r, R 进⼊取代模式(Replace mode):

代码语言:javascript
复制
r 只会取代光标所在的那⼀个字符⼀次
R 会⼀直取代光标所在的⽂字,直到按下 ESC 为⽌

[Esc] 退出编辑模式

命令模式

代码语言:javascript
复制
:w 将编辑的数据写⼊硬盘档案中
:w! 若⽂件属性为『只读』时,强制写⼊该档案
:q 离开 vi
:q! 若曾修改过档案,⼜不想储存,使⽤ ! 为强制离开不储存档案
:wq 储存后离开,若为 :wq! 则为强制储存后离开
ZZ 这是⼤写的 Z ,若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开
:w [filename] 将编辑的数据储存成另⼀个档案
:r [filename] 在编辑的数据中,读⼊另⼀个档案的数据
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案
:! command 暂时离开 vi 到指令⾏模式下执⾏ command 的显示结果

vim环境的变更

代码语言:javascript
复制
:set nu 显示⾏号,设定之后,会在每⼀⾏的前缀显示该⾏的⾏号
:set nonu 与 set nu 相反,为取消⾏号
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vi/vim的三种模式
  • 移动光标的⽅法
  • 翻⻚
  • 删除、复制与粘贴
  • 切换到编辑模式
  • 命令模式
  • vim环境的变更
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档