vim配置全攻略(1) —— vim的基本操作

导语
Vim是Linux上一款非常优秀的代码编辑器。
大多数有名的IDE都支持Vim的插件。
它相对于大多数IDE更加迅速,轻量;相对于其他编辑器自由,高效。
本文主要记录了Vim的一些常用技巧,以及配置。

个人建议

首先,不建议大家在Windows上使用Vim以及Neovim,因为在Windows上无法体现(neo)Vim的生态,在Windows上使用Sublime TextAtomVScode等编辑器效果会更好。

其次,Google上关于Vim的学习资料和文档更加全面,具体;但是前提是你会科学上网以及英语比较好(英语过四级)的前提下(*度尽量还是不要用了)。

最后,学习Vim的前提是你已经从事程序项目了,如果你是编程小白(没有学完一门编程语言)或者对键盘不熟练(盲打)的话,并不建议你使用Vim,因为Vim是一个效率工具而不是学习工具。
基本操作

安装Vim

首先你要去安装Vim, 只要分为两种方式:

  1. 一是命令行安装,这个比较简单,直接用操作系统相应的包管理器安装即可,大多数Linux操作系统的包管理器中都是含有Vim的;
  2. 二是官网安装,这个就不多说了,应该下载软件大家都会。

启动Vim

这个比较简单,打开终端,输入vim回车即可。
vim 后加上文件名,如果文件存在则读取打开,如果没有则会创建一个空文本。

# vim
vim
vim ***.*

# neovim
nvim 
nvim ***.*

查看Vim文档

学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,这里先讲一下如何使用 VIM 的帮助文档 :终端输入 vim , 敲击回车键(enter/return) ,就会进入 VIM , 然后键盘上输入 :help 。文档相当详尽,但是文档是英文的,可能对一些学习者不太友好,但这应该是最权威的 VIM 学习资料了。

如果文章有表述不当的地方可以留言指正,互相学习,共同进步 。

认识vim

我们首先宏观的了解一下Vim的体系

VIM常用的模式有四种:

  • 正常模式 (Normal-mode)
  • 插入模式 (Insert-mode)
  • 命令模式 (Command-mode)
  • 可视模式 (Visual-mode)

接下来让我们细致的了解一下每个模式的作用和特点。

正常模式

正常模式就是指我们在用vim打开某个文件后默认的模式,它的主要作用就是浏览文件,当然也可以进行复制,粘贴,删除,跳转等功能。

光标移动

在这个模式中我们可以在文本中快速移动光标,但是它的光标移动键位和其他的编辑器可能不一样。(如下图)

vim键位图

hjkl

我们可以从图中看出vim光标移动的键位为hjkl相比较其他编辑器的上下左右,vim的键位很难适应,但是用熟了之后,你就会发现ta非常好用。因为hjkl都是键盘的中间位置,用的时候比较舒服,对手腕的压力比较小。
hjkl是最基本的光标移动按键,它们还可以和数字键联用;例如:5h就是向左移动五个位移(相当于hhhhh)。

wbege

还有在单词之间跳转的快捷键,wbe(ge)类似于hl,但是不同的是它们用于单词的移动。当你按下w后,光标向前移动1个单词 光标到单词的第一个字母上(b与w相反);当你按下e后,光标向前移动1个单词 光标到单词的最后一个字母上(ge与e相反)。同样,它们也可以和数字键联用,达到多次移动的效果。

G/gg

G就是跳转的最后一行的行首,gg就是跳转到第一行行首

删除、复制、粘贴

删除

删除分为多个方式:删除整行、删除一个字符、删除整行后不保留位置。

  • dd:删除整行不保留位置
  • cc:删除整行并保留位置,进入编辑模式
  • x:删除一个字符
  • r*:替换一个字符

这个比较简单我就不多说了。

复制粘贴
  • yy:复制整行
  • p:粘贴
  • dd:剪切整行

删除复制粘贴都可以和可视模式联用,这个之后会讲。
正常模式熟练应用这些就在足够了。

编辑模式

在正常模式中按下i键就可以进入编辑模式,编辑模式的主要作用就是修改或者编写文件内容。这个和其他编辑器都一样,我就不多说了。

命令模式

这个模式是一个非常重要的模式,它的功能非常强大。

命令模式有两种启动方式:

  1. 一是在正常模式中按下/就会启动命令模式,它的主要作用就是搜索字符,在/后输入你想查找的字符,就可以跳转到相应位置,按return键就可以跳转光表,按Esc键就可以取消查找(不跳转);
  2. 二是输入: 也会进入命令模式它的主要作用就是打开插件,或者是退出保存
  • :wq :保存退出
  • :qq :退出,如果没有保存会提示你
  • :q! :不保存退出
  • :w : 保存

可视模式

此模式在常规模式下按v键启动,主要功能即使选中文本,其他操作和正常模式在一样。
分屏
分屏我会放到后面去讲,因为它需要你了解了vim的配置和应用后,在可以深化。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【使用说明】在主目录直接解包就行 【功能详情】--------快捷键 //----------------------------------------------------------------- 【#】显示函数列表 : TlistToggle //显示函数列表 按将会在VIM的左边打开一个Taglist窗口,这个窗口里面包含了C文件里面的定义,如struct,typedef,全局变量,函数等。使用'+h将光标移动到左边的窗口,上下选择tag按回车定位到tag的定义处。 【#】当前目录列表,方便打开文件 : NERDTreeToggle //当前目录列表,方便打开文件 按会在VIM的右边打开一个文件浏览器窗口。再按一下会关闭这个窗口。 【#】最近文件列表 : MRU //最近文件列表 按会打开一个MRU窗口,这个窗口里面记录了最近打开的文档,上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。 : LookupFile 在VIM的上面打开文件查找窗口, : vimgrep 假设你想查找某个字符串在项目中出现的位置,你可以把光标放在这个字符串上, 按就会在VIM的最下面显示你想查找的字符串,此时你可以修改这个字符串,回车到下一步,此时会提示你要查找的文件范围, 【#】编译 : gcc 直接按可以对打开的文件直接编译 【#】gdb调试 : gdb 直接按可以直接进入gdb调试状态 : Generate tags 在代码间跳来跳去。先按生成tag数据库。将会在项目的当前目录下生成tags文件。此时将光标放在某个函数调用上,按+]就会跳到函数的定义处,按+o就会跳回来。 : HLUDSync 按可以生成cscope的数据库文件cscope.out,再使用",sa"(:cs add cscope.out)添加数据库文件。当下次启动VIM的时候就会自动加载当前目录下的cscope数据库文件。在.vimrc里面定义了使用cscope的快捷键,比如将光标放在某个函数上使用命令",sc"就可以查看这个函数被哪些函数调用过, 【#】全屏显示 :genfiletags.sh 是让终端全屏显示 add cscope.out 在查找文件之前要生成文件数据库, 按将会在项目的当前目录下生成tags.filename文件,所以最好是在项目的根目录下按。再按就可以使用通配符查找文件了。 【功能详情】--------命令行功能 【#】添加函数注释等 :Dox 添加函数注释 【#】头文件和c文件切换 :AV 垂直分屏显示头文件或者c文件 【其他功能】------- 1.输入main后按table键,自动生成main函数 2.输入单词自动补全//注,本文档之前输入的单词自动补全 3.双引号、单引号、大括号自动补全,小括号不能自动补全【如果有人发现是什么原因,可以留言哈】 【注】祝大家更高效的玩转vim
以下是一个基于Vundle插件管理器的完整vim插件配置样例,包含常用插件和快捷键绑定等: ``` set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " Add your plugins here Plugin 'scrooloose/nerdtree' " 文件树 Plugin 'tpope/vim-fugitive' " Git Plugin 'jiangmiao/auto-pairs' " 自动补全括号 Plugin 'vim-airline/vim-airline' " 状态栏 Plugin 'vim-airline/vim-airline-themes' " 状态栏主题 Plugin 'tpope/vim-surround' " 快捷键快速包围文本 Plugin 'tpope/vim-repeat' " 使 . 命令支持插件操作 Plugin 'tpope/vim-commentary' " 快速注释 Plugin 'preservim/nerdcommenter' " 快速注释 Plugin 'vim-scripts/indentpython.vim' " Python缩进 Plugin 'SirVer/ultisnips' " 代码片段 Plugin 'honza/vim-snippets' " 代码片段 Plugin 'fatih/vim-go' " Golang 工具 " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " 定义快捷键 nnoremap <C-n> :NERDTreeToggle<CR> " 打开/关闭文件树 nnoremap <leader>gs :Git<CR> " 打开 Git 窗口 nnoremap <leader>gb :Git blame<CR> " Git blame nnoremap <leader>gc :Git commit<CR> " Git commit nnoremap <leader>gd :Gdiff<CR> " Git diff nnoremap <leader>gl :Glog<CR> " Git log nnoremap <leader>gp :Git push<CR> " Git push nnoremap <leader>gs :Gstatus<CR> " Git status nnoremap <leader>gw :Gwrite<CR> " Git write " 设置状态栏主题 let g:airline_theme='molokai' ``` 保存并退出`~/.vimrc`文件,然后打开vim,执行以下命令,安装配置好的插件: ``` :PluginInstall ``` Vundle将自动从GitHub上下载和安装已列出的插件。 至此,你的vim插件全套配置已完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值