Vim简单入门

为什么使用Vim

Vim提供了一套高效的快捷键,用来方便的操作文本。你可以在绝大多数的编辑器/IDE里使用这套快捷键,只要学习一次,便可受用终身,值得学习。

完全使用键盘操作,减少了鼠标的使用,使用后手腕再也不痛了。

如何使用Vim

你可以安装vim后使用vimtutor进入官方的入门手册,使用vim最好从这里开始。

windows的话安装git会一并安装一个bash和一些软件,你打开它输入vimtutor即可进入教程。

你需要半个小时的时间来了解它,花几天的时间熟悉它,再花很长一段时间乃至数年来掌握它。然后你就可以非常愉快的使用它了。

Vim的模式

vim有几种不同的模式,用来进行不同的操作

表示进入此模式的方式,如:`` 表示shift+V,`` 表示ctrl+V
  • normal<esc> 进入vim后默认模式,可以对文本进行各种操作,不可以进行输入
  • insert<i> 插入模式,在这个模式下进行文本输入
  • replace<R> 替换模式
  • selection<V> 选择模式
    • line<S-V> 行选择
    • block<C-V> 块选择
  • 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表示复制一行到剪切板
  • 粘贴
    • p 表示粘贴,默认粘贴未命名寄存器里的值,"+p 表示粘贴系统剪切板里的值
  • 删除
    • d 表示删除操作,和其他字母连用。如dd 删除整行,dw 删除一个字,d$删除到行末的内容,dfa表示删除光标到当前行第一个字母a 的所有内容。
    • x 删除光标选中的内容

窗口操作

  • :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,许多人都把他们的各种工具的配置分享在那里,可以根据他们的配置来修改为你的配置。

posted on 2020-03-08 00:33  acgq  阅读(211)  评论(0)    收藏  举报

导航