上一次已经知道如何打开vim和退出vim了,今天要稍微多学一点了。
打开vim后,发现自己好像并不能做什么,所以就先从对一个文件的基本操作开始吧!
vim [filename] #就打开了对应的文件,现在你需要做的就是移动光标来查阅文件。
k
h l
j
# 上面四个键对应这最基本的光标单次移动
现在先不说别的,我先来搞清楚原先我们一直使用的快捷键在vim里会是什么操作:
首先入场的是
Ctrl + c #显然试了知道这个快捷键搭配在normal模式下什么也做不了(当然后面可以自己定义),但是在输入模式下可以做的就是退出输入模式
Ctrl + v #按下这个后,可以看到左下角出现了visual block的字样,这是vim下面强大的块操作,这时你移动光标,就会发现选中区域以光标开始的位置和当前位置对可选定内容绘制矩形选区。
Ctrl + s #这是个尴尬的命令,在终端下,这个命令的意思是暂停终端,按下后就不能执行别的命令了,但是你的键盘输入会被缓存着,直到你又按下
Ctrl + q 停止暂停,这时候你的输入就被响应了(比如你按下Ctrl + s后输入[:q! 回车],再按下 Ctrl + q 你就发现[:q! 回车]会被执行了,你就退出vim了)
为什么是先将这几个vim中不常用的命令呢?因为这几个是我们Windows下面常用的命令,但是在这里行不通了,我们需要及时做出调整,才能适应这个高效的vim,那么我们平时用的复制粘贴命令在vim下是什么呢?
vim下复制的主体命令是[y],来源于yank(提起)的首字母,具体复制什么又有
- yy 复制整行到缓存寄存器(nyy复制n行,yny同样是复制n行,n为数字输入)
- y^ 复制当前光标到当前行头的内容
- y$ 复制当前光标到当前行尾的内容
- yw 复制一个word,同样nyw,ynw都是复制n的word
- yG 复制到文档末尾,而这里的nyG或是ynG则是指从当前复制到第n行,支持反向,比如当前行为7,输入3yG就是指复制3~7行的内容。
注意所有的复制内容都是被复制到了vim的缓存区中,在vim以外不生效,如果要在vim外还使用vim中复制的内容,就需要将内容复制到系统缓存区,在实现这个操作前我们需要在vim的非输入模式(左下角没有特殊提示时)输入 :reg 来查看缓存区的状态,这时可以看到
- "0
- "1
- "2
- "3
- ……
- ”9
- ”e
- "-
- "*
- "+
- "%
- "/
和后面跟着的一系列寄存器中的内容,这里需要注意的是"*,"+就是系统自带的缓存区,如果找不到这两个则说明没有安装vim-gnome,这个时候就需要安装一下sudo apt-get install vim-gnome (我所有的操作否是默认在Linux下进行的,因为我在学习Linux)
有了这个只有就可以看到对应的寄存器有没有内容可供自己粘贴了
"+p #就是将自己在vim外面copy的内容粘贴到vim的光标处。
"*p #则是将自己在vim外面用鼠标选中的内容粘贴到vim的光标处,同理还可以选择粘贴其他寄存器(缓存区)的内容。
说完了复制粘贴,好像还有剪切删除没有说。
剪切命令的主体是d,delete
- d 剪切选定的区域到缓存区
- dd 剪切当前行(ndd向下剪切n行)
- d^ 剪切当前光标位置到行首
- d$ 剪切当前光标位置到行尾
- dG 剪切到文档尾(dnG剪切到n行)
剪切之后如果不管了就相当于删除内容。好了剪切并配合粘贴命令的使用,在加上从vim外复制的内容的粘贴,一些人编程的基本需求已经满足了,可以放弃了:)
如果我没有放弃,之后继续更新,逐渐会步入高阶的操作的。