首页 > 学院 > 开发设计 > 正文

VIM入门

2019-11-11 06:28:40
字体:
来源:转载
供稿:网友

使用vundle管理插件

vundle让你不需要在纠结到哪里去找插件和配置,所有的插件都以相似的方式进行管理,很大程度上降低了使用成本!

插件存放的路径为~/.vim/bundle/,目录建好后下载vundle:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

以后配置都可以在~/.vimrc里面完成:

set nocompatible " 关闭所有扩展功能filetype off                           " 关闭对文件类型的自动检测 set rtp+=~/.vim/bundle/Vundle.vim " 加入运行时路径call vundle#begin()                    " 初始化 " 插件列表开始Plugin 'VundleVim/Vundle.vim'          " 插件列表结束 call vundle#end()                      " 完成 filetype plugin indent on " 打开文件类型检测

常用的插件来源配置有:

来源说明
github.comgithub上托管的插件(Plugin ‘tpope/vim-fugitive’)
vim-scripts.org/vim/scripts.html在该站维护的插件(Plugin ‘L9’)

配置完成后打开VIM就可以开始使用了,用到下面命令:

:PluginList:打开插件列表:PluginInstall:安装插件:PluginSearch foo:搜索插件,找到之后可以选择安装:PluginClean:清理不用的插件(这个不是太懂)

最后举个例子,当你想安装winmanager插件时:

在.vimrc中添加Plugin 'winmanager'打开vim执行:PluginList就可以看到winmanager插件执行:PluginInstall进行安装

是不是比以前简单很多了?没有插件管理的繁琐,下面我们正式进入VIM之旅!

基本用法

刚从EditPlus切换到VIM时非常不适应,我只想简单地编辑文件而已,居然还要去考虑切换不同的模式:

命令模式编辑模式可视模式

时间久一点就感觉这样区分开还是很合理的,在命令模式可以通过一些简单的命令对文本进行快速的查看、修改,比用鼠标在EditPlus里面操作会更有效率。该模式用到的命令非常多,下面分类来看!

一、移动光标

可以在各个维度上进行随意地跳转:

命令作用
h/j/k/l向上/向下/向上/向右移动
ctrl+f/b向上/向下翻页
ctrl+d/u向上/向下翻半页
$/0/^行尾/行首/首字符
(/)上一句/下一句
w/b上一个词/下一个词
gg/G文档开始/文档结束
%括号对应的匹配处
ngg/nG/:n到第n行
H/M/L屏幕顶部/中间/底部
*/#当前字符下一次/上一次出现的位置

二、查找替换

命令作用
:s/s1/s2下一个s1替换为s2
:%s/s1/s2s1全部替换为s2
:s/s1/s2/g当前行的s1替换为s2
:n1,n2 s/s1/s2/g从n1到n2行的s1替换为s2
/xxxx查找xxxx,找到以后按n向下继续查找、N则向上继续查找
mx插入书签(x为小写字母),以后可以用`x跳转到该书签处
`.上次编辑的位置

三、复制、剪切、粘贴、删除

在VIM中存在一些寄存器用来存放复制、删除的内容:

":最近删除或复制的内容0:最近复制的内容1、2、、9:最近一次的删除内容放入1,原先1的内容放入2,以此类推%:文件名::命令/:查找的字符串

编辑时可以用:reg来查看各寄存器中的内容!为了方便选取文本VIM中引入了可视模式,使用时先移动光标到开始位置,然后用下面命令进入可视模式:

ctrl+v:块v:普通V:行

接着移动光标就可以选中文本并进行操作了!编辑时常用的命令有:

命令作用
y复制选中文本,用"ny来复制到第n号寄存器
x剪切选中文本或者删除当前字符
d删除选中文本
p粘贴,用"np来粘贴第n号寄存器中的内容
dd删除当前行
dw删除光标后的一个词
dl删除一个字符
D/C删除到行尾
yy/Y复制一行

过程中可以使用u和ctrl+r来进行undo和redo。

四、宏

在造数据的时候常会遇到一些简单、机械的操作,这种一般是可以用宏来搞定:

px:开始记录宏操作,x为小写字母操作q:将操作记录到寄存器中@x:执行寄存器x中的操作@@:执行最近一次的录制

同样可以用:reg来查看寄存器状态。

五、编辑

需要输入时通过下面命令进入插入模式:

命令说明
i/a光标前/后插入
I/A在行首/尾插入
o/O后/前插入一行进行编辑
s/S删除一个字符/一行进行编辑
R替换模式,在画图的时候非常好用

多屏操作

写代码的时候通过搞几个文件是常有的事,分几个屏幕来做非常舒服,开启分屏方式有:

vim -On file1 file2 ...:垂直分屏打开多个文件vim -on file1 file2 ...:水平分屏打开多个文件ctrl+w s:上下分割当前文件ctrl+w v:水平分割当前文件:sp filename:上下分割打开新文件:vsp filename:水平分割打开新文件

需要切换工作屏幕时可以使用命令ctrl+w h/j/k/l/w,其中h/j/k/l是按照方向移动,w是移动到下一个屏幕!当你觉得屏幕的顺序有点不爽时可以使用ctrl+w H/J/K/L来移动分屏。另外也可以调整屏幕大小:

ctrl+w =:所有屏幕都一样的高度ctrl+w -:降低高度ctrl+w +:增加高度

在编辑的时候可以在分屏中浏览目录:

:He:上下分屏,在下面(:He!则在上面)浏览目录:Ve:左右分屏,在左面(:Ve!则在右面)浏览目录

还可以使用:E在当前的屏幕中打开目录进行浏览,可以通过一些命令进行操作:

-:到上级目录s:对文件排序x:执行文件R:修改文件名称D:删除文件回车:进入子目录

边看编写的时候需要在多个屏幕上同步滚动,使用:set scb和:set scb来绑定和解绑(这个功能还是非常好用的)!最后,编辑完成就可以用ctrl+w c或ctrl+w q(如果是最后一个屏幕则退出VIM)来关闭分屏!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表