vim的基础配置及使用指南

文章目录

  • vim
    • 为什么要使用vim
      • 什么是vim
      • vim的优点
      • 我对vim的看法
    • vim的安装
    • 小技巧
    • 基础配置
    • 安装插件
      • vim-startify插件
      • NERDTree插件
    • gruvbox插件
    • airline插件
    • 更多插件

vim

为什么要使用vim

什么是vim

vi编辑器是Linux系统下的标准(文本)编辑器(windows中的notepad),vim可以看作是vi的升级版。vi用于文本编辑,vim更适用于coding

vim的优点

  • vim的优点在于它可以在不用鼠标的情况下进行高效的文本编辑,这需要在一定数量的练习后形成肌肉记忆。
  • 在vim的插件下,可以支持多种语言环境。
  • vim不挑食,它可以适应恶略的硬件环境,也可以定制自己专属的vim界面。
  • vimscript文本语言的使用

我对vim的看法

对于我来说,使用vim的初衷也许只是懒得使用鼠标,且vim的界面看起来更加极客吧,它可以使你看起来像一个hacker。现代的编辑器也都非常好,开箱既食,相反,vim最开始会将你折磨的很痛苦,但一旦驯服了vim,你就会享受到极致的自由,那种指尖飞舞的快乐,这适用于每一个热爱折腾,喜欢个性的人。

vim的安装

对于vim的安装,这里不过多赘述,大家可以根据自己的系统参考官方文档,或者参考别人的博客。可以用以下命令进行查看是否安装了vim及版本号。这里一定使用8.0以上。以下插件使用方法仅适用于vim 8.0及其以上。

vim --version

小技巧

以下几点,搭配vim可以更快脱离鼠标

  • 如果是windows电脑,推荐使用全新终端Windows Terminal,增加了很多新特性,包括窗口透明化、基于行的选择等。
    vim的基础配置及使用指南_第1张图片

  • 浏览器快捷键搭配(这里以微软自带的edge为例,大同小异不同浏览器可自行搜索,同时可将浏览器固定于任务栏,使用win+数字快捷打开软件)

Ctrl + T :新建标签页
Ctrl + W:关闭当前标签页
Ctrl +1, 2, 3,…, 8:切换到指定序号的标签
Ctrl + 9:切换到最后一个标签
  • 小插件vimium
    vimium 就是参考了 vim 按键操作方式和理念而来的浏览器插件,但使用及其简单。
    vim的基础配置及使用指南_第2张图片

基础配置

  • 在.vimrc文件中添加如下内容
    一般linux的.vimrc文件在~/.vimrc
cd ~
touch ~/.vimrc # 如果没有则新建
vim ~/.vimrc
"========== 基础 ========
" 设置行号
set number
" 高亮设置
set hlsearch
" 相对行号
set relativenumber
" 设置折叠方式
set foldmethod=indent
" F2进入粘贴模式(set paste)
set pastetoggle=
" 使用TAB键向后四个字符
set tabstop=4 
" 设置语法高亮
syntax on
" 在底部显示出当前模式
set showmode
" 命令模式下显示键入的指令
set showcmd
" 支持使用鼠标
set mouse=a
" 使用utf-8编码
set encoding=utf-8
" 启用256色
set t_Co=256
" 下一行的缩进与上一行保持一致
set autoindent
" 光标当前行高亮
set cursorline
" 遇到指定符号才拆行
set linebreak
" 光标遇到括号时自动高亮对应的另一个 
set showmatch
" 搜索时高亮显示匹配结果
set hlsearch
" 进入搜索模式时,输入后自动跳转
set incsearch
"设置vim可以使用back键"
set backspace=2
"使用系统剪切板
set clipboard=unnamed

vim常用指令大全

安装插件

  • 在Vim8及以上的版用户只需要将插件放在指定的目录(.vim/pack/vendor/start/)下,vim 启动时候就会自动加载这个插件。

vim-startify插件

插件说明: 给vim添加开始界面,并且记录历史打开的文件

vim-startify 下载地址

  • 使用git下载 vim-startify 插件:
mkdir -p ~/.vim/pack/startify/start
cd ~/.vim/pack/startify/start
git clone https://github.com/mhinz/vim-startify.git
  • 使用说明
    直接输入vim可显示最近使用的文件
    vim的基础配置及使用指南_第3张图片

NERDTree插件

插件说明:给vim增加目录

NERDTree下载地址

  • 使用git下载NERDTree插件
mkdir -p ~/.vim/pack/NERDTree/start
cd ~/.vim/pack/NERDTree/start
git clone https://github.com/preservim/nerdtree.git 
  • 配置
"===== NERDTree =====
"显示隐藏文件
let NERDTreeShowHidden=1
"打开NERDTree的快捷键设置 ctrl-n打开
nnoremap  :NERDTree  
"关闭NERDTree
nnoremap <C-t> :NERDTreeToggle<CR> 
""打开NERDTree,在node中选中当前文件
nnoremap <C-f> :NERDTreeFind<CR> 
"vim打开时,自动打开NERDTree,并且将光标放在文件窗口
autocmd VimEnter * NERDTree | wincmd p 
"当NERDTree是唯一的窗口时退出vim
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif  
"设定 NERDTree 视窗大小
let g:NERDTreeWinSize = 25 
" 隐藏指定文件夹
let NERDTreeIgnore = ['\.pyc$', '\.swp', '\.swo', '\.vscode', '__pycache__'] 
  • 使用
#移动到文件窗口
ctrl + w + h    光标 focus 左侧树形目录
#打开文件。有加g和没加g的区别是:加g,光标还在文件目录上;没加g,光标会跳到新窗口或者标签
o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
i       split 一个新窗口打开选中文件,并跳到该窗口
gi      split 一个新窗口打开选中文件,但不跳到该窗口
s       vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
#在文件目录间移动
P       跳到根结点
p       跳到父结点
K       跳到当前目录下同级的第一个结点
J       跳到当前目录下同级的最后一个结点
k       跳到当前目录下同级的前一个结点
j       跳到当前目录下同级的后一个结点
#切换根目录,即显示文件目录
C       将选中目录或选中文件的父目录设为根结点
u       将当前根结点的父目录设为根目录,并变成合拢原根结点
U       将当前根结点的父目录设为根目录,但保持展开原根结点
#退出
q       关闭 NerdTree 窗口

vim的基础配置及使用指南_第4张图片

gruvbox插件

插件说明:主题插件,改变代码颜色和背景

gruvbox 下载地址

mkdir -p ~/.vim/pack/gruvbox/start
cd ~/.vim/pack/gruvbox/start
git clone https://github.com/morhetz/gruvbox.git
  • 以上图即为配色方案
  • 配置
"设置暗色背景"
set background=dark
"配色方案选用gruvbox"
colorscheme gruvbox

airline插件

插件说明:给vim增加状态栏

airline下载地址

mkdir -p ~/.vim/pack/gruvbox/start
cd ~/.vim/pack/gruvbox/start
git clone https://github.com/vim-airline/vim-airline.git

更多插件

  • comentary插件:批量注释
    注释操作符命令为 gc,在选中模式下批量注释
  • ctrlp:模糊搜索
    按下ctrl+p即可进行模糊搜索
    indentline:显示缩进
    rainbow:彩虹括号
    surround:自动匹配括号
  • jedi-vim:自动补全插件
    编辑模式下按下ctrl+space即可出现补全列表
  • autopep8:根据规范自动规范代码
    在普通模式下按下F8即可以自动修正
    autocmd FileType python noremap :call Autopep8()
    #去除窗口的对比
    let g:autopep8_disable_show_diff=1
  • auto-pairs(自动补全括号)

你可能感兴趣的:(Linux篇,vim,linux,编辑器)