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. Mavan学习之pom聚合

    所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...

  2. Storm启动流程分析

    1. 客户端运行storm nimbus时,会调用storm的python脚本,该脚本中为每个命令编写一个方法,每个方法都可以生成一条相应的java命令. 命令格式如下:java -server xx ...

  3. 改变vux样式

    场景:修改 x-header 颜色 解决: 在创建文件路径如下 src/assets/less/theme.less ; 在build/webpack.base.conf.js下添加 这两行即可

  4. Shell语法整理,持续维护

    Shell shell条件表达式: CONDITIONAL EXPRESSIONSConditional expressions are used by the [[ compound command ...

  5. demo:使用数字证书进行数字签名和加密,解密

    下边是一个使用数字证书来进行数字签名(以及验证签名信息),以及非对称加密的一个demo,代码中使用PKCS12类型的keystore(包含私钥)使用JKS或者其他类型的keystore也是可以的,就是 ...

  6. OpenCV获取IP摄像头视频

    从开源中国博客搬来,合并博客 实验室做一个智能小车的小项目,期间涉及到在PC端处理小车摄像头的视频.这里先用安卓手机代替一下进行试验.大致流程就是手机摄像头获取视频,开启一个IP摄像头服务软件,在局域 ...

  7. 23种设计模式之命令模式(Command)

    命令模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化:对请求排队或者记录请求日志,以及支持可撤销的操作.命令模式是对命 ...

  8. MFC创建好的对话框如何移植到新程序中

    1.用文本文件打开需要移植对话框工程中的rc文件 2.在RC文件夹中找到需要移植的对话框内容,然后拷贝到新的工程的rc文件中 3.在原有工程的rsource.h中所有和这个对话框有关的ID都拷贝到新的 ...

  9. 【CF603E】Pastoral Oddities cdq分治+并查集

    [CF603E]Pastoral Oddities 题意:有n个点,依次加入m条边权为$l_i$的无向边,每次加入后询问:当前图是否存在一个生成子图,满足所有点的度数都是奇数.如果有,输出这个生成子图 ...

  10. [转]Android Path里FillType功能

    对于简单的封闭图形(路径无相交的现象),图形的外部和内部和容易判断,但如果路径有相交的情况,对应重叠的部分,使用不同的填充模式,内部和外部的定义有所不同.填充模式可以分为两类: EVEN_ODD 意味 ...