此处根据需要,只罗列一些常用的指令和用法

五.VIM程序编辑器

Vi与vim

Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本

Vim默认打开文件为命令模式

i                  从光标处进入插入模式

I                 从本行的开头进入插入模式

a                从当前光标的下一个字符进入插入模式

A                从本行的结束进入插入模式

o                从本行的下一行产生空白行进入插入模式

O                从本行的上一行产生空白行进入插入模式

u                在命令模式下为撤回一步,(ctrl+r表示前进)

:                 从命令模式进入冒号模式(shift+:);

/                 从命令模式进查找模式(shift+/)

Esc            从其他模式到命令模式

冒号模式

保存(w)  退出(q)  强退(q!)

s/关键字/替换字/                     替换当前行的第一个关键字为替换字

s/关键字/替换字/g                   替换当前行所有的关键字

3,13s/关键字/替换字/g            将第3行到13行的关键字进行替换(,号表示到)

.,12s/关键字/替换字/g             替换当前行到12行出现的所有关键字(.表示当前行)

.,$-1s/关键字/替换字/g            替换当前行到倒数第二行出现的所有关键字($表示最后一行)

%s/关键字/替换字/g                替换全文出现的关键字(%表示1,$即从第一行到最后一行)

%s/关键字//g                           替换全文出现的关键字为空(即删除全文出现的关键字)

L1,L2s/^/#/g                            在L1行到L2行的行首添加#(^表示行首)

L1,L2s/^#//g                            从L1行到L2行,删除以#开头的#号

Number                                         定位到number行的行首

set number                                   显示行号

set nonuber                                  撤销行号

files                                              查看打开的文件

next                                              切换到打开的下一个文件

N                                                  切换到上一个文件

n                                                   切换到下一个文件

first                                                切换到第一个文件

last                                                切换到最后一个文件

查找模式

关键字                                          高亮全文的关键字

n                                                      表示上一个关键字

N                                                     表示下一个关键字

命令模式

Number+G                                   定位到第number行

G                                                     定位到最后一行

gg                                                   定位到第一行

yy                                                    复制当前行

number+yy                                   复制加上当前行的number行(从当前行开始往后数)

p                                                      粘贴到当前行的下一行

dd                                                   删除当前行(实际为剪切)

number+dd                                  删除从当前行开始的number行(实际为剪切)

r+替换字符                                 替换当前的字符

x                                                      删除当前光标所在的字符

六.VIM的功能

块选择(visual Block)

Ctrl+v                                             进入可视块选择

y                                                      复制选择的块

p                                                      粘贴复制的块

多文件编辑

多窗口操作

进入冒号模式,输入sp

Ctrl+w                                          再按下箭头跳转到下一个窗口

Ctrl+ww                                        切换到另一个窗口

可以在~/.vimrc中添加set命令,进行配置vim(如添加行号)

DOS与Linux的断行字符

unix2dos  -k  -n  file1  file2  将file1转换成dos能够读取的file2文件

-k表示不改变修改时间

Linux学习笔记之VIM编辑器的更多相关文章

  1. Linux学习笔记8——VIM编辑器的使用

    在ubuntu中,敲入命令行:sudo apt-get install vim,然后输入系统密码,确认Y,即可下载vim 按下vim,在后面跟上文件的路径,即可进入文件到编辑模式,如果不存在该文件,将 ...

  2. Linux学习笔记之八————vim编辑器常用命令总结

    <1>从命令行模式到插入模式 i  :在光标前插入 a :在光标后插入 I  :在光标所处在的行的行首 A :在光标所处在的行的末尾 o  :在光标所处在的行的下一行 行首 O :在光标所 ...

  3. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  4. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  5. Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库

    今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...

  6. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  7. Linux学习笔记之vim操作指令大全

    0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...

  8. Linux学习笔记:vim

    目录 模式 命令模式 编辑模式 底行模式 .vimrc .viminfo .swap 本文更新于2019-09-05. 说明:下文中,使用{}引起表示自定义变量,根据实际情况填写.使用[]引起表示内容 ...

  9. Linux学习笔记13—Vi编辑器的学习

    文本编辑工具vim.vi1. vim与vi的最大区别是vim编辑的时候是带颜色显示的.Vi不带颜色显示.2. yum install -y vim-enhanced 如果没有安装VIM 使用上面的命令 ...

随机推荐

  1. json和dict 在requests中请求

    上面的问题,在这么晚的夜里解决了 data 接受的是json格式数据, json 接受dict格式点的数据, 这个文章中也讲到了https://www.cnblogs.com/beile/p/1086 ...

  2. thinkphp model

    模型样板 <?php namespace app\model; use think\Db; use think\Model; class Admin extends Model { //表名 p ...

  3. 转载-使用Nodepad++来编辑我们服务器的配置文件

    转自------------------ 作者:李阿昀 来源:CSDN 原文:https://blog.csdn.net/yerenyuan_pku/article/details/73128819 ...

  4. [CF959A]Mahmoud and Ehab and the even-odd game题解

    题意简述 一个数n,Mahmoud珂以取(即如果取\(k\),使\(n = n - k\))一个正偶数,Ehab珂以取一个正奇数,一个人如果不能取了(对于Mahmoud和Ehab \(n = 0\), ...

  5. Nginx 禁止IP访问 只允许域名访问

    今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案: Nginx的默认虚拟主机在用户 ...

  6. php面试专题---17、MySQL的SQL语句编写考点

    php面试专题---17.MySQL的SQL语句编写考点 一.总结 一句话总结: 注意:只写精品 1.MySQL的关联UPDATE语句? 关键UPDATE A,B:UPDATE A,B SET A.c ...

  7. p4593 [TJOI2018]教科书般的亵渎

    分析 我们发现$Ans = \sum_i \sum_j (j-p_i)^{m+1}$ 因此直接套用622f的方法即可 代码 #include<bits/stdc++.h> using na ...

  8. php面向对象的重写与重载

    重写: 就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法. 有以下几点要求: 1.当一个父类和子类有一个方法, ...

  9. 测开之路八十二:匿名函数:lambda表达式

    # 匿名函数:lambda表达式# lambda 参数: 逻辑f = lambda name: print(name)f('tom') f2 = lambda x, y: x + yprint(f2( ...

  10. jenkins持续集成、插件以及凭据

    Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...