Vim简单入门
为什么使用Vim
Vim提供了一套高效的快捷键,用来方便的操作文本。你可以在绝大多数的编辑器/IDE里使用这套快捷键,只要学习一次,便可受用终身,值得学习。
完全使用键盘操作,减少了鼠标的使用,使用后手腕再也不痛了。
如何使用Vim
你可以安装vim后使用vimtutor进入官方的入门手册,使用vim最好从这里开始。
windows的话安装git会一并安装一个bash和一些软件,你打开它输入vimtutor即可进入教程。
你需要半个小时的时间来了解它,花几天的时间熟悉它,再花很长一段时间乃至数年来掌握它。然后你就可以非常愉快的使用它了。
Vim的模式
vim有几种不同的模式,用来进行不同的操作
表示进入此模式的方式,如:`- normal
<esc>进入vim后默认模式,可以对文本进行各种操作,不可以进行输入 - insert
<i>插入模式,在这个模式下进行文本输入 - replace
<R>替换模式 - selection
<V>选择模式- line
<S-V>行选择 - block
<C-V>块选择
- line
- command
<:>命令模式,在此执行vim的命令,如:q退出vim,:w保存文件
vim操作文本的主要是在normal模式下,按下esc键或Ctrl+[进入,但是esc键太远了,我把esc和大写锁定换了个位置,感觉好多了。当然也可以绑定其他快捷键来进行。
快捷键命令的组成
vim基本操纵文本的命令有几部分组成,大概是(数字)动作-宾语,举例来说
10dw 10表示动作十次,d表示删除,w表示一个字,这个命令合起来就表示删除10个字。
10dj j表示向下移动一行,这个命令就是删除当前到下面的第10行所有内容。
这给了我们极大的灵活性,只需要记住不多的命令就可以快的操作了。
接下来介绍一些简单的命令,知道他们就可以进行基本的操作了。
编辑文本
- i 在当前光标前输入
- a 在光标后输入
- s 替换当前选中的区域,即删除并进入编辑模式
- c 修改,和其他词连用,如
cw修改当前光标到单词结尾,cj修改当前行到下一行 - esc 返回normal模式
- :w 保存文本
- :q 退出vim ,
:q!不保存退出,:wq保存退出
在文档中移动,跳转
- j 向下
- k 向上
- h 向左
- l 向右
- 0 跳转到行首
- $ 跳转到行末
- w 移动到下个单词的首字母
- e 移动到下个单词的末尾
- b 后移一个单词
- f+* f加上某个字母,表示移动到当前行光标后第一个该字母上,用来在一行内快速定位。
- F+* 大写的f表示光标前第一个字母
- gg 移动到文档开头
- G 移动到文档结尾
对文本进行操作
Vim 中的复制、删除的内容都会被存放到默认(未命名)寄存器中,vim中的寄存器有多个,有"a-zA-Z0-9+*"多个,其中:"表示为未命名寄存器,"+表示剪切板寄存器,可以通过reg [register_name]来查看寄存器中值。
- 复制
- y 表示复制(yank),
yw表示复制一个字,同"yw一样,"+yw表示复制一个字到系统剪切板 - yy 复制一行,
"+yy表示复制一行到剪切板
- y 表示复制(yank),
- 粘贴
- p 表示粘贴,默认粘贴未命名寄存器里的值,
"+p表示粘贴系统剪切板里的值
- p 表示粘贴,默认粘贴未命名寄存器里的值,
- 删除
- d 表示删除操作,和其他字母连用。如
dd删除整行,dw删除一个字,d$删除到行末的内容,dfa表示删除光标到当前行第一个字母a的所有内容。 - x 删除光标选中的内容
- d 表示删除操作,和其他字母连用。如
窗口操作
:split新建一个平行的窗口,一般在下方。也可以简写为:sp:vsplit垂直方向上新建一个窗口,一般在右侧。可以简写为:vs<C-W>+(h,l,j,k) 在各个窗口直接移动
简单的定制
编辑~/.vimrc 对vim进行配置,有些快捷键可以定制的更合适自己的使用习惯。
事实上我很少使用vim,我主要使用的idea的vim插件是修改~/.ideavimrc,这里我自定义了几个快捷键更方便我自己使用,这是我的配置地址
set clipboard=unnamedplus "X clipboard as unnamed
noremap ,x1 <C-W>o
noremap ,x2 :split<CR>
noremap ,x3 :vsplit<CR>
noremap ,x0 :q<CR>
" move window
noremap ,wh <C-W>h
noremap ,wl <C-W>l
noremap ,wj <C-W>j
noremap ,wk <C-W>k
这里我把+寄存器和未命名寄存器绑定起来,这样方便复制粘贴。重新定义了窗口操作的快捷键。
进一步的自定义
vim是一个非常强大的编辑器,可以进行非常个性化的设置,vim的插件和宏给它提供了更丰富的功能,这里就不多说了。
你可以在github上搜索dotfiles,许多人都把他们的各种工具的配置分享在那里,可以根据他们的配置来修改为你的配置。
浙公网安备 33010602011771号