前言

vi/vimlinux中即强大又常用的编辑器。工作中,熟练掌握它的命令可以让你的效率大大提升。假如工作中缺少了vi/vim,那么生活是多么的枯燥~~~~~~~

有关vi的百科介绍:vi文本编辑器百科

有关vim的百科介绍:vim文本编辑器百科

使用方法

下面列举一下常用的vi/vim命令:

插入

  • i 从光标当前位置开始插入
  • a 从光标当前位置的下一个字符开始插入
  • o 在光标位置的下行插入一个空行,再进行插入
  • O 在光标位置的上一行插入一个空行,再进行插入
  • I 从光标所在行的开头开始插入正文
  • A 从光标所在行的末尾开始插入正文
  • esc=(ctrl+[)

文件保存与退出

  • :w 保存文件
  • :w : 另存为
  • :w! 强制保存文件
  • :q 退出
  • :q! 强制退出
  • :x = :wq

文件写入与打开

  • :w filename 保存文件为给出的文件名
  • :w! filename 强制保存文件为给出的文件名
  • :f filename 将当前文件重命名为filename
  • :r filename 插入文件内容到光标指定的位置
  • :e filename 编辑新文件(打开另一个文件进行编辑)
  • :e! 放弃对文件的修改,并加裁原始的文件内容

复制粘贴撤销

  • [n]x 删除从光标开始的连续n个字符

  • [n]dd 删除从光标开发的n行

  • [n]yy 复制从光标开始的n行

  • y$ 从光标位置复制在行尾

  • p 粘贴

  • gp 粘贴

  • u 撤消

  • U 撤消对一行的全部操作

  • ctrl+r 重做(反撤消)

  • . 重复上次操作

  • yw 复制一个word

  • dw 剪贴一个word

  • cw 修改一个word

  • D 剪贴光标到行尾

  • C 修改光标到行尾

选择

  • v 按字符选择
  • V 按行选择
  • ctrl+v 按块选择

光标跳转

  • h、j、k、l 左、下、上、右

  • H、M、L 屏幕最上边、屏幕中间位置、屏幕最下边

  • gg 跳到文件第一行

  • G 跳到文件最后一行

  • $ 跳到行末

  • 0(数字0)跳到行首

  • [num]gg(或[n]G) 跳到文件第n行

  • [n]H 跳到屏幕第n行

  • fx 光标移动到本行之后第一此出现“x”的位置;如:fa ,移动到下一次a出现的位置

  • Fx 光标移动到本行之前一此出现“x”的位置;如:fa ,移动到上一次a出现的位置

  • % 在前后括号({}() )位置之间移动

  • :n 跳到第n行(同[n]G)

  • w 光标向右移动一个字

  • W 光标移动到下的个空格之后

  • b 光标向左移动一个字

  • B 光标移动到上一个空格之后

  • num% 跳到文件num%处 , 如50%

编辑模式下按v 进入可视状态进行内容选择

  • [n]shift + > 所选内容向右移动一个tab
  • [n]shift + < 所选内容向左移动一个tab

查找替换

  • /string 查找字符串 ,配合n(next)使用

    • 向后搜索光标所在位置的一个word
  • 向前搜索光标所在位置的一个word

  • /<xxx 查找以xxx开头的字符串

  • /xxx> 查找以xxx结尾的字符串

  • /<xxx> 完全匹配查找

  • d/int main 从光标所在位置开始删除,直到遇到int main

  • : s/str1/str2 用str2替换行中首次出现的字符串str1

  • : s/str1/str2/g 用str2替换行中所有的字符串str1

  • : %s/str1/str2/g 用str2替换全文中所有的字符串str1,不询问,强制替换

  • : %s/str1/str2/gc 用str2替换全文中所有的字符串str1,询问

  • fd 查找本行第一个d字符

  • ; 下一个

  • , 上一个

打开或新建

  • vi #命令行
  • :ed #最后一行模式
  • :fin[d] <path/file> #在路径path中查找文件,然后编辑它
  • new # 在新窗口中编辑文件

窗口操作

  • :sp(或ctrl+w+s): 打开一个新窗口,编辑相同的内容。

  • :new(或ctrl+W+n): 打开一个空的北新窗口。

  • ctrl+w+w: 在多个窗口间切换

  • J 删除行末的换行符,将下行与本行合并为一行

滚屏

  • ctrl+u[p] 向下滚半屏

  • ctrl+d[own] 向上滚半屏

  • ctrl+f[ront] 向下滚一屏

  • ctrl+b[ack] 向上滚一屏

  • ctrl+e 向下滚一行

  • ctrl+y 向上滚一行

  • zz 将光标所在的行放在屏幕中间

  • zt 将光标所在的行放在屏幕第一行 top

  • zb 将光标所在的行放在屏幕最后一行 botton

  • Go 跳到文件尾部去插入

标签

  • :tabe [file] 打开新标签并在新标签中编辑file所指的文件
  • :[num] gt 在不同的标签之间切换 num指的是第几个标签
  • :tabo 关闭所有其它的标签页
  • :tabs 列出标签页和它们包含的窗口
  • :tabfir[st] 跳转到第一个标签
  • :tabl[ast] 跳转到最后一个标签

vim比较文件内容

  • vimdiff main.c main2.c

vim设置

  • set number

  • set nonumber

  • set ignorecase #忽略大小写 (查找字符串时)

  • set noignorecase

  • set ruler #显示当前光标所在位置

  • set nuruler

  • set hlsearch #高亮显示 (查找字符串是,找到后高亮显示)

  • set nohlsearch

  • set incsearch #在输入字符串时就开发查找

  • set noincsearch

  • syn on #高亮显示

  • set backspace=2 #backspace可用

编程篇

  • 打开include 的文件:
  • 光标放在文件名上,按 ctrl+w f ,在一个水平分割的窗口中打开。
  • 光标放在文件名上,按gf, 在同一个窗口中打开。
  • 通过find命令打开文件:
  • 先通过set path设置查找的目录:
  • set path=.,./**,/usr/include 表示在当前目录,当前目录下的所有子目录,和/usr/include目录下进行查找
  • 设置好目录后在vi下用:find filename即可查找并打开文件。

ctags

  • 在项目目录下用“ctags -R .”产生tags文件。 可将ctags命令写入makefile文件中
  • 在vim中设置tags文件“set tags=tags”
  • 在vim中通过tag命令中转到函数:tag main
  • :tag {ident} “中转到指定的标签
  • :tags "显示标签
  • :Ctrl+] “跳转到当前光标下的标签(函数声明处)
  • :Ctrl+T “跳转到标签栈中较早的标签(函数调用处)
  • 在taglist串口中将光标移动到某个tag上,按空格键会在状态栏上显示原型

taglist

  • : TlistOpen 打开taglisg
  • : p "预览taglist窗口中光标所在位置的tag。
  • : o "在新窗口中打开光标所在位置的tag
  • : l "展开tag
  • : + "展开tag
  • : = "展开所有tag
  • : - "折叠tag(不用shift)
  • : * "折叠所有tag

MiniBufExplorer

  • 此插件会使窗口上显示一个buff清单,可以在该窗口上来选择打开某个buf文件
  • :跳到下一个buffer名上
  • <shift+Tab>:跳到上一个buffer名上
  • :打开光标所在buffer
  • d: 删除光标所在bufferbuffer

自动补齐

  • CTRL-X CTRL-F 文件名
  • CTRL-X CTRL-L 整行内容
  • CTRL-X CTRL-D 宏定义(也包括那些在include文件里定义的宏)
  • CTRL-X CTRL-I 当前文件和被当前文件include的文件
  • CTRL-X CTRL-K 来自一个字典文件的word
  • CTRL-X CTRL-T 来自一个thesaurus的word
  • CTRL-X CTRL-] tags
  • CTRL-X CTRL-V Vim的命令行
  • CTRL-X CTRL-N 根据当前文件里关键字补全
  • CTRL-X CTRL-U 用户自定义补全方式
  • CTRL-X CTRL-S 拼写建议

C编程常用命令

    • 查找光标所在处的单词
  • % 括号之间跳() {}#if…#enfif 之间

  • gd 中转到局部变量的定义处

  • gf 跳到光标所在的头文件处,ctrl+o 跳回来

  • cw 删除一个单词并进入插入模式

  • dw 删除一个单词并

  • [I 查看函数的声明:显示include文件中匹配这个函数名的一个清单

c-support命令

注释

  • \cc
  • \c
  • \co

vi/vim命令大全相关推荐

  1. linux vim命令pdf,Linux中vi、vim命令大全

    Linux中vi.vim命令大全 2019-11-21 16:55Linux命令大全 Linux vi 是 unix/linux 下极为普遍的一种文本编辑器. vi 有各种变种, 在不同的机器上有不同 ...

  2. linux下Vi编辑器命令大全

    linux下Vi编辑器命令大全 /根目录下的文件夹 输入"/",回车 里面有很多文件夹,如:etc,home,lib,mnt等等 etc:存放用户名和密码 home:每个用户有个文 ...

  3. vi/vim命令怎么在Linux系统中使用

    本篇文章为大家展示了vi/vim命令怎么在Linux系统中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获. 1.vi和vim的区别: 就是在进入一般命令模式 ...

  4. linux 文档编辑器 word,linux下vi编辑器命令大全

    常用命令linux下vi编辑器命令大全来源:考试大 [学而优则进,考试大以成!] 2007年8月14日 文本编辑器是所有计算机系统中最常用的一种工具.UNIX下的编辑器有ex,sed和vi等,其中,使 ...

  5. linux下vi编辑器的命令大全,linux下VI编辑器命令大全(超级完整版)

    linux下VI编辑器命令大全(超级完整版) NOTICE:把这里提到的命令牢记心间,行走LINUX才能轻松自如! 这是基本功,练就此身本领后,方可学习上乘功夫 如若不按此步骤修练,结果会经脉尽断,真 ...

  6. docker中没有vi/vim命令

    docker中没有vi/vim命令: 解决办法0: 因为该源是不用GPG验证的,可能不安全,但因为docker容器没有验证GPG的工具所以只能先用这个源,最后再换回正式源. mv /etc/apt/s ...

  7. linux的命令vim,Linux命令:vi | vim命令

    vim - vi 增强版.文本编辑器 格式:vim [options] [file ..] 说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它 [options] ...

  8. vim 命令大全(写的非常全和好)http://blog.csdn.net/woshixiaosimao/article/details/54312738...

    下文转自链接.由原作者陈皓译自<Learn ViM Progressively>,非常不错. ----------正文开始---------- 你想以最快的速度学习人类史上最好的文本编辑器 ...

  9. vi/vim 命令手册(初级篇)

    本手册介绍了 vi/vim 编辑器的主要功能.为了便于查找,这里一并给出了命令和它们的定制参数.在使用这个手册之前,必须注意以下几点:    ●很多命令可以与重复因子一起使用(vi);    ●vim ...

最新文章

  1. java qq协议 c#,C# WebQQ协议群发机器人(三)
  2. as3绕过策略文件给视频截图
  3. PHP 正则表达式 最后总结
  4. Android adb命令,linux中各种命令
  5. P7516-[省选联考2021A/B卷]图函数【bfs】
  6. 当年,兔子学姐靠这个面试小抄拿了个22k
  7. 创业被泼冷水怎么办?
  8. (简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程
  9. L13. hrtimer使用实例(高精度定时器)
  10. 大型高并发高负载网站的系统架构
  11. 男闺蜜下载 v1.6.2 安卓版
  12. 突然发现得考个研究生了
  13. QT报错:Gtk-Message:Failed to load module “gail“
  14. redhat linux安装gcc编译器
  15. java分词器和索引器_solr-hbase二级索引及查询解决方案(一)
  16. 计算机指纹应用领域,指纹识别是计算机在什么方面的应用
  17. 学术-物理:克莱因瓶
  18. 台达PLC控制触摸屏的画面切换
  19. BIM与GIS可视化平台的三维城市应用
  20. python爬虫面试题-扣丁学堂解析Python爬虫工程师面试题汇总

热门文章

  1. 直播源码:云豹腾讯直播系统可以分为以下几个类型
  2. 大电流滑环结构原理与基本特征是什么
  3. 如何打开大容量的Excel文档?
  4. **ubuntu安装ansible并且安装awx管理**
  5. 天翼物联发布5G纺织行业定制专网
  6. 改变思维永远比一味盲干更有用,我们该如何白手起家做到财富自由
  7. React路由404页面配置
  8. 题目0134-竖直四子棋
  9. CREO学习笔记【常用钣金材料】
  10. Pop!_OS 21.10升级22.04失败记录