vim极为详细的教程(二)vim自带的高级操作和映射

先看(一)会比较好

vim自带的高级操作

2-1 vim的多文件操作
(1)buffer, tab ,window的概念
buffer:是指打开的一个文件的内存缓冲区
window: 窗口是buffer的可视化的分割区域
tab:多个window组成的一个工作区
在这里插入图片描述
window,tab,buffer的关系如图所示,所有的window共同组成一个buffer

buffer的本质:vim打开一个文件后,会将文件内容加载到缓冲区中,之后的修改都是针对内存中的缓冲区,并不会直接保存到文件中。当我们在命令行输入w的时候,才会将缓冲区中的内容写到文件中。

窗口的是可视化的分割区域,使用:vsp可以进行竖分屏,使用sp可以进行水平分屏,比如vim a可以用vim打开文件a,再输入:vsp b,可以同时打开b文件。

(2) 如何切换窗口
ctrl + w + w在窗口间循环切换
ctrl + w + h切换到左面的窗口
ctrl + w + j切换到下面的窗口
ctrl + w + k切换到上面的窗口
ctrl + w + l切换到右面的窗口
若两个窗口打开了同样的内容,比如皆为文件a,可以使用:e b,使光标所在得window显示b的缓冲区,但然,必须在已经打开b文件的情况的下才有效果。

(3)窗口的大小可以用鼠标进行调控,鼠标可以拖拽窗口的大小

2-2vim的文本对象(text object)
我们之前已经使用过文本对象了,比如dw,删除一个单词,而那个单词就是文本对象
command [text object] command 可以有d,c,y(y是复制,后面会讲)
text object常用的有w,iw(in word),(around word)aw,分别表示三种文本对象。
dw表示删除光标后面的单词,diw表示删除光标所在的单词,但不包括单词旁边的空格。dt{char}表示从光标位置删除到char之前的字符。

扩展一下,对于字符串(“abcde”),i)表示选中“abcde”,a)表示选中(“abcde”)

2-3 vim的复制粘贴
normal模式下的复制粘贴:normal模式下复制/剪贴分别是y/d, 粘贴为p,y/d都可以配合文本对象使用。
可以进入visual模式选择要复制的部分。

vim的复制粘贴功能非常复杂,但现在早已被功能更加强大,方便的插件代替了,这里就不再继续讲了。

2-4 vim的补全大法
现在vim的补全功能已经由插件实现了,vim自带的补全功能基本不再使用了,这个在插件篇会进行详解。

vim配置文件的配置

vim的配置应该在熟练使用vim基础操作的情况下进行配置,vim很多的配置都比较个性化,应当去慢慢学习·。

3-1. 在vim中有非常多的设置,比如:set number设置行号,但是每次打开vim都要进行这样的操作非常麻烦,我们可以将它写在vim的配置文件中,每次vim启动,都会自动读取配置文件中的内容,这个配置文件就是~/.vimrc
常用的有
set nu 设置行号
colorscheme hybrid 设置主题
syntax on 语法高亮
set autoindent 保持上一行的缩进
set shiftwidth=4 设置缩进单位

3-2. vim的映射:vim映射就是把一个操作映射到另一个操作上面
我们常常使用映射去设置一些方便的快捷键
映射可以分为以下几种
(1) 基本映射,在normal模式下
使用map就可以实现映射。比如
:nmap <space> viw 就是按下空格选择整个单词
:nmap <c-d> dd 可以使用ctrl+d执行dd删除一行

(2) 在normal/visual/insert模式下都可以定义映射,
使用nmap/vmap/imap定义的映射只在normal/visual/insert分别有效

有问题可以到我创建的 QQ群“361863861” 问问题,有些操作在试验后不懂,可以加群讨论。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值