专栏首页北京马哥教育linux中的vi编辑器

linux中的vi编辑器

vim文字处理器

linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:一般模式、编辑模式、命令命令模式。它们之间的关系如下:

下面分类别解析命令:

``(注意是~那个键) 返回到光标刚才的位置

Ctrl + f 往下翻页(forward)

Ctrl + b 往上翻页(backward)

n| 移动到本行的第n列

vim是vi的升级版本。它是完全基于vi的。但是突出两个功能:具有颜色显示功能和支持许多程序语法。因此一种说法是:vi是文字处理器,而vim是程序开发工具。当使用vim编辑程序(不仅是c语言)时,可以直接进行“程序调试(debug)”

一些常用命令案例

1.删除指定的某些行

命令:(命令行命令模式)m,nd

释义:m是从第m行开始;n是从第n行开始;d是删除操作。之后回车即可。

例子:删除m到n之间的行数

step1:(命令行命令模式):m,nd——输入从第m行到当前位置的删除命令

step2:(命令行命令模式)回车——执行删除命令

2.复制指定的某些行

命令:(命令行命令模式):m,ny

释义:m是从第m行开始;n是从第n行开始;y是删除操作。之后回车即可。

例子:复制m到n之间的行数

step1:(命令行命令模式):m,ny——输入从第m行到当前位置的删除命令

step2:(命令行命令模式)回车——执行复制命令

3.选中指定的某些行

命令:(一般模式)mGVnG

释义:mG是从第m行开始;nG是直到第n行;V是进入可视模式。之后可以进行复制(y)、删除(d)操作。

例子1:选中m到n之间的行数

step1:(一般模式):mGVnG——输入从第m行到第n行选中

例子2:全选

step1:(一般模式):ggVG——全选选中

4. vim多行注释/删除注释

注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。 删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号。

5. 编程时自动补全成员

CTRL+N/P,n是向下找,p是向前找

vim的附加功能

1.块选择

注:方向仍然是由hjkl(或上下左右箭头)控制

2.多文件切换

用vim file1 file2 file3.......可以同时打开很多文件。通过切换文件可以实现多文件之间的复制、粘贴、删除等。

3.多窗口功能

更炫的功能,同时显示两个窗口于一个界面上。

vim -o file1 file2 file3  水平打开多个窗口

vim -O file1 file2 file3  垂直打开多个窗口

vim -d file1 file2     垂直打开多个窗口,并且进行比较

qall         quit all,关闭所有打开的窗口,如果有一个修改了 没保存,会提示,不会保存

qall! 强制关闭所有,不进行保存

wall           所有文件写入

4. 大小写转换

gu或者gU: 小u意味着转为小写; 大U意味着转为大写 guw光标到词尾,大写转换成小写 gUw光标到词尾,小写转换成大写

gUG从光标所在位置到文章最后一个字符,都变为大写 gUgg从光标所在位置到文章第一个字符,都变为大写 3gU光标所在行到往下3行都变小写

ggguG整篇文章大写转化为小写 gggUG整篇文章小写转化为大写

常用小操作

1. 还原 u, 最新 ctr + r

2. 统计打开的文本中字符串"hello"的个数::%s/hello//gn

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 那些吓人的 Linux 命令

    哪些Linux命令会让人联想到妖魔鬼怪?不妨好好瞧一瞧! ? 每年一度的万圣节马上就要到来,是时候稍微关注一下Linux那吓人的一面了。哪些Linux命令会让...

    小小科
  • 那些吓人的 Linux 命令

    每年一度的万圣节马上就要到来,是时候稍微关注一下Linux那吓人的一面了。哪些Linux命令会让人联想到鬼、巫婆和僵尸?哪些命令又会助长恶作剧精神?

    小小科
  • 【基础拾遗】编辑器之神-VIM

    在这天地间,流传这两大神器的故事:据说Emacs是神的编辑器,而Vim是编辑器之神。正所谓,工欲善其事,必先利其器。今天就和大家分享一下关于编辑器之神Vim的传...

    小小科
  • Linux命令(34)——vim命令

    vim是Unix和类Unix操作系统中最通用的全屏幕纯文本编辑器,它是vi的增强版(vi iMproved),与vi编辑器完全兼容,而且实现了很多增强功能。

    Dabelv
  • linux(五)之vi编译器

    前面介绍了linux的常用命令和对文本的操作,接下来我将对大家领略一下vi编译器的强大功能。 希望大家觉得写的还不错的话可以点个“推荐”哦! 一、vim/vi编...

    用户1195962
  • vim的介绍以及使用

    叶瑾
  • Spring MVC常用注解到底如何使用?

    之前在使用Struts2实现MVC的注解时,是借助struts2-convention这个插件,如今我们使用Spring自带的spring-webmvc组件来实...

    用户5224393
  • 参数校验

    最近开发中遇到一个问题,需要对请求的参数进行校验,包括身份证号、手机号、是否是数字、是否是整型数字、年龄、性别的校验,由于Controller层接受参数类型是J...

    LiosWong
  • 【移动开发丨主题周】Android服务调用的模式

    Android 的框架服务都是实现在system_server 的各个线程中的。因此应用调用它们时,必须使用进程间通信(IPC,Inter Process Co...

    博文视点Broadview
  • 深入浅出Golang的协程池设计

    虽然go语言在调度Goroutine已经优化的非常完成,并且Goroutine作为轻量级执行流程,也不需要CPU调度器的切换,我们一般在使用的时候,如果想处理一...

    李海彬

扫码关注云+社区

领取腾讯云代金券