最近在使用ubuntu,对于一个已经熟悉centos下的vi编辑器来说,简直是太变态了,各种不习惯。下面给大家分享下Ubuntu下的vi编辑器详细用法。

Ubuntu中vi文本编辑器的使用

:w !sudo tee % 强制保存命令

此命令是把当前文件(即%)作为stdin传给sudo tee命令来执行。说起来挺绕口,其实就是:用sudo强制保存。有时候在自己机器上折腾的时候需要更改一些系统的conf文件,编辑了半天结果发现vim不是以su打开的,无奈只能不保存退出,重新编辑。有这个命令之后能节省不少误操作带来的事件损耗。

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename….filename :打开多个文件,依次进行编辑

移动光标类命令

h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n:光标移至第n行尾H:光标移至屏幕顶行M:光标移至屏幕中间行L:光标移至屏幕最后行0:(注意是数字零)光标移至当前行首:光标移至第n行尾H:光标移至屏幕顶行M:光标移至屏幕中间行L:光标移至屏幕最后行0:(注意是数字零)光标移至当前行首:光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置

all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息 nomagic:允许在搜索模式中,使用前面不带""的特殊字符 nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:保存当前文件并退出 :q:退出vi :q!:不保存文件并退出vi :!command:执行shell命令command :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command:将命令command的输出结果放到当前行

寄存器操作

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

文章转自:https://www.cnblogs.com/stvadv/p/11658167.html

vb.net中report不显示中文_Ubuntu中vi文本编辑器的使用相关推荐

  1. linux中mysql不显示中文_linux中解决mysql中文乱码方法

    改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据 ...

  2. Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法

    Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法 Eclipse 工具中的操作 流程图片生成的两种方式: 使用 activiti-designer 设计流程图 ...

  3. 基于python中jieba包的中文分词中详细使用(一)

    文章目录 基于python中jieba包的中文分词中详细使用(一) 01.前言 02.jieba的介绍 02.1 What 02.2特点 02.3安装与使用 02.4涉及到的算法 03.主要功能 03 ...

  4. 基于python中jieba包的中文分词中详细使用(二)

    文章目录 基于python中jieba包的中文分词中详细使用(二) 01.前言 02.关键词提取 02.01基于TF-IDF算法的关键词提取 02.02词性标注 02.03并行分词 02.04Toke ...

  5. 基于python中jieba包的中文分词中详细使用

    基于python中jieba包的中文分词中详细使用(一) 01.前言 之前的文章中也是用过一些jieba分词但是基本上都是处于皮毛,现在就现有的python环境中对其官方文档做一些自己的理解以及具体的 ...

  6. ueditor html中使用方法,vue集成百度UEditor富文本编辑器使用教程

    在前端开发的项目中,难免会遇到需要在页面上集成一个富文本编辑器.那么,如果你有这个需求,希望可以帮助到你. vue是前端开发者所追捧的框架,简单易上手,但是基于vue的富文本编辑器大多数太过于精简.于 ...

  7. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  8. oracle11g怎么显示中文,ORACLE11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码

    问题描述: 本地是win7操作系统,cmd里面sqlplus进去连接oracle数据库,中文可以正常显示,但是plsql连接oracle数据库,中文显示乱码,还有xshell远程连接oracle服务器 ...

  9. win10中plt绘图显示中文

    直接在绘图代码中插入以下代码即可  import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['SimHei' ...

最新文章

  1. Android实战技巧之三十七:图片的Base64编解码
  2. 【原创】日志输出到串口设备导致的问题
  3. 如何让神经网络把熊猫识别为秃鹫
  4. MapObjects2自带例子的问题
  5. Parse a document from a String
  6. Linux文件基本操作
  7. 力扣171.Excel表列序号
  8. RaspberryPI 3b 技术总结(包括Linux)
  9. [机器学习、Spark]Spark机器学习库MLlib的概述与数据类型
  10. 上海展盟网络科技有限公司的 gamebox 组件注入进程导致软件崩溃
  11. Win8 无法连接打网络打印机(HP LaserJ1010)
  12. ROC曲线下面积的相关计算和检验
  13. 前端移动端端测试——显示控制台
  14. java int过长_java - 为什么长,不是int否则限制时间超过 - SO中文参考 - www.soinside.com...
  15. 前端开发——Vue 监听组件生命周期
  16. oracle 的concat()函数,Oracle Concat()函数
  17. 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 字符串处理+动态规划 合集!
  18. Excel将多行文本合并一行:phonetic函数
  19. C# 对Excel表格中的数据进行排序
  20. ssm基于Java web 的人人影视网站管理系统毕业设计源码290915

热门文章

  1. ajax渲染数据到页面_爬虫进阶丨Ajax爬取案例实战
  2. illegal base64 character 3a_双11华硕多款产品再送豪礼 高端硬件通吃最新3A大作
  3. 磁盘修复工具TestDisk
  4. java itext word操作_使用JAVA中的Apache POI和iText从Word(DOC)创建PDF
  5. mysql outfile 路径_MySQL load_file()/into outfile路径问题总结
  6. python3基本知识_Python3 - 基础知识、基本了解
  7. arcmap shp导出cad无反应_地图数据获取|2、CAD地图获取
  8. 360修复高危漏洞可以修复吗_360代码卫士助D-LINK修复多个高危漏洞
  9. 卡内基梅隆大学的研究人员提出新的源定位算法: SilenceMap,寻找大脑的静默区域...
  10. tf.metrics.accuracy