vim是一个文本编辑器,在不安装特定插件的情况下,并不适合debug和大型项目,适用场景是自己手动敲一些代码和情怀。下文讲一下vim编辑器的简单使用。
目录:
矩形光标的开口为左面和下面。即i从光标左侧输入,p从光标下侧粘贴。backward,forward记忆时,你可以将vim想象成一个从屏幕左上开始,需要去屏幕右下的路径,forward即向前/下,backward即向回/上,jump向下跳。
你如果使用鼠标对代码进行框选,则光标落点包含所选代码。
vim分为四种模式:normal mode,insert mode,command mode,visual mode。
normal mode:正常模式,一进入vim,便是进入该模式,主要用来浏览代码。(注意下图左下角什么都没)。

insert mode:编辑模式,写代码时候进入该模式。(注意下图左下角有-- INSERTER –)。

command mode:命令模式,当你敲入在normol模式下敲:即进入该模式,该模式用来对文档以及vim编辑器进行操作,如文档保存、语法高亮、插件安装等。(注意下图左下角有冒号)。

visual mode:可视化模式,用于选择部分代码。(注意下图左下角有-- VISUAL –)。

如果不知道进入什么模式了,任何模式下,点按两次esc进入normal mode便可。

Normal mode主要功能是对文档内容进行浏览和删除等操作,常用操作如下:
光标左移:h。99h是向左移动99行,下面lkjwb同理。
光标右移:l
光标上移:k
光标下移:j 。记忆方法j - jump。
光标向右移动一个单词:w。记忆方法w-word。
光标向左移动一个单词:b。记忆方法b-back[ a word]。
向下翻一页:control + f。记忆方法f-forward。
向上翻一页:control + b。记忆方法b-backward。
向下翻半页:control + d。d-down。
向上翻半页:control + u。u-up。
精准定位到某一行(如第七行):gg7
剪切:dd。d-delete,d7d删除七行,下面ccyypp同理。
剪切后进入insert mode:cc。c-cut。
复制:yy。
粘贴:pp。p-paste。
Insert mode主要功能是用来敲代码的,主要讲解如何自动补全代码和几种从Normal mode下进入 Insert mode 的方法。
Vim自动补全代码是补全该文档中已经出现的字段,通过control + n和 ↑↓ enter实现。
从光标处进入Insert mode:i
从光标下方新建一行并进入Insert mode:o
从光标右方进入Insert mode:a
Visual mode主要功能是用来框选代码的,使用方式如下。
我们在Normal mode下输入v进入visual mode,使用hlkjwb,control+d等对光标进行移动,选择完毕我们需要的部分代码后使用d等对选择代码部分进行操作(注意只需要输入1个d)。
Command mode主要是对文档内容查找、保存、Vim编辑器设置和安装插件。
在Normal mode下输入/和你要查找的内容,如/class就是我们要寻找关键字class,输入完毕后enter回车。使用n查找下一个关键字n - next,使用shift + n查找上一个关键字。
输入:后对文档进行保存,退出等操作。
保存::w
退出::q
保存退出::x或者:wq
不保存退出::q!
我们可以通过使用一些命令设置Vim编辑器,如下:
语法高亮::syntax on
显示行号:set number
Vim编辑器可以自定义配置,也可以安装很多插件。这些操作通过更改~/.vimrc文件实现。如语法高亮,显示行号就可以直接将vimrc如下修改实现:
vim ~/.vimrc
# .vimrc中增加
syntax on
set number
# 保存并退出
:x
搜索一下vimrc github,我们直接将源码内容粘贴进.vimrc文件中。网址:https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim


搜索vim plug,这里举例使用vim awesome安装the nerd tree。
我们先要安装Vim-Plug,在终端输入如下命令安装vim-plug。
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

安装完vim-plug后,我们在vim awesome中搜索到我们需要安装的The NERD tree,按照提示进行安装,vim awesome域名https://vimawesome.com/。

我们将.vimrc打开,输入刚才网页中的代码后保存退出:
call plug#begin()
Plug 'scrooloose/nerdtree'
call plug#end()
我们打开vim,在底部输入PlugInstall进行安装:
# 进入vim编辑器
vim
# 进行安装
:PlugInstall
为了自动启动NERDTree,我们打开.vimrc输入如下代码:
autocmd VimEnter * NERDTree
使用control + w进行两个窗口间跳转。
打开.vimrc,将plug中内容删除。
call plug#begin()
"删除"
call plug#end()
" 20230429 delete NERDTree
" autocmd VimEnter * NERDTree
打开vim,输入PlugClean
:PlugClean
这里推荐使用vscode + vim插件进行调试,本质上是使用了vscode的调试功能,但是用vim编辑器敲代码。

参考:
https://www.vim.org/docs.phphttps://www.bilibili.com/video/BV1Yt411X7mu/https://www.jianshu.com/p/8b679b35c9d5https://blog.csdn.net/hsforpyp/article/details/113833465https://zhuanlan.zhihu.com/p/106860607https://www.bilibili.com/video/BV1JT4y1u7aE/?vd_source=61b5ff132eca1d44ecddf022bf9b9def