Linux入门之VIM快捷使用

简介:

文本编辑器,字处理器,类似nano 字符全屏编辑器,而sed 为行编辑器

来源:

vi : Visual Interface

vim: VI iMprpbed    (vi的增强版)

全屏编辑器,模式编辑器

vim模式:

1、编辑模式(命令模式)

2、输入模式

3、末行模式

模式转换:

1、编辑-->输出:

i:在当前关标所在字符的前面,转为输入模式

a: 在当前关标所在字符的后面,转为输入模式

o: 在当前关标所在字符的下方,新建一行,并转为输入模式

I: 在当前光标所在行的行首,转换为输入模式

A: 在当前关标所在行的行尾,转换为输入模式

O: 在当前光标所在字符的上方,新建一行,并转为输入模式

2、输入-->编辑

按ESC

3、编辑-->末行

在编辑模式下输入:符号

4、末行-->编辑

按一次或多次ESC, ESC+(比如末行模式中输入的有字符就需要按2次)

注意:输入到末行模式之间不能直接转换,末行模式下想执行命令可以使用

在末行模式下执行命令后再回到编辑模式,输入!后跟想要输入的命令

![command]

如 :!ls -l

也可以把命令结果追加到当前行后

:r![command]

例如: :r!ls -R /etc/*  将文件列表输出的结果追加到当前文件中

一、打开文件

vim /path/to/somefile  打开单个文件

如果文件存在为打开,否则保存退出时为新建

vim /path/to/somefile

vim +# : 打开文件,光标定位到自定行行首

vim +  : 打开文件,光标定位到最后一行行首

vim +/PATTERN : 打开文件,定位第一次被PATTERN匹配的行的行首

例如: vim +12 /test/inittab  打开文件并定位到第12行

注意: 文件打开默认处于编辑模式

二、关闭文件

1、末行模式关闭文件

:q   退出

:wq  保存并退出

:q!  不保存退出

:w   保存

:w! --> :x  强行保存 (对于只读文件一般管理员才有权限)

2、编辑模式下退出

ZZ   保存并退出

ZQ   不保存退出

3、末行模式

:/w /path/to/file  保存到指定路径

三、移动关标(编辑模式)

1、逐字符移动:

h: 左

l: 右

j: 下

k: 上

#h: 想左移动#个字符(#表示移动指定数目的字符)

2、以单词我I单位进行移动

w: 移至下一个单词的词首

e: 跳至当前或下一个单词的词尾

b: 跳至当前或前一个单词的词首

执行命令之前可以输入指定数字表示需要执行几次命令,例如:

#w #e #b

3w:向后移动到第3个词首

3、行类跳转:

0: 绝对字符

^: 行首的第一个非空白字符

$: 绝对行尾

H:当前屏幕的第一行行首

L:当前屏幕最后一行行首

4、行间跳转

编辑模式

#G: 跳转至第#行

G : 最行一行

gg:与 1G 作用相同,相当于行首

末行模式下,直接输入行号

比如 :10  (跳至第10行)

四、翻屏

Ctrl+f: 向下翻一屏

Ctrl+b: 向上翻一屏   before

Ctrl+d: 向下翻半屏   down

Ctrl+u: 向上翻一屏   up

五、删除单个字符

x:  删除出光标所在处的单个字符

#x: 删除光标所在处及向后的共#个字符

六、删除命令 d

命令模式下:

d命令跟跳转符号

#d跳转符:删除光标所在跳出范围共#个

#dw, #de, #db

dd:删除当前光标所在行s

#dd: 删除包含当前光标所在行内的#行

末行模式下:

StarADD,EndADDd

#,#d:删除从第几行到第几行

.d: 表示当前行

$d: 最后一行

+#d: 向下的#行

注意:删除的内容会包含在缓冲区中,可以通过撤销

七、粘贴命令 p

p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴贴至光标所在字符的后面

P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

八、复制命令 y

y命令跟跳转符号

#y[跳转符]:复制光标所在跳出范围共#个

#dw, #de, #db

yy:复制当前光标所在行

#yy: 复制包含当前光标所在行内和往下的#行

九、修改:先删除内容,再转换为输入模式

c : 同d命令

十、替换:r

r: 替换单个字符

R: 替换模式,可以对一行来替换

十一、撤销编辑操作 u

命令模式下

u: 撤销前一次的编辑操作

连续u命令可以撤销此前的n次操作

#u: 直接撤销前#次编辑操作

撤销最近一次的撤销:Ctrl+r

十二、重复前一次的编辑操作

命令模式下按 .

十三、可视化模式

v: 按字符选取

V: 按矩形选区

十四、查找

命令模式下

/PATTERN

?PATTERN

n

N

PATTERN:支持正则表达式

十五、查找并替换

在末行模式下使用命令

ADDR1,ADDR2s@PATTERN@string@gi

1,$:第一行到最后一行

%: 表示全文

提示:类似sed 命令,但是必须指定行号

十六、使用vim编辑多个文件

vim FILE1 FILE2 FILE3...

末行模式下:

文件切换

:next   切换至下一个文件

:prev   切换至上一个文件

:last   切换至最后一个文件

:first  切换至第一个文件

退出

:qa   全部退出

:wqa  保存全部并退出

:wq   保存全部

十七、如何分屏显示一个文件

窗口拆分

编辑模式下

Ctrl+w,s: 水平拆分窗口

Ctrl+w,v: 垂直拆分差窗口

窗口之间切换

Ctrl+w, ARROW(↑↓←→)

末行模式下:

:qa 关闭所有窗口

十八、如何分屏显示多个文件

vim -o file1 file2 水平分割显示

vim -O file1 file2 垂直分割显示

文件切换

:first

:wall

:wqall

:qall

注意:分屏显示多个文件和单个文件可以配合使用

十九、将当前文件中部分内容另存为另外一个文件

:w

:ADDR1,ADDR2w /path/to/somewhere

二十、将另外一个文件的内容填充在当前文件中

:r /path/to/somefile

二十一、跟shell交互

:! COMMAND  执行结果后返回编辑器

:r!COMMAND  将执行结果内容追加到当前行后

二十二、环境设置(只能末行模式)

1、显示或取消显示行号

:set number

:set nu

:set nonu

2、设定vim忽略或区分字符大小写

:set ignorecase

:set ic

:set noic

3、设定自动缩进

:set autoindent

:set ai

:set noai

4、查找到的文本高亮显示或取消

:set hlsearch

:set nohlsearch

5、语法高亮

:syntax on

:syntax off

5、查看所有环境指令

:set all

二十三、配置文件

/etc/vimrc   全局

~/.vimrc    局部  如果没有,可以手动创建

用于练习和说明:

vimtutor帮助文档

vimtutor

额外部分:

编辑二进制文件

以二进制方式打开文件

vim –b binaryfile

扩展命令模式下,利用xxd命令转换为可读的十六进制

:%!xxd

编辑二进制文件

扩展命令模式下,利用xxd命令转换回二进制

:%!xxd –r

保存退出

转载于:https://blog.51cto.com/mengzhaofu/1836523

Linux入门之VIM快捷使用相关推荐

  1. Linux入门-1.vim格式设置

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc. 在启动vim时,当前用户 ...

  2. linux vim配置c,Linux入门学习教程:GNU C及将Vim打造成C/C++的半自动化IDE

    C语言在Linux系统中的重要性自然是无与伦比.不可替代,所以我写Linux江湖系列不可能不提C语言.C语言是我的启蒙语言,感谢C语言带领我进入了程序世界.虽然现在不靠它吃饭,但是仍免不了经常和它打交 ...

  3. linux下的vim使用教程!从零基础到入门!

    linux下的vim使用教程!从零基础到入门! 文章目录 linux下的vim使用教程!从零基础到入门! vim的介绍! vim的模式介绍! vim三种模式的关系! vim的基本操作! vim的退出! ...

  4. Linux入门教程——VI/VIM 编辑器

    前言 本文小新为大家带来 Linux入门教程--VI/VIM 编辑器 相关知识,具体内容包括VI/VIM是什么,VIM的三种工作模式介绍,包括:一般模式,编辑模式,指令模式,以及模式间转换等进行详尽介 ...

  5. Linux中vim中gg的英文全拼,计算机科学研究专家陶贤斌带您入门Linux中的vim

    原标题:计算机科学研究专家陶贤斌带您入门Linux中的vim Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性.Vim 是 UNIX 文本编 ...

  6. Linux 入门到放弃

    Linux 入门到放弃 第一章 Linux系统基本概念及命令用法 1.多用户的系统:允许同时有很多个用户登录系统,使用系统里的资源 2.多任务的系统:允许同时执行多个任务 3.严格区分大小写:命令,选 ...

  7. linux 入门-1

    刚开始接触linux,总有些简单的问题不知道怎么搞定,先将目前汇总的解决方法叫做"linux入门-1",后续在使用过程中逐步总结. 1. 连接 ADSL : sudo pon ds ...

  8. Linux入门第二弹!Xshell、Xftp、tomcat的Linux版本、双X的教学资源!

    Linux入门第二弹!Xshell.Xftp.tomcat的Linux版本.双X的教学资源! 我们可以通过Xshell和Xftp进行简单的,远程连接Linux系统.并且可以使用图形化界面快捷的进行文件 ...

  9. linux 入门教程

    linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统 ...

最新文章

  1. 计算 sigmoid 函数的导数
  2. Python基础知识梳理(一)
  3. github 下载单个文件夹_从Github上下载单个文件夹的快速方式
  4. Android开发中常用的注释图案
  5. 超过1w的Github Star大佬和他们的公众号,太强了!
  6. CF1478A - Nezzar and Colorful Ball(数学)
  7. 更多 Kinect for Windows 项目揭示
  8. linux h5 动画软件下载,技术|7款绚丽的jQuery/HTML5动画及源码
  9. hashcode、equals
  10. Shell编程:简洁的 Bash Programming 技巧(三)
  11. [转]异步性能:了解 Async 和 Await 的成本
  12. 第二阶段冲刺 第四天
  13. Dorado Debugger工具
  14. 88.合并两个有序数组
  15. 软件测试工程师经典面试题
  16. centos 7.6上面安装向日葵远程连接软件
  17. Self-Supervised Vision Transformers with DINO-代码研读
  18. 启发式算法之蚁群算法
  19. ue4网格转地形_【魔改UE4】Rtx实时焦散的一次尝试
  20. 机器学习 面试题-第二章 线性模型(大厂必问,历经半年整理)

热门文章

  1. 10 款最新的 jQuery 内容滑块插件
  2. 《Linux KVM虚拟化架构实战指南》——第1章 KVM虚拟化概述 1.1XEN虚拟化介绍
  3. jsp中实现文件下载   两种方法
  4. [NHibernate]一对多关系(级联删除,级联添加)
  5. python 字符串分割
  6. POJ-1050(DP)
  7. 免费送《你的知识需要管理》签名书活动,秒杀
  8. python实现get请求 模块_python爬虫 基于requests模块发起ajax的get请求实现解析
  9. pythonfor循环语句例子_Python for循环学习总结
  10. android Activity的Task Affinity lanchMode