IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> linux vim/vi 编辑器 -> 正文阅读

[开发工具]linux vim/vi 编辑器

linux vim/vi 编辑器

简介

  • vim/vi 编辑器是linux下常用的文本编辑器,可以编辑、创建任何格式的文件
  • vim对vi的全部功能完全兼容,可以看作vi的升级版,vim有色彩,可以在windows等其他平台
  • 两者都有三种模式,命令模式(不能编辑,输入被视为命令)、插入模式(编辑文本)、底行模式(配置环境、文件操作、调用)
  • vim多了个可视模式, 可视模式中的操作有点像拿鼠标进行操作
  • vi的命令均能在vim上执行。本文以vim为例子

安装vim的命令

sudo apt-get install vim

vim的基本使用命令

vim  ~/txt/aaa.txt  //如果该目录下有aaa.txt则打开文件,没有则创建文件并打开

模式切换

进入vim默认处于命令模式

  • 命令模式----> 插入模式
    - 点击i,a,o,I,A,O 都可从命令模式切换到插入模式,但是每个的作用不同
 i:在当前光标所在字符的前面,转为输入模式;
 a:在当前光标所在字符的后面,转为输入模式;
 o:在当前光标所在行的下方,新建一行,并转为输入模式;
 I:在当前光标所在行的行首,转为输入模式;
 A:在当前光标所在行的行尾,转为输入模式;
 O:在当前光标所在行的上方,新建一行,并转为输入模式;
  • 插入模式 -----> 命令模式
按ESC,即可切换为命令模式
  • 命令模式 <-----> 底行模式
按  :(英文符号) 即可进入底行模式

完成底行命令后,自动返回命令模式

按 ESC,ESC 按两次返回命令模式
  • 底行模式与插入模式之间不可直接切换
  • 命令模式-----> 可视模式
    按v,V,ctrl + v进入
    按ESC退出

底行模式

在命令模式下,按 :进入底行模式

  • 关闭文件操作:
带!表示强制操作 q为退出,w为保存
 :q        退出;
 :q!       不保存强制退出;
 :w        保存;
 :w!       强行保存;
 :wq       保存退出
 :wq!      强制保存并退出
  • 将另外一个文件内容复制到当前文件
:r   /a/bb.txt :填充到当前文件所在光标的后面
  • 替换
n,m s/old/new/g    //用new替换从n到m行里所有的old
%s/old/new/g       //用new替换当前文件里所有的old
%s/abc/123/g       把全文的abc替换成123
1,10s/abc/123/g    把1-10行的abc替换成123

s/old/new//用new替换行中首次出现的old
s/old/new/g        //用new替换行中所有的old

  • 显示配置操作
  1. 行号
  :set    nu        //显示行号
  :set    number    //显示行号
  :set    nonu      //取消行号
  1. 语法
 :syntax    on    //开启语法高亮
 :syntax    off    //关闭语法高亮
  1. 分屏
  :vsp  xxx.x    //开启分屏
  :ctrl+w    //关闭分屏

设置仅仅本次打开有效,若需要永久有效要修改配置文件

  • 移动光标
   .   表示当前行;
   $   最后一行;
   #   第#行;
  +#   向下的#行

命令模式

移动光标

  1. 按字符移动
  h: 左
  l: 右
  j: 下
  k: 上
  #h: 移动#个字符
  1. 按单词移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w: 移动#个单词
  1. 按行移动
本行内:
 0: 绝对行首;
 ^: 行首的第一个非空白字符;
 $: 绝对行尾
 
行间移动
 #G:跳转至第#行;
 gg: 第一行;
 G:最后一行
 n+  向下跳n行
 n-   向上跳n行

 H 当前屏幕第一行
 M 当前屏幕中间
 L 当前屏幕最后一行
 {       移动到上一个代码块
 }       移动到下一个代码块


复制粘贴

复制
yy   复制当前行
nyy   复制当前行以下的n行

粘贴 
p   粘贴在光标后
P(大写) 粘贴在光标前

删除 替换 搜索

x: 删除光标所在处的单个字符(不跨行)
#x: 删除光标所在处及向后的共#个字符;(不跨行)
d$或D:从当前光标处删除至行尾;(不跨行)
d^:从当前光标处删除至行首;(不跨行)
dd: 删除当前光标所在行;(跨行)
#dd: 删除包括当前光标所在行在内的#行;(跨行)
dd相当于剪切操作,如果你dd之后按p或者P可以进行粘贴。(跨行)
r:替换单个字符(按r后按一个字符,将原本光标下的字符替换为新输入的字符)
R:替换多个字符(相当于重复按r,直至你退出到正常模式(按ESC退出))



/cs    //向光标下搜索cs字符串
?csi    //向光标上搜索csi字符串
n         //向下搜索前一个搜素动作
N         //向上搜索前一个搜索动作

撤销

u:撤消前一次的编辑操作;
#u:直接撤消最近#次编辑操作;

ctrl+r       反撤销(撤销u操作)

快捷键

Ctrl+f 向下翻一屏;
Ctrl+b 向上翻一屏;
Ctrl+d 向下翻半屏;
Ctrl+u 向上翻半屏

插入模式

写入文本

修改配置文件

 vim   ~/.vimrc:修改当前用户的vim配置文件
 sudo vim    /etc/vimrc:修改所有用户的vim配置文件
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:48:38  更:2021-07-11 16:49:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 15:24:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码