VIM简介:

Vi有三种基本工作模式

1.命令模式

2.文本输入模式

3. 末行模式

VIM基本操作:

一 . 进入插入模式:

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

o: 向下新开一行,插入行首

O: 向上新开一行,插入行首

二 . 进入命令模式:

ESC:从插入模式或末行模式进入命令模式

三 . 移动光标:

h: 左移     j: 下移    k: 上移     l: 右移

M: 光标移动到中间行

L: 光标移动到屏幕最后一行行首

G: 移动到指定行,行号 -G

w: 向后一次移动一个字    b: 向前一次移动一个字

{: 按段移动,上移                           }: 按段移动,下移

Ctr-d: 向下翻半屏(down)    Ctr-u: 向上翻半屏(up)

Ctr-f: 向下翻一屏(forward)    Ctr-b: 向上翻一屏(backward)

gg: 光标移动文件开头     G: 光标移动到文件末尾

四. 删除命令:

x: 删除光标后一个字符,相当于 Del    X: 删除光标前一个字符,相当于 Backspace

dd: 删除光标所在行,n dd 删除指定的行数    

D: 删除光标后本行所有内容,包含光标所在字符  d0: 删除光标前本行所有内容,不包含光标所在字符  

dw: 删除光标开始位置的,包含光标所在字符

五. 撤销命令:

u: 一步一步撤销

U: 一次性撤销当前行所作的所有操作

Ctr-r: 反撤销

六.重复命令:

: 重复上一次操作的命令

七.文本行移动:

  >>: 文本行右移

  <<: 文本行左移

 八.复制粘贴:

yy: 复制当前行,n yy 复制 n 行

p: 在光标所在位置向下新开辟一行,粘贴

九.可视模式:

v: 按字符移动,选中文本

V: 按移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动

十. 替换操作

r: 替换当前字符      R: 替换当前行光标后的字符

十一. 查找命令:

/ str查找

n: 下一个

N:上一个

十二. 替换命令:

1.把abc全部替换成123

:%s/abc/123/g

2.用户一个个确认是否替换

:%s/abc/123/gc

十三.代码排版:

gg=G: 代码自动缩进排版

 十四.查看宏定义:

[-d: 可以查看宏定义,必须先包含此宏所在的头文件

十五.vim里执行 shell 下命令:

末行模式里输入!,后面跟命令

VIM分屏

一. 分屏操作:在末行模式下

sp: 上下分屏,后可跟文件名

vsp: 左右分屏,后可跟文件名

Ctr+w+w: 在多个窗口切换

二. 启动分屏:

1.使用大写O参数进行垂直分屏

$ vim -On file1 file2 ...

2.使用小写o参数进行水平分屏

$ vim -on file1 file2 ...

注: n是数字,表示分屏的数量,n要大于等于文件个数

大于的部分打开新的文件

??关闭分屏

三.关闭分屏

1.关闭当前窗口

ctrl+w c

2.关闭当前窗口,如果只剩最后一个,则退出vim

ctrl+w q

3.编辑中分屏

上下分割当前打开的文件

ctrl+w s

上下分割,并打开一个新的文件

:sp filename

左右分割当前打开的文件

ctrl+w v

左右分割,并打开一个新的文件

:vsp filename

Linux的基本指令--的更多相关文章

  1. Linux入门50指令

    1, mkdir创建目录 make directory 可以带着路径,在什么位置创建什么目录 如:mkdir /etc/date  在目录etc下创建date目录 重要参数 –p 递归创建,mkdir ...

  2. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

  3. Linux日常使用指令大全

    Linux日常使用指令大全 Java代码 www.ahlinux.com 001.日常维护常用查询命令 #top    显示系统进程 #clear  清理屏幕信息 #cat /etc/redhat-r ...

  4. linux常用系统指令

    [linux常用系统指令] 查看内核版本:cat /proc/version 查看发行版本:cat /etc/issue 通过安装lsb的方式查看发行版本: yum provides */lsb_re ...

  5. 【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  6. (转)Linux系统stat指令用法

    <Linux系统stat指令用法>  原文:https://www.cnblogs.com/linux-super-meng/p/3812695.html stat指令:文件/文件系统的详 ...

  7. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

  8. linux的一些指令

    linux的一些指令 █查看指令參數man 指令,如:man ls ,按q鍵退出 █查看文件列表ls -lht 按時間排序ll 列表ls 列表 目錄cd 目錄名稱 進入路徑cd .. 返回上層路徑 █ ...

  9. Linux - 网络相关指令

    系统时间与开关机 查看系统时间 date 查看硬件日期 hwclock 学习Linux不必全部指令都会,只要记住主要常用的几个就可以了.--MK 关机命令 shutdown init reboot p ...

  10. Linux配置及指令

    目录 Linux配置及指令 一.linux中常用软件的安装 二.主机名和网络 1.修改主机名 2.设置网络 三.关闭防火墙 1.检查防火墙是否开启 2.清除策略 3.永久关闭第一个防火墙 4.关闭第二 ...

随机推荐

  1. jsp的组成和执行过程

    jsp由以下五个组成: Html静态页面 指令:  <%@  xxx  %> 小脚本:<%   xxx   %> 表达式:<% =       %> 声明:  &l ...

  2. 在CodeBlocks上配置OpenGL问题

    问题:出现No such file or directory.之后重建了C++project 仍然出现这个error.嘿 奇了怪了! 原因:前几日写密码学作业,用到NTL库,将编译器路径设置为NTL库 ...

  3. 伪元素:placeholder-shown&&:focus-within

    :placeholder-shown 另外,划重点,这个伪类是仍处于实验室的方案.也就是未纳入标准,当然我们的目的是探寻有意思的 CSS . 当 input 类型标签使用了 placeholder 属 ...

  4. POJ1160 Post Office (四边形不等式优化DP)

    There is a straight highway with villages alongside the highway. The highway is represented as an in ...

  5. Jar包进行反编译,修改后重新打包

    在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar.使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间.有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用 ...

  6. LG5055 【模板】可持久化文艺平衡树

    题意 您需要写一种数据结构,来维护一个序列,其中需要提供以下操作(对于各个以往的历史版本): 在第 pp 个数后插入数 xx . 删除第 pp 个数. 翻转区间 [l,r][l,r],例如原序列是 { ...

  7. 洛谷P3585 [POI2015]PIE

    传送门 题目大意:有个n*m的格子图,要求'x'点要被染成黑色 有个a*b的印章,'x'是可以染色的印章上的点. 要求用印章去染色格子 (1)印章不可以旋转. (2)不能把墨水印到纸外面. (3)纸上 ...

  8. bzoj 2784 时间流逝 —— 树上高斯消元

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2784 其实转移是一棵树,从根到一个点表示一种能量圈状态,当能量值大于 T 是停止,也就是成为 ...

  9. MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1 (转)

    使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8.此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data ...

  10. new JSONObject()报错

    如果缺少下列依赖包会报错: 1.commons-beanutils-1.7.0.jar 2.commons-collections-3.2.1.jar 3.commons-lang-2.3.jar 4 ...