Linux学习之Vim/Vi使用

Vim/Vi简介
Vim/Vi工作模式
Vim/Vi基本使用
Vim/Vi应用技巧

Vim/Vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。?大多数的linux/unix 发行版本中都
使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下
,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。
vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去
操作文件,更改文件,保存文件,退出并保存文件。 Vim/Vi 没有菜单,只有命令。

  


Vim/Vi工作模式

命令模式:
进入:vi filename
退出::wq 插入模式:
i a o
注意:从插入模式变为命令模式,按ESC键 编辑模式:

命令以回车结束运行
注意:从编辑模式变为命令模式,按ESC键

  

Vim/Vi基本使用

插入命令

命令           作用
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行 定位命令 命令 作用
h 左移一个字符
j 下移一行
k 上移一行
l 下移一个字符
$ 移到行尾
0 移到行首
H 移至屏幕上端
M 移至屏幕中央
L 移至屏幕下端 :set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行 删除命令
命令 作用
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行
ndd 删除光标往下n行
dG 删除光标所在行末尾的内容
D 删除从光标所在处到行尾
:n1,n2d 删除指定范围的行 复制和取消命令
命令 作用
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下或行上 替换和取消命令
命令 作用
r 取代光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u 取消上一部操作 搜索和替换
命令 作用
/string 向前搜索指定字符串 开启搜索时忽略大小写 :set ic 关闭搜索时忽略大小写 :set noic
n 搜索指定字符串的下一个出现位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示
r 取代光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u 取消上一部操作 保存和退出命令
命令 作用
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可忽略文件的只读属性) 注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户

  

Vim/Vi应用技巧

导入文件:r 文件名
在Vi中执行命令:!命令
在Vi中导入执行命令的结果r !命令
定义快捷键:map 快捷键 触发命令
连续行注释
替换
自定义vi使用方式

  

导入文件:r 文件名

可以将其他文件的内容导入到这个编辑的文件中。

在Vi中执行命令:!命令

在Vi中导入执行命令的结果r !命令

 

按一次回车回到编辑文件的界面内

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

范例:
:map ^P I#<ESC>
#这个快捷键的作用,按ctrl+p后光标跳到在本行开始位置,写入#,用来加注释。
:map ^B 0x
#这个快捷键的作用是光标移到行首,删除光标所在处的字符,用来删除注释。
unmap ^p 取消快捷键

  

连续行注释

:n1,n2s/^/#/g
:n1,n2s/#//g
:n1,n2s/^/\/\//g

  

替换

很容易理解,输入一个字符或者字符串,变成另一个字符串。

定义替换:ab sammail sam@www.com
取消ab替换的定义:unab sammail

  

自定义vi使用方式

每一个用户都可以定义自己的vi使用方式,配置文件在每个用户的宿主目录下的/.vimrc。

root  /root
user /home

  

Linux学习之Vim/Vi使用(十三)的更多相关文章

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

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

  2. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  3. Linux学习笔记:vi常用命令

    在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...

  4. linux/linux学习笔记-vim文本编辑器(mooc)

    vim文本编辑器 vim与vi的区别:( vim=vi +IMproved) VIM是一个Unix以及类unix文本编辑器 特点:功能强大,高度可定制 vim编辑器的三种模式:一般模式.编辑模式和命令 ...

  5. Linux学习,Vim以及Vi常用快捷键

    VIM配置文件路径: /etc/vmrc ===> 系统配置文件路径 ~/.vimrc ===> 当前用户配置文件路径 $VIM ===> 与VIM配置文件相关的变量 进入插入模式: ...

  6. Linux学习之六——使用vi和vim

    一.vi的三种模式和相互切换 1. 一般模式 1) 移动光标 可以用箭头键,Page Up, Page Down, Home,End等按键移动光标 G,移动到档案最后一行 1G,gg,移动到档案第一行 ...

  7. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  8. Linux学习4——Vim和Bash

    一.写在前面  本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 ...

  9. linux学习之——vim简明教程

    摘自  http://blog.csdn.net/niushuai666/article/details/7275406 ——————————正文开始—————————— 你想以最快的速度学习人类史上 ...

随机推荐

  1. Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

    1 启动hbase的时候爆出警告 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; suppor ...

  2. java字符串集合

    一,java的接口跟C语言所能做到的相比确实是让人眼前一亮的东西.利用接口可以将多种东西放到一起,在编程过程中就能省略掉相同类的很多重复代码,将代码进行分类别的,统一的处理. 二,java中的字符串处 ...

  3. 课程4:黑马程序员_spring2.5视频教程--视频列表

    \黑马程序员_spring2.5视频教程\01Struts相关基础理论介绍.mp4; \黑马程序员_spring2.5视频教程\02搭建struts开发环境.mp4; \黑马程序员_spring2.5 ...

  4. VGG 参数分析 转

    上面放了一个keras用vgg16训练测试的例子,我也试过用vgg16训练然后测试自己的例子,效果一般,这里我们来分析一下vgg16的网络结果 keras代码如下 def VGG_16(weights ...

  5. ARMV8 datasheet学习笔记5:异常模型

    1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架 ...

  6. 重装系统,出现:Units specified don't exist SHSUCDX can't install

    重装系统,出现:Units specified don't exist SHSUCDX can't install 解决方案1: 首先是你的硬盘分区不对吧 先用PQ格成ntfs或far32 进PE把C ...

  7. yum install oracle-validated

    背景 当时心血来潮要在linux搞oracle,可一顿折腾,大约两个周时间,主要是各种环境的检测麻烦,在redhat上操作也不如centos有利. 命令 yum install oracle-vali ...

  8. 利用excel办公软件快速拼凑sql语句

    日常工作中经常会收到excel整理好的部门或者人员等数据信息并需要批量更新或者插入到数据库中,常用的办法有导入.脚本拼凑执行等,今天我介绍直接使用excel快速拼凑sql语句的方法 1.update批 ...

  9. freeswitch用户整合(使用mysql数据库的用户表)

    转:freeswitch用户整合(使用mysql数据库的用户表) freeswitch是一款强大的voip服务器,可以语音和视频.但是它默认是采用/directory文件夹下的xml来配置用户的,对于 ...

  10. hdu1754splaytree区间查询

    以前用线段树做的题..发现splay好神奇 splay的区间查询就是把那个区间移到两个节点之间进行操作即可,同时每次rotate不要忘记pushup #include<iostream> ...