编辑器之神vim简单使用与配置

为何要写本文
最近看了很多网络上面的评论都是”骂”vim,我就笑了(虽然我只是小学生),vim你不懂用就不要骂好不好,居然还看到了windows下的默认的文本编辑器比vim好的评论……这个骚操作实在是┐(´-`)┌
vim很难用,是的是这样的,但是本文就是帮助小白入门的,最后还会讲一下neovim这个vim的改版
ps.本文所有图片使用termux或者ssh链接kali做演示(懒,不想开电脑)
如果你使用linux的系统,又很懒那么执行下面这个指令可以帮助你easy配置一个美观又实用的vim(neovim)

curl -sLf https://spacevim.org/cn/install.sh | bash

这里引用csdn上面一位大佬的原话

一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长,于是在没发现它们的强大之前就放弃了,说:太难用了,把键盘当鼠标用的烂玩意,有什么好的?
还是有一些人留下来了,坚定地守护着这两大神器。一些说葡萄太酸的人想离开又不甘心,总是问:它们到底神在哪里啊?我不禁想起了李宗盛的几句歌词::
有人问我你究竟是哪里好,
这么多年我还忘不掉?
春风再美也比不上你的笑,
没见过你的人不会明了。
也许你不会明了,我还是要努力讲一讲。

安装vim
使用apt的linux(kali,ubuntu……)下

apt-get install vim

termux下

pkg install vim

arch下

pacman -S vim

windows下
没有别问我为什么,不用windows
安装好vim之后我们可以开始搞vim的配置了
没有各种插件的vim大概就是这样

《编辑器之神vim简单使用与配置》 默认vim

当然我这里打开的就是vim的配置文件vimrc

我们当然不使用默认的,当然在这之前我们应该先简单了解vim

上图那个就是命令模式有些不是这么叫随意

知道就行了

ps.vim的命令是如此之多,这里只是讲最简单的,其余的可以自行百度

使用vim也是超简单的

vim filename

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

然后按下i试试

《编辑器之神vim简单使用与配置》 编辑模式

如图在这个模式下你可以随意修改文件

然后怎么保存?

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

当然在编辑模式你输入什么都没有用,它都会输入到文本里面(除了esc)
因此我们输入esc又会回到普通的那个模式了
然后按:就会是下图这样

《编辑器之神vim简单使用与配置》 底线命令模式

这里有几个命令需要记一下

  • u撤销本次操作
  • q退出
  • w保存
  • q!强制退出不保存
  • wq保存退出

这些基础差不多了解了可以着手vim的配置了,配置一个能称得上编辑器之神的vim
vim为何强大?

1.无敌的可扩展性

  1. 特立独行的魅力
  1. 黑客的编辑器

下面我们就开始配置vim
配置vim从vimrc文件开始,一般做法不是修改vimrc而是在HOME目录下建一个.vimrc隐藏文件然后source一下就行了
那还等什么let’s go.开始我们的vim配置之旅

cd
vim .vimrc

然后一片空白
我这里给出部分语法,先有心理准备,其实不用把握全部的github上面已经有很多人把配置好的拿出来分享

" 这是注释,vimscript中单个双引号后面的是注释
set nocompatible " 关闭 vi 兼容模式
syntax on " 自动语法高亮
set number " 显示行号
set mouse=a " 使用鼠标
set cursorline " 突出显示当前行
set ruler " 打开状态栏标尺
set shiftwidth=4 "
set softtabstop=4 "
set tabstop=4 " 设定 tab 长度为 4
set nobackup " 覆盖文件时不备份
set autochdir " 自动切换当前目录为当前文件所在的目录
set backupcopy=yes " 设置备份时的行为为覆盖
set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
set nowrapscan " 禁止在搜索到文件两端时重新搜索
set incsearch " 输入搜索内容时就显示搜索结果
set hlsearch " 搜索时高亮显示被找到的文本
set noerrorbells " 关闭错误信息响铃
set novisualbell " 关闭使用可视响铃代替呼叫
set t_vb= " 置空错误铃声的终端代码
set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
" set matchtime=2 " 短暂跳转到匹配括号的时间
set magic " 设置魔术
set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set guioptions-=T "
set guioptions-=m " 隐藏菜单栏
set smartindent " 开启新行时使用智能自动缩进
set cmdheight=1 " 设定命令行的行数为 1
set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline= %
" 设置在状态行显示的信息
set foldenable " 开始折叠
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为

这些其实不需要把握,只是放出来看看,关于vimrc文件配置可以在github上面找到哦
vim插件
要想使用vim的插件,我们还是使用vim的插件管理器vim-plug(vundle这些插件管理器其实也差不多)
安装方法超级简单,如下

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

这里我摆出vim-plug的作者在github上面的实例代码吧(写在.vimrc文件中)注意观察怎么写的

set nocompatible 
filetype off
" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')

" Make sure you use single quotes

" Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
Plug 'junegunn/vim-easy-align'

" Any valid git URL is allowed
Plug 'https://github.com/junegunn/vim-github-dashboard.git'

" Multiple Plug commands can be written in a single line using | separators
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'

" On-demand loading
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }

" Using a non-master branch
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }

" Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
Plug 'fatih/vim-go', { 'tag': '*' }

" Plugin options
Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }

" Plugin outside ~/.vim/plugged with post-update hook
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

" Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin'

" Initialize plugin system
call plug#end()

按照上面的格式写好之后可以开始安装插件了,如果还是看不懂,看看下图吧下图还是看不懂可以左上角了(直接写github地址也是可以的,反正我经常这样干)注意:我这里只是演示,为了更高的定制化.vimrc文件中应该有set那些内容

《编辑器之神vim简单使用与配置》 vim-plug配置

对了忘记讲了,改好了记得source一下

source .vimrc

然后打开vim运行

:PlugInstall

然后大概会是这样

《编辑器之神vim简单使用与配置》 vim-plug安装插件中

等出现done就行了,然后可以随意添加插件了
这里就不推荐哪些插件了,这个看个人喜好
neovim也差不多并且neovim也是可以使用vim的配置文件的哦这个就自己探索一下吧,个人认为会使用neovim的人不可能不会使用vim,不可能不会使用插件
另外没有主题的vim(其他的都配置好,目录树,YCM补全,纠错……)大概是这样

《编辑器之神vim简单使用与配置》 图片发自简书App

    原文作者:nidhoggfgg
    原文地址: https://www.jianshu.com/p/f9f7fc9875a3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞