Vim打造专属编辑器(基础篇)

Vim使用及配置
1、
1)vim相比于vi做的一些改进
支持多级撤销、多窗口操作
稳定性提高。而且奔溃之后可恢复
自动补全
2)vim的地址:ftp://ftp.vim.org/ftp/pub/vim/unix/

因为有时候登陆的是服务器,没有界面,所以需要用到编辑器:比如登陆阿里云、腾讯云之后,没有界面所以只能依靠类似于vim的编辑器来进行编辑了

1)打开Vim窗口之后,在下面输入命令 :vs xxx.c,则会将窗口分成两个窗口,另一个文件即为xxx.c

2):wq是保存修改 :q!是不保存修改

2、vim工作模式
2.1普通模式
vim打开一个文件时的默认(命令模式)
2.2 插入模式
向文件中插入代码,首先点“i”键进入插入模式;esc返回普通模式
同时点“o”和“a”也是进入插入模式

2.3 命令行模式
输入“:”,然后输入命令,敲回车即可,比如输入 :set number就是现实文件行号
一些常用命令,例如设置行号的命令可以保存在./ect/vim/vimrc配置文件中

2.4可视化模式
按v进入到可视化模式
然后移动光标就可以选中一块文本
可以进行后续的粘贴、删除、复制等操作
按esc键可以退回到普通模式

2.4 替换模式
按shift+r(即“R”)键就可以进入到替换模式,此时光标处输入要替换成的字符就可以了,
然后按esc退回到普通模式

3、光标的移动
单个字符移动:
h:向左移动
l :向右移动
j:向下移动
k:向上移动
xh:向左移动x个字符,李荣输入10h,就是向左移动10个字符

  单词移动:

w:将光标移动到下一个单词的开头
b:将光标移动到前一个单词的开头
e:将光标移动到下一个单词的末尾
ge:将光标移动到上一个单词的末尾
xw:指定移动的x个单词

  行移动:
          $:将光标移动到当前行的末尾
          0:将光标移动到当前行的行首

^:将光标移动到当前行的非空字符
2|:移动到当前行的第2列
fx:将光标移动到当前行的第一个x上
3fx:将光标移动到当前行的第3个x上
tx:将光标移动到当前行的x的前一个字符上。
2tx:即将光标移动到当前行的第2个x的前一个字符上
fx和tx可以通过;和,进行重复移动,一个正向重复,一个反向重复,即在按下fx或者tx之后,如过想要移动到当前字符之后或者之前的字符上,可以通过分号和逗号移动
%:用于符号间的移动,它可以通过[],{},()之间移动

  文本块移动:
          (   :  移动到当前句子开头
          ):移动下一个句子的开头
          {  :移动到当前一段的开头
          }   :移动到下一段的开头

[[::移动到当前一节的开头
]] : 移动到下一节的开头

在屏幕中移动:
H:移动到home
M:移动到屏幕中间
L:移动到屏幕结尾 上面HML均是对整个显示出的一屏幕的内容

x%:移动到文件的中间,就是用50%
xG:移动到指定的第x行
G:移动到文件的末尾
‘’(2次单引号):返回到跳转前的位置
ctrl+g:查看当前位置的状态表

5、滚屏与跳转

半屏滚动:ctrl+u/ctrl+d
全屏滚动:ctrl+f/ctrl+b

定义光标位置:(但是光标所在行数不变)
zz:将光标置于屏幕的中间
zt:将光标移动到屏幕的顶部
zb:将光标移动到屏幕的底部

设置跳转标记:
mx.my.mz设置三个位置
x,y, `z跳转到上面设置的三个位置

6、文本插入操作

i: 在当前光标的前面插入字符
a: 在当前光标的后面追加字符
o:在当前光标得 下一行行首插入字符
I:在一行的开头添加文本
A:在一行的结尾处添加文本
O:在光标当前行的上一行插入文本
u:将之前的修改撤销掉
s:删除当前光标处的字符并进入到插入模式
S:删除当前光标所在行并进入到插入模式

7、文本删除

字符删除:
x:删除当前光标所在处的位置
X:删除当前光标左边的字符

单词删除:
dw:删除一个单词(从光标处到空格处)
daw:无论光标在什么位置,删除光标所在的整个单词(包括空白字符)
diw:删除整个单词文本,但是保留空格字符不删除
d2w:删除从当前光标开始出的2个单词文本
d$:删除从当前光标开始到一行末尾的整个文本
d0:删除从光标到一行开始的整个文本

行删除:
dd:删除当前光标处的一整行=D
5dd:删除从光标开始处的5行代码
dgg:删除从光标到文本开头
dG:删除从光标到文本结尾

行合并:
J: 删除一个分行符,将当前行与下一行合并

8、文本的复制、剪切与粘贴

y:复制 p:粘贴
yw:复制一个单词
y2w:复制2个单词

y$:复制从当前光标到行结尾
y0:复制当前光标到行首

yy:复制一整行,然后p将文本复制到光标的下一行
2yy:复制当前光标所在行的2行

复制文本块:
1.首先进入可视化模式
2.移动光标选择文本
3.按y键进行复制
4.将光标移动到指定位置,按p进行粘贴

剪切文本块:
1.首先进入可视化模式
2.移动光标选择文本
3.按x进行删除
4.将光标移动到指定位置,按p进行粘贴

9、文本修改和替换

cw:删除从光标处到单词结尾的文本并进入到插入模式
cb:删除从光标处到单词开头的文本并进入到插入模式
cc: 删除一整行并进入到插入模式

~:修图该光标下字符的大小写
r:替换当前光标下的字符
R:进入到替换模式
xp:交换光标和下一个字符

10、组合命令的使用

11、文本的查找与替换
/sub:在文本中查找sub关键字, 接下来按n查找之后的sub (正向查找)
?sub:在文本中查找sub关键字,接下来按n查找之前的sub (反向查找)
在查找到结果之后,按下命令 :set hls 对查找到的字符高亮

在配置文件中设置高亮显示:
打开./ect/vim/vimrc
末尾输入:set hls
*按键将当前光标处的单词高亮显示,使用n浏览下一个查找高亮结果

查找并替换:
:/s/old/new 将当前行的第一个字符串old替换为new
:/s/old/new/g 将当前行所有字符串old替换为new
:90s/old/new/g 将第90行所有字符串old替换为new
:90,93s/old/new/g 将指定范围90~93行的old替换为new
:%s/old/new/g 将文本中所有old替换为new
:%s/old/new/g 依次替换每个字符串关键字
:%s/^struct/int/g 将所有以struct开头的字符串替换为int

12、修改的撤销、重做和保存

u:撤销上一步的操作
ctrl+r :将原来的撤销重做一遍
U:回复一整行原来的面貌(相当于做了一个修改,而不是回到原来的状态)

:wq 保存退出
:q! 丢弃保存退出
:q文件未修改,直接退出
:e! 放弃修改,重新回到文件打开时的转态,但是不关闭

13、编辑多个文件(体验不太好)

文件和缓冲区的区别:
文件是保存在磁盘上的,而打开的文件的文件时在内存中
在内存中有一个缓冲区,用来存放打开的文件;所以修改的其实是缓冲区中的文件,
如过关闭文件不保存修改,其实不会修改磁盘中保存的文件

vim每次打开文件时,都会创建一个缓冲区;他可以同时打开多个文件,
创建多个缓冲区

:buffers 查看缓冲区列表==ls
:buffer N 根据缓冲区列表的编号跳转到指定缓冲区
:bnext/bprev 遍历缓冲区列表
:bfirst/blast 分别调到缓冲区的第一个和最后一个文件
:write将缓冲区的修改保存到磁盘上
:edit xx.c 直接跳转到某个缓冲区的xx.c文件进行修改
:wnext 保存当前缓冲区的修改并跳转到下一个缓冲区的文件

在./ect/vim/vimrc配置文件中加入 :set autowrite命令,自动将缓冲区中修改保存到磁盘中

14、折叠栏和分页(一般采用折叠栏和分页编辑多文件)

标签页的新建:tabedit file
使用当前页的缓冲数据再创建一个标签页:tab split
标签页的切换:tabn/tabp
按键:gt/gT
标签页的关闭:tabclose 关闭当前标签页
tabonly 除了当前标签页,全部关闭

创建一个折叠:
zf200G:将光标和200行之间的代码折叠起来

折叠的打开和关闭:
za:打开和关闭折叠
zr/zm:一层一层打开和关闭折叠
zR/zM:分别打开和关闭所有的折叠

折叠键的光标移动:
zj:将光标跳转到下一个折叠处
zk:将光标跳转到上一个折叠处

删除折叠:
zd:删除光标下的折叠
zD:删除光标下的折叠以及嵌套的折叠
zE:删除所有的折叠标签
创建的折叠当退出vim之后就失效了

15、多窗口操作

分割窗口:split filename 水平分割一个窗口
vsplit filename 竖直分割一个窗口

窗口间跳转:ctrl+w hjkl(左下上右)
ctrl+w w (在几个窗口之间轮询跳转)

窗口移动:
ctrl+w HJKL

调整窗口尺寸:
ctrl+w +/- 调整窗口的高度
ctrl+w </> 调整窗口的宽度
ctrl+w = 所有窗口尺寸设置相同
:resize n 将当前窗口尺寸调整为n行

关闭一个窗口:
close:关闭也窗口
qall:未修改,退出所有窗口
qall!: 放弃修改,退出所有窗口
wqall:保存并退出所有窗口
wall:保存所有窗口,但是不退出

16、vim配置与插件介绍

1、首先在/etc/vim/vimrc中配置一些命令,可以使用起来方便
2、在~/.vim文件中,打开plugin文件,里面可以安装一些插件,使vim使用起来方便

文章借鉴王利涛老师vim课程笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值