一、vi的三种模式和相互切换

1. 一般模式

1) 移动光标

可以用箭头键,Page Up, Page Down, Home,End等按键移动光标

G,移动到档案最后一行

1G,gg,移动到档案第一行

n<space>,右移n位

n<enter>,下移n行

2)搜寻

/word 向下搜

?word 向上搜

n 正向下一个

N 反向下一个

3) 替换

注意下面命令之间不能有空格

:n1,n2s/word1/word2/g  n1行与n2行之间的word1替换为word2

:1,$s/word1/word2/g  第一行和最后一行之间的word1替换为word2

:1,$s/word1/word2/gc  第一行和最后一行之间的word1替换为word2,替代前提示用户确认

4) 删除

x,X, delete键删除

nx 连续删n个字符

dd 删整行

ndd 向下删n行

d1G 删到第一行

dG 删到最后一行

d$ 删到行尾

d0 删到行首

5) 复制

yy 复制行

nyy 向下复制n行

y1G 复制到第一行

yG 复制到最后一行

y$ 复制到行尾

y0 复制到行首

6) 粘贴

p粘贴到下一行

P粘贴到上一行

7) u复原前一个动作

8) ctrl+r 重做上一个动作

9) .重复动作

2. 编辑模式

一般模式按下i,I,o,O,a,A,r,R进入编辑模式

编辑模式按下Esc退出编辑模式进入一般模式

3. 指令列命令模式

输入『 : / ? 』三个中的任何一个按钮,进入命令模式

按下Esc退出命令模式进入一般模式

常用指令

:w 写入

:w! 只读时强制写,丌过,到底能不能写入, 还是跟你对该档案的档案权限有关

:q 离开

:q! 强制离开,不存档

:wq 储存离开

:w filename 另存

:r filename 读入另一个文档

:set nu 显示行号

:set nonu 不显示行号

二、 vim的特点和应用

1. 带色的显示

2. 区块选择

v 字符选择,会将光标经过的地方反白选择!

V 行选择,会将光标经过的行反白选择!

[Ctrl]+v 区块选择,可以用长方形的方式选择资料

y 将反白的地方复制起来

d 将反白的地方删除掉

3. 多档案编辑

:n 编辑下一个档案

:N 编辑上一个档案

:files 列出目前这个 vim 开启的所有档案

4. 多窗口编辑

:sp [filename] 开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。

[ctrl]+w+↓ 光标可移到下方窗口。

[ctrl]+w+↑ 光标可移到上方窗口。

三、vim的配置

建议通过建立~/.vimrc来配置vim操作环境,例如

vim ~/.vimrc "这个档案的双引号 (") 是注释

set hlsearch "高亮度反白

set backspace=2 "可随时用退格键删除

set autoindent "自动缩排

set ruler "可显示最后一行的状态

set showmode "左下角那一行的状态

set nu "可以在每一行的最前面显示行号啦!

set bg=dark "显示不同的底色色调

syntax on "进行语法检验,颜色显示。

Linux学习之六——使用vi和vim的更多相关文章

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

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

  2. Linux学习之十三-vi和vim编辑器及其快捷键

    vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...

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

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

  4. Linux 学习手记(5):使用Vim文本编辑器

    Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...

  5. Linux实操篇 vi和vim编辑器

    vi和vim的基本介绍 所有的Linux系统都会内建vi文本编辑器. vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计.代码补完.编译及错误跳转等 ...

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

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

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

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

  8. Linux学习(十六)VIM

    一.简介 VIM是vi的增强版.VIM是Linux平台上的主要编辑器.基本上所有的文档的新增,修改,保存都需要用到它.所以,掌握VIM是很有必要的. vim的安装非常简单,一条命令就可以了: yum ...

  9. Linux学习之六-Linux系统的基础优化

    Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...

随机推荐

  1. jquery ajax 用 data 和 headers 向 java RESTful 传递参数区别

    jquery 的 ajax 是非常方便的一个函数,记录一下 $.ajax 生成的 http 报文 一.使用 data 传递参数: $.ajax({ url : "webrs/test/add ...

  2. IBatis 配置一对多

    -------说明-------- IBatis 版本2.0 配置一对多 namespace = testDao ------------------ /** *班级的resultMap *Class ...

  3. css样式reset

    初始化样式. @CHARSET "UTF-8"; body,ur,ol,li,p,h1,h2,h3,h4,h5,h6,form,fieldset,table,td,img,div, ...

  4. Orchard源码:Logging

    试着用markdown写些东西.貌似博客园支持的还有问题,代码片段显示错位,还得另外上传图片.还是用普通方法写写随笔好了. Logging相对也是比较松耦合的模块,可以随时提取出来用在自己的项目中.其 ...

  5. OSX cordova+Ionic的安装配置

    0.安装前确定你的系统安装了node和xcode 1.cordova (1)安装cordova npm config set registry http://registry.cnpmjs.org s ...

  6. Android 去掉标题和状态栏 达到全屏显示

    1,正常显示的标题和状态栏的截图. 2,具体代码 @Override protected void onCreate(Bundle savedInstanceState) { super.onCrea ...

  7. Android自定义控件之轮播图控件

    背景 最近要做一个轮播图的效果,网上看了几篇文章,基本上都能找到实现,效果还挺不错,但是在写的时候感觉每次都要单独去重新在Activity里写一堆代码.于是自己封装了一下.本篇轮播图实现原理原文出处: ...

  8. 【原】macbook不睡眠的排查与解决

    这几天突然发现手上的macbook pro笔记本不能睡眠了,就算合上盖子也是如此.有没有进入睡眠可以观察右下角的呼吸灯,如果呼吸灯常亮则说明有问题.所谓“工欲善其事,必先利其器”,攻城狮想敲更多更好的 ...

  9. 如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)

    前言 iOS9系统下 为了我司APP的兼容性问题 特意把手上的iOS Mac XCode都升级到了最新的beta版 然后发现iOS9的多任务管理器风格大变 变成了下面这种样子 我忽然想起来之前的文章提 ...

  10. setSupportActionBar(toolbar)导致程序崩溃闪退

    最近在做一个项目,使用了第三方的开源项目,主要是想实现android5.0之后推出的MaterialDesign的风格,但是代码已经写好了,发现一运行就闪退,所以就开始debug,发现问题出现在 To ...