为何要写本文
最近看了很多网络上面的评论都是"骂"vim,我就笑了(虽然我只是小学生),vim你不懂用就不要骂好不好,居然还看到了windows下的默认的文本编辑器比vim好的评论……这个骚操作实在是┐(´-`)┌
vim很难用,是的是这样的,但是本文就是帮助小白入门的,最后还会讲一下neovim这个vim的改版
ps.本文所有图片使用termux或者ssh链接kali做演示(懒,不想开电脑)
这里引用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的配置文件vimrc
我们当然不使用默认的,当然在这之前我们应该先简单了解vim
上图那个就是命令模式有些不是这么叫随意
知道就行了
ps.vim的命令是如此之多,这里只是讲最简单的,其余的可以自行百度
使用vim也是超简单的
vim filename
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
然后按下i试试
如图在这个模式下你可以随意修改文件
然后怎么保存?
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
当然在编辑模式你输入什么都没有用,它都会输入到文本里面(除了esc)
因此我们输入esc又会回到普通的那个模式了
然后按:就会是下图这样
底线命令模式
这里有几个命令需要记一下
- u撤销本次操作
- q退出
- w保存
- q!强制退出不保存
- wq保存退出
这些基础差不多了解了可以着手vim的配置了,配置一个能称得上编辑器之神的vim
vim为何强大?
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-plug配置
对了忘记讲了,改好了记得source一下
source .vimrc
然后打开vim运行
:PlugInstall
然后大概会是这样
vim-plug安装插件中
等出现done就行了,然后可以随意添加插件了
这里就不推荐哪些插件了,这个看个人喜好
neovim也差不多并且neovim也是可以使用vim的配置文件的哦这个就自己探索一下吧,个人认为会使用neovim的人不可能不会使用vim,不可能不会使用插件
另外没有主题的vim(其他的都配置好,目录树,YCM补全,纠错……)大概是这样
编辑器之神vim简单使用与配置
网友评论