vim使用指南:指令、配置、插件、异常

vi / vim

vim的本质是一个编辑器,是一种多模式的编辑器,只能进行读写操作,不能进行编译
  • 编辑器:vim
  • 编译器:gcc/g++
  • 调试器:gdb
  • 维护项目结构/自动化编译:make/makefile

  • 模式切换
    • 用Vim打开一个文件时,最初为命令行模式,输入i进入插入模式;
    • 插入/底行模式输入esc退出插入/底行模式,进入命令行模式;
    • 命令模式下输入:进入底行命令行模式。

命令模式

命令模式是vim打开时默认的模式,在命令模式下所有的输入,都被当做命令命令来看待。除非你输入了模式切换的命令。

插入模式

光标定位

  1. shift+$定位到所在行结尾
  2. shift+^定位到所在行的开头
  3. shift+g定位到文本结尾行
  4. n+shift+g定位到文本第N行
  5. gg定位到文本第一行
  6. h,j,k,l上下左右

复制粘贴删除撤销

  1. yy复制当前行
  2. n+yy复制当前行及以下n-1行,共n行
  3. p粘贴
  4. n+p粘贴n行
  5. u撤销编辑操作
  6. ctrl+r对撤销操作进行撤销
  7. dd删除所在行/剪切所在行(dd之后p进行剪切粘贴)
  8. n+dd删除n行/剪切n行

替换

  1. shift+~大小写快速切换
  2. r+*将光标所在字符替换为*
  3. n+r+*将光标所在后n个字符替换为*
  4. shift+r(R)进入替换模式(ESC退出替换模式)

删除

  1. x删除光标所在字符
  2. n+x删除光标所在向后n个字符
  3. shift+x删除光标所在左侧字符
  4. n+shift+x删除光标所在左侧n个字符

查找

  1. shift+#高亮要查找的函数名/类名/字符串名
  2. n下一个查找到的函数名/类名/字符串名

底行模式

底行模式中,在输入指令时开头需要先输入`:`

保存退出

  1. :w保存
  2. :q退出
  3. :w!强制保存
  4. :q!强制退出
  5. :wq保存并退出
  6. :wq!强制保存并退出

行号

  1. set + nu开启行号
  2. set + nonu取消行号

查找

  1. /printf在当前文件中搜索printf
  2. ?printf在当前文件中搜索printf

多开

  1. vs filename将当前文件与filename文件进行对比
  2. ctrl+w+w在多个窗口中进行切换光标(光标在哪个界面就是在年纪哪个界面的文件)

其他

  1. vim filename n在打开filename文件时,光标直接定位在第n行
  2. shift+z+z强制保存并退出vim(不建议)

视图模式

在命令模式下使用`CTRL+v`进入视图模式

注释

  1. 批量化注释
    1. ctrl+v
    2. hjkl区域选择
    3. shift+i
    4. //
    5. ESC
  2. 批量化去注释
    1. ctrl+v
    2. hjkl区域选择
    3. d

异常

vim没有正常退出(异常退出),vim会自动将你未保存的文件,保存到一个临时的隐藏文件中,再你下一次使用vim的时候,会每次都进行提示你。

vim配置

原生vim在启动的时候会读取当前用户下的配置文件。

普通用户
vim的配置文件通常存放在当前用户的家目录下的隐藏文件.vimrc
当在这个用户下使用vim时,vim会默认使用这个用户的家目录下的.vimrc配置文件,来配置启动vim

.vimrc

 "====== Basic Configuration ======                                                                                                                           
set number             		 " 显示行号
set cursorline             	 " 突出显示当前行
hi Cursorline cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中行,用黑色框,字体标绿
set cursorcolumn             " 设置列高亮 
hi Cursorcolumn cterm=bold ctermbg=black ctermfg=green guibg=green "粗体显示选中列,用黑色框,字体标绿
set autoindent 		         " 自动缩进
set cindent
set tabstop=4 				 " Tab键的宽度
set softtabstop=4 		     " 统一缩进为4
set shiftwidth=4
set noexpandtab 			 " 不要用空格代替制表符 或者使用expandtab将tab保存为space
set smarttab 			     " 在行和段开始处使用制表符
set ignorecase 			     "搜索忽略大小写
set hlsearch 			     "搜索逐字符高亮
set incsearch 				 "增强搜索
set smartindent 			 " 提供自动缩进
syntax on					 " 语法高亮


" 突出显示81列
set textwidth=80
set colorcolumn=+1

nnoremap <c-n> :tabnext<cr>    "切换下一个使用:tabe打开的tag页 映射为 ctrl+n
nnoremap <c-p> :tabprev<cr>    "切换上一个使用:tabe打开的tag页 映射为 ctrl+p

root用户
root用户的vim配置文件在/etc/vimrc

vim插件

VimForCpp: 快速将vim打造成c++ IDE (gitee.com)

ps:本项目主要目标是帮助对vim配置方法不熟悉的新手封装的一键式vim环境安装包. 主要针对终端vim用户, 适合远程ssh连接Linux服务器进行开发的场景(例如使用阿里云服务器或者腾讯云服务器等).目前只支持 Centos7 x86_64。
  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

排骨炖粉条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值