简介
Vim 是一个上古神器,我们可以用它来写代码,写文本,甚至可以变成一个IDE。vim写代码的速度超级快,当你在使用一个函数的时候,它会自动展示使用方法。
Vim是最强大的文本编辑器,是最强大的IDE,嗯,个人观点。大多数不用vim的同学都会说,vim好麻烦啊,好难用啊,那是还没学会怎么用,你学完之后,你就会爱上他,并会像我一样介绍他。
本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。
安装
sudo apt-get install vim // Ubuntu的命令行执行命令
启动
vim // 命令行执行vim命令
打开文件
vim filepath //后面是你的文件路径,要加上后缀名的哦,如果不存在就会创建
新手指南
vimtutor // vim 教程
三种模式
模式切换
# Esc 任意模式下切换到正常模式
# i、a 正常模式切换到写入模式
# : 在正常模式下进入命令模式
正常模式
是操作和动作配套的,比如d操作,后面要加动作,即<operation> → <motion>
# x 删除当前选中的字符
# d + → 删除当前选中字符的右边的字符
# d + ← 删除单前选中字符的左边的字符
# d + 3→ 删除右边三个字符
# d + ↓ 就是当前行到最下面的一行
# dd 删除当前行,类似于剪切的操作
# p 粘贴操作。就是paste
# y + → 复制右边的一个字符,同理的还有y + 3→
# b 移动到上一个词的位置
# w 移动到下一个词的位置
写入模式
# 使用i进入写入模式默认在选中字母前面添加
# 使用a进入写入模式默认在选中字母后面加
# shift + i 跳转到当前行行首并进入写入模式
# shift + a 跳转到当前行行尾并进入写入模式
# o 在本行的下一行重新打开一行并进入写入模式
# shift + o 在当前行的上一行创建新的一行并进入写入模式
# s删除当前字符并进入写入模式
命令模式
# <esc> 进入正常模式
# :w 保存,如果是空文件要在后面加上文件名。就是write
# :q 退出,如果进行了修改未保存就会报错。就是quit
# :q! 不保存退出
# :wq 保存后退出
常用操作汇总
移动光标
# hjkl 左下上右移动。键盘的方向控制键也能达到同样效果
# 2w 向前移动两个单词
# 3e 向前移动到第 3 个单词的末尾
# 0 移动到行首
# $ 当前行的末尾
# gg 文件第一行
# G 文件最后一行
# 行号+G 指定行
# <ctrl>+o 跳转回之前的位置
# <ctrl>+i 返回跳转之前的位置
删除
# x 删除当前字符
# dw 删除至当前单词末尾
# de 删除至当前单词末尾,包括当前字符
# d$ 删除至当前行尾
# dd 删除整行
# 2dd 删除两行
修改
# i 插入文本
# A 当前行末尾添加
# r 替换当前字符
# o 打开新的一行并进入插入模式
撤销
# u 撤销
# <ctrl>+r 取消撤销
复制粘贴剪切
# v 进入可视模式
# y 复制
# p 粘贴
# yy 复制当前行
# dd 剪切当前行
文件
# :e! 强制刷新该文件
# <ctrl>+g 显示当前行以及文件信息
查找
# / 正向查找(n:继续查找,N:相反方向继续查找)
# ? 逆向查找
# % 查找配对的 {,[,(
# :set ic 忽略大小写
# :set noic 取消忽略大小写
# :set hls 匹配项高亮显示
# :set is 显示部分匹配
=是向下找下一个搜索结果
-是向上找上一个搜索结果
替换
# :s/old/new 替换该行第一个匹配串
# :s/old/new/g 替换全行的匹配串
# :%s/old/new/g 替换整个文件的匹配串
分屏
$ Ctrl+W v // 左右
$ Ctrl+W s // 上下
# 移动光标
$ Ctrl+W h/j/k/l // 左/上/下/右
# 移动分屏
$ Ctrl+W H/J/K/L // 左/上/下/右
# 修改屏幕尺寸
$ Ctrl+W =/+/-
基本配置
vimrc 是 Vim 的配置文件,一般的配置文件我们可能不喜欢使用,因此我们需要根据自己的喜好来写自己的配置文件
这个文件在~下的.vim文件夹下,如果没有就需要我们自己创建。注意:vimrc是没后缀的,直接使用vim创建vimrc就可以了
键位设置
noremap j h
noremap k k
noremap i j
noremap l l
map s
<nop
>
map S :w
<CR
>
map Q :q
<CR
>
打开高亮
syntax on
常见的set方法
set hlsearch # 高亮你的搜索结果
exec "nohlsearch" # 运行时先运行这个指令,即不会高亮
set incsearch # 边输入边高亮
set encoding=utf-8 # 文件编码格式
set number # 显示行号
set norelativenumber # 下面的行号变为从当前行来数是第几行
set cursorline # 当前行下面显示一条线
# 设置缩进
set cindent
set tabstop=2
set shiftwidth=2
set showmode # 左下角显示vim模式
set wildmenu # 按Tab键快速补全
set warp # 当前的字不会超出一行,即启用自动换行
set showcmd # 显示你打了什么指令
set U 5j # 按一下U就表示按了五次j
set ignorecase # 忽略大小写
set smartcase # 智能大小写
组合键
# cw 删除当前词
# ci" 删除引号内所有内容
# f: 找到冒号
# df: 从当前一直删除到冒号,同理还有y
主题与插件的安装
假设我们想美化一下我们的vim,我们可以在网上下载插件,首先我们需要在命令行执行以下代码,需要使用Plug语法。
①安装plug,首先是安装了curl(克哦)
在github搜索vim-plug,进入junegunn/vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
这是Unix系统下的代码。
②安装插件
注意:代码需要卸载配置文件中
例如:airline、snazzy
call plug#begin('~/.vim/plugged) # 告诉系统准备安装
Plug '插件的github地址,就是github/后面的那一堆' # 安装插件
call plug#end() # 安装结束
③执行安装
vim配置文件环境下执行
:PlugInstall