本章内容:

  • vi编辑器简介
  • vim基本使用
  • vim使用技巧

一、vim简介

vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版。

二、vim的基本使用

1.vim的工作模式

命令模式:是主要使用快键键的模式,是我们后面的重点。

命令模式想要进如输入模式,可以使用以下方式:

命令 作用
a 在光标所在字符后插入
A 在光标所在行尾插入
i 在光标所在字符前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行

输入模式:主要用于文本编辑,和记事本类似,输入数据就好。

末行模式(编辑模式):

:w  保存不退出

:w  新文件名  把文件另存为新文件

:q  不保存退出

:wq  保存退出

:!  强制

:q!  强制不保存退出,用于修改文件之后,不保存数据退出。

:wq!  强制保存退出,当文件的所有者和root用户,对文件没有写权限的时候,强制写入数据使用

2.命令模式操作

1.移动光标

a.上下左右移动光标

上、下、左、右方向键

h、j、k、l键

b.把光标移动到文件头或尾

gg  移动到文件头

G  移动到文件尾(shitt+g)

c.移动到行首或行尾

^  移动到行首

$  移动到行尾

d.移动到指定行

:n  移动到第几行(这里n是数字,准备移动到第几行,就用哪个数字。)

2.删除或剪切

a.删除字母

x  删除单个字母

nx  删除n个字母

n是数字,如果打算从光标位置删除连续10个字母,可以使用“10x”即可。

b.删除整行或剪切

dd  删除单行

ndd  删除多行

:n1,n2d  删除指定范围的行

删除整行或多行,这是比较常见的删除方法。这里的dd快捷键既是删除,也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切,粘贴方法如下:

p  粘贴到光标后

P(大)  粘贴到光标前

c.从光标所在行删除到文件尾

dG  从光标所在行删除到文件尾

3.复制

yy  复制单行

nyy  复制多行

复制之后的粘贴,仍然可以使用p键和P(大)键

4.撤销

u  撤销

Ctrl+r 反撤销

“u”键能一直撤销到文件打开是的状态,类似Windows下“Ctrl+z”键的作用。

“Ctrl+r”能一直反撤销到最后一次操作的状态,类似Windows下“Ctrl+y”键的作用

5.替换

r  替换光标所在处的字符

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

“r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。

6.vim配置文件

这次末行模式参数设置,多数需要再vim中才能生效。

设置参数 含义

:set nu

:set nonu

显示与取消行号

:syntax on

:syntax off

是否依据语法显示相关的颜色帮助

:set hlsearch

:set nohlsearch

设置是否将查找的字符高亮显示

:set ruler

:set noruler

设置是否显示右下角的状态栏

:set showmode

:set noshowmode

设置是否在左下角显示如“--INSERT--”之类的状态栏

:set list

:set nolist

设置是否显示隐藏字符(Tab键用“I”表示,回车符用“$”表示

7.查找

/查找内容  从光标所在行向下查找

?查找内容  从光标所在行向上查找

n  下一个

N  上一个

8.替换

:1,10s/old/new/g  替换1到10行的所有old为new

:$s/old/new/g  替换整个文件的old为new

三、vim使用技巧

1.在vim中导入其他文件内容或命令结果

a.导入其他文件内容

:r 文件名  把文件内容导入光标位置

可以把其他文件的内容导入到光标所在位置

b.在vim中执行系统命令

:!命令  在vim中执行系统命令

这里只是在vim中执行系统命令,但并不能把系统命令的结果写入到文件中。

主要用于在文本编辑中,查看系统信息,如时间。

c.导入命令结果

:r !命令  在vim中执行系统命令,并把命令结果导入光标所在行

2.设置快捷键

:map 快键键  快键键执行的命令  自定义快键键

3.字符替换

:ab 源字符  替换为字符    字符替换

在vim编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增加输入效率。

4.多文件打开

在vim中可以同时打开两个文件,只有执行如下命令:

vim -o abc bdc

-o:上下分屏,打开两个文件

vim -O abc bcd

-O:左右分屏,打开两个文件

这样可以同时打开两个文件,方便操作。

如果是“-o”上下打开两个文件,可以通过先按“ctrl+w”,再按“上下箭头”的方式在两个文件之间切换。

如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换。

vi和vim的使用的更多相关文章

  1. vi和vim区别及命令详解

    vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适用于coding.     现将vim的命令行收集于下: vi有3个模式:插入模 ...

  2. 【Linux】vi(vim)起步学起来有些困难,一步一步温习

    以Tomcat的配置文件service.xml为例,记录.学习vi的最常用操作. > 什么是vi or vim? [nicchagil@localhost bak]$ man vi VIM() ...

  3. vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记

    vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...

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

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

  5. vi、vim 配置上下左右方向键和删除键

    vi.vim 配置上下左右方向键和删除键 " An example for a vimrc file. " " Maintainer: Bram Moolenaar &l ...

  6. Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products

    Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products NEW VI AND VIM EDITOR KEYBOARD S ...

  7. vi 和vim 的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...

  8. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

  9. Shell命令-文件及内容处理之vi、vim

    文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...

  10. VI和VIM

    linux下vi.VIM命令大全   进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + file ...

随机推荐

  1. nginx反向代理本地 两台web负载均衡 使用ip+端口代理

    环境: 本地外网ip:123.58.251.166 .配置index.html网页 [root@host---- conf.d]# cat /web/sing/index.html <h1> ...

  2. 如何用最快的速度读出大小为10G的文件的行数?弄懂 python 的迭代器

    with open('rm_keys.txt', 'r', encoding = 'utf-8') as f: count = 0 for line in f: 7 count += 1 print( ...

  3. 剑指offer 66. 构建乘积数组(Leetcode 238. Product of Array Except Self)

    剑指offer 66. 构建乘积数组 题目: 给定一个数组A[0, 1, ..., n-1],请构建一个数组B[0, 1, ..., n-1],其中B中的元素B[i] = A[0] * A[1] * ...

  4. 重置fedora root密码

    本方法适用于fedora16(含)以上(使用GRUB2) 步骤如下: Step 1:系统菜单,在linux上按“e”键进行编辑 Step 2:使用上下键找到以字符串“linux”或“linux16”( ...

  5. manjaro 给笔记本安装18.1系统时发现中文变成了方块字

    解决方案: 1.连接网络,wifi/本地连接 2.打开终端 3.同步数据 如果是第一次,我们需要先同步本地数据包,先输入 sudo pacman -Syy 4.安装字体 sudo pacman -S ...

  6. 最新 米哈游java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.米哈游等10家互联网公司的校招Offer,因为某些自身原因最终选择了米哈游.6.7月主要是做系统复习.项目复盘.LeetCo ...

  7. 能力不足的C++开发会欺辱能力不足C#开发

    能力不足的C++开发会欺辱能力不足C#开发 我被C++开发欺辱的岁月   前言 人被压迫了,为什么不斗争?——鲁迅 作为一个C#开发者,我经历了,也见证了很多同行饱受C++开发的歧视和欺辱. 而且,这 ...

  8. java 面试题汇总

    一.Java 基础 1.JDK 和 JRE 有什么区别? JDK是java开发工具包,提供java的开发环境和运行环境.包括编译器.开发工具和更多的类库等.JDK包含了JRE. JRE是java运行环 ...

  9. ubuntu合上笔记本盖子不断网

      原理: 修改systemd-logind服务参数.   做法: 编辑下列文件:sudo gedit /etc/systemd/logind.conf 找到HandleLidSwitch项,并将此项 ...

  10. EMR-LDAP配置

    usersync是负责在配置policy的时候可选用户有ldap里的用户,admin是负责登录webui的 https://cwiki.apache.org/confluence/display/RA ...