Vim 是vi的加强

Gvim图形化的vim

Vim/Vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,他们 的作用是建立,编辑,显示文本文件

Vim/Vi没有菜单,只有命令

本节介绍的Vim/vi主要作用在查看修改一些配置文件,或编写自己得脚本。

Vim/Vi工作模式

进入时是命令模式,按下的东西都是命令,按i,a,o进入插入模式,按esc回到命令模式

:加上命令就是编辑模式,执行完之后自动回到命令模式。

插入命令

命令       作用

a          在光标后附加文本

A          在本行行末附加文本

i           在光标前插入文本

I           在本行开始出插入文本

o           在光标下插入新行

O          在光标上插入新行

定位命令

命令                    作用

h,方向左键             左移一个字符

j,方向下键              下移一行

k,方向上键             上移一行

l,方向右键              右移一个字符

$                        移至行尾

0                       移至行首

H                       移至屏幕上端

L                        移至屏幕下端

M                      移至屏幕中间

定位命令

命令                作用

:set  nu            设置行号

:set  nonu          取消行号

gg                   到第一行

G                    到最后一行

nG                   到第nhang

:n                  到第n行

删除命令

命令                 作用

x                    删除光标所在处的字符

nx                   删除光标所在处后的n个字符

dd                   删除光标所在的行,ndd删除n行

dG                   删除光标所在行到末尾的内容

D                    删除从光标所在处到行尾

:n1 ,n2 d           删除指定范围的行

复制和剪切命令

命令         作用

yy,Y          复制当前行

nyy,nY        复制当前行以下n行

dd           剪切当前行

ndd          剪切当前行以下n行

p,P          粘贴在当前光标所在行下或行上

替换和取消命令

命令         作用

r             取代光标所在处字符,按r再键入字符便可替换

R             从光标所在处替换字符,按ESC结束

u             取消上一步操作

搜索和替换命令

命令               作用

/string              向前搜索指定字符串,搜索时忽略大小写:set  ic ,不忽略:set noic

n                  搜索指定字符串的下一个出现位置N从后往前找

:%s/old/new/g      全文替换指定字符串

:n1,n2s/old/new/g   在一定范围内替换指定字符串

将g换成c则会询问y(替换光标当前)n(不替换)a(替换所有)q(退出)

:wq  保存退出

ZZ=:wq   都是保存退出

只有文件的所有者和管理员root可以对文件进行强行保存退出:wq!。及时没有写权限。

Linux下要注意特殊的用户root,很多规则限定对管理员root都是无效的。

不保存退出 :q!

:w保存

:w  文件  写入某文件

应用实例

在打开的文件中导入已存在的文件:  :r    文件名

在Vi中执行命令:                    :! 命令

在用Vi编辑文件时通常要留下注释,版权信息等等

:r 和 :! 可以同时使用

:r  !date              将当前系统时间导入文件,就是导入命令的结果

shell脚本,linux配置文件#代表注释

定义快捷键:map  快捷键  触发命令

范例: :map  ^p I#<ESC>       ctrl+p行首加#

:map  ^B 0x

^  ctrl+v ctrl+p   ctrl+v+p  p改变  v不变

:map ^B 0x           ctrl+B 删除本行首字符

:map ^E i1759471147@qq.com  ctrl+E 在光标前插入1759471147@qq.com

连续行注释:  :n1,n2s/^/#/g        ^表示行首,添加的符号为#

:n1,n2s /#//g            将n1-n2的#替换为空

:n1,n2/^#//g   将n1-n2的行首的#替换为空

:n1,n2s/^/\/\//g  有些语言的注释是//,而/是分隔符,此时需使用到转义字符\,意为使用命令或符号的本身含义。

替换命令:

实例:

:ab:  mymail  1759471147@qq.com

输入mymail后按回车或空格会自动替换成1759471147@qq.com

:unab mymail 取消定义

:unmap ^P    取消快捷键定义

若要想使这些配置永久有效,则需要编辑vi的配置文件。

在linux下每一个用户都有一个宿主目录,也称之为家目录.用波浪号代表宿主目录。

~ /home/用户名   ~  /root

如果创建一个新用户,则缺省创建一个宿主目录,默认是在 /home/用户名.

而root 是在/root下。

而vim的配置文件是在用户宿主目录下的.vimrc

vi  /root/.vimrc

vi  ~/.vimrc

可以再里边写入快捷键,一些设置。以后再打开文件是有效的。

:可以不加。

知识点总结:

Vim/Vi工作模式  如何切换,命令属于那种模式

Vim/Vi基本使用

插入,定位,删除,复制,剪切,替换

取消,搜索,保存,退出

Vim/Vi应用技巧

练习:

熟悉Vim/vi工作模式切换

熟悉Vim/Vi常用操作

练习Vim/Vi定义快捷键,连续行操作,导入命令执行结果等技巧

设定Vim/Vi配置文件

Vim/Vi的使用的更多相关文章

  1. 文本编辑器VIM/VI

    vim/vi  功能强大全屏文本编辑器.主要是建立,编辑,显示文本. www.vim.org  构建shell脚本 :set number 使文件出现行号 a 光标后附件文件     i在光标前插入文 ...

  2. (四)文本编辑器Vim/Vi

    目录 前言 常用命令 扩展应用 总结 本系列先前的随笔位于新浪博客 前言 Vi和Vim都是文本编辑器,不同的是Vim是Vi的升级版本,它不仅兼容Vi的所有指令,而且还有一些新的特性在里面. Vim/V ...

  3. Vim/Vi实用技巧(第二版)

    Vim/Vi实用技巧 1.导入文件 :r [文件名] #导入到当前编辑的文件中 如 :r /etc/inittab 文件上部为/etc/services文件,下部为/etc/inittab文件 2.执 ...

  4. Vim/Vi常用操作(第二版)

    周围同事不是用vim就是Emacs,你要是用一ultraedit,你都不好意思跟人家打招呼;什么插件呀,语法高亮呀,拼写检查呀,能给它开的都给它开着,就是一个字儿:酷. 你说这么牛B一东西,怎么着学会 ...

  5. Linux学习之Vim/Vi使用(十三)

    Linux学习之Vim/Vi使用 Vim/Vi简介 Vim/Vi工作模式 Vim/Vi基本使用 Vim/Vi应用技巧 Vim/Vi简介 Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UN ...

  6. Linux——vim/vi 简单学习笔记

    Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.Vim/Vi 没有菜单,只有命令. 早前也用过Vim变过C++/C的代码, ...

  7. vim/vi 命令详解

    在工作中,要对服务器上的文件进行的修改,可以使用ssh远程登录到服务器上,并且使用vi进行快速的编辑即可,在没有图形界面的环境下,要编辑文件,vi是最佳选择! vi命令是Linux中最经典的文本编辑器 ...

  8. linux vim vi编辑时撤销输入操作

    linux vim vi编辑时撤销输入操作 1,esc退出输入状态 2,u 撤销上次操作 3,ctrl+r 恢复撤销

  9. (转)vim(vi)常用操作及记忆方法

    vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...

随机推荐

  1. 原生js--cookie操作的封装

    封装cookie的操作:查询cookie个数.查询所有cookie的键.获取cookie.设置cookie.删除cookie.清除全部cookie /** * cookieStorage */func ...

  2. Android进程和线程(Android开发指南--译)

    (转自:http://www.cnblogs.com/xitang/archive/2011/09/24/2189460.html) Processes and Threads 译者署名: 呆呆大虾 ...

  3. [Offer收割]编程练习赛15 A.偶像的条件[贪心]

    #1514 : 偶像的条件 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的学校正面临着废校的大危机.面对学校的危机,小Hi同学们决定从ABC三个班中各挑出一名同 ...

  4. Centos 7.x临时的网络与路由配置

    今天在虚拟机上安装了Centos 7.1操作系统,使用的最小化安装,安装完成后准备使用ifconfig命令时,发现命令不存在,如下: 心想肯定是新版的Centos 系统默认情况下没有使用ifconfi ...

  5. ssh连接超时时间(ssh timeout)的设置方法

    问题:当某台远程主机宕机时,ssh远程过去会耗费很多的时间去连接,结果还是会失败. 这个时候可以设置超时时间 ssh -o ConnectTimeout= 192.168.0.10

  6. php无限极分类递归与普通

    1. 递归 public function getInfo(){$data=$this->select();$arr=$this->noLimit($data,$f_id=0,$level ...

  7. Context对象还提供了相应的属性来调整线条及填充风格

    创建一个Canvas画布的方法如下: 复制代码 代码如下: <canvas id=”canvas” width=”600” height=”400”></canvas> 可以在 ...

  8. 伪随机数生成算法-梅森旋转(Mersenne Twister/MT)

    今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法, 平方取中法等等.但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质 ...

  9. NLP-python 自然语言处理01

    # -*- coding: utf-8 -*- """ Created on Wed Sep 6 22:21:09 2017 @author: Administrator ...

  10. CCCC L2-005. 集合相似度

    https://www.patest.cn/contests/gplt/L2-005 题解:直接set的count函数 坑 :要用容斥原理算两个集合的并,否则超时.(我还以为要打表呢) #includ ...