我是靠谱客的博主 感动大象,最近开发中收集的这篇文章主要介绍Linux文本编辑器VIw filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代替序号,例如30,50,w nice ——Windows下的另存为,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://note.youdao.com/noteshare?id=a4ff8e712b172352874c4545f9ebd111&sub=1D099432AC524FE5BB24B27228FC8DDD
ls -r:将排序结果反向输出,例如:原本文件名由小到大,反向则由大到小
VI/VIM概要
VI操作模式
VI命令模式
VI编辑/插入模式
VI底线模式
VI常用操作
VI实例
VI/VIM概述
VI是所有Linux系统都提供的文本编辑器,它提供了一个窗口,通过它可以编辑文本文件

为什么要学习VI/VIM?
面试可能问
有的情况必须用到
提高工作效率(代码开发)
VIM是VI的增强版本支持VI全部的功能
增加命令
增强功能包括颜色标记功能
VI编辑创建文件
在Linux终端中,直接输入vi就可以打开vi工具,这个时候默认的是命令模式
如果vi后面接具体的文件名,表示打开该文件进行查看和编辑
编辑一个已经存在的文件(看底部提示:tets.txt 0L 0C)
编辑一个不存在的文件(看底部提示:tets.txt [New File])—创建
退出vi步骤:
1、ESC
2、:
3、wq(保存退出)或wq!(强制退出并保存)或q(不保存退出)或q!(强制退出不保存):只能小写
4、回车
“tets.txt” [New File]:编辑不存在的文件—新建
“tets.txt” 0L,0C:编辑存在的文件—0行 0字符
VI操作模式
vi可分为三种操作模式,分别是
1、命令模式(command mode)
2、插入模式(Insert mode)
3、底线模式(Last line mode)
三种工作状态,完成不同的任务
命令(Command)模式
刚进入时的缺省状态
此时不可以直接去添加文字
不能用退格删除文字
控制屏幕光标的移动:用光标键上下左右移动
字符的删除、复制、粘贴:dd-删除
进入插入模式:输入i或0
进入底线模式:输入冒号:
echo dfhsdfhref >>test.txt
cat test.txt
插入(Insert)模式
在插入模式下面可以对文件内容进行编辑
插入模式下底部有个- - INSERT - -标记
在命令模式下,可以输入下面的字符进入插入模式
i:插入,从目前光标所在之处插入所输入的字符(光标之前输入)
a:增加,目前光标所在的下一个字符出开始插入字符(光标之后输入)
o:插入新的一行,从行首开始输入文字(新的一行输入)
s:删除当前资源并进入插入模式
插入模式下,按ESC键,切换到命令模式
底线模式
先按Esc键进入命令模式后,在输入冒号:进入底线模式
在底线模式下,可以完成对文件的保存、内容替换、显示格式的设置等工作
三种模式切换
命令模式
vi:先进入命令模式
插入模式
i-:进入插入模式,在当前位置开始编辑
a-:进入插入模式,在下一个字符开始编辑
o-:进入插入模式,新增一行并开始编辑
s:进入插入模式,删除当前资源并开始编辑
Esc:返回命令模式
底线模式
按":":进入底线模式
Esc:返回命令模式
退出vi
按wq(保存并退出)
wq!(强制退出并保存)
q(不保存退出)
q!(强制退出不保存)
插入模式和底线模式不能直接切换,只能先切换到命令模式

命令模式功能—光标移动
使用上下左右光标键:内容少的情况
按G:移动到文件的最后一行行首 shift+g=G
按gg:移动到文件的开头 第一行的行首
按0或^:光标移动到所在行的行首
KaTeX parse error: Expected 'EOF', got '#' at position 591: …set nonu:不显示行号 #̲:#是你要输入的数字,再按回车…s/string/replace/g"会将全文的string字符串取代为replace字符串
或者%s/string/replace/g
1,$表示从第一行到最后一行
s表示替换
g表示每行全部替换
1,20s/string/replace/g:将l至20行间的string替代为replace字符串、

w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代替序号,例如30,50,w nice ——Windows下的另存为

底线模式功能-保存、退出
:w filename(将文件另存为filename)
:wq(保存文件并且退出vi)
:!q(强制退出vi并不保存当前更改的内容)
常用按键

Esc:切回命令模式
wq!:强制退出vi并保存
i:进入插入模式
::进入底线模式
Backspace:输错了,回退删除
光标键:移动光标位置
将50 到100 行之间的『小写man 字符串』改为『大写MAN 字符串』,并且一个一个挑选是否需要修改?
:50,100s/man/MAN/gc 无gc则直接替换

Linux之vi与vim
vi
三种模式:
『一般模式』: 光标
『编辑模式』:i,o,a,r
『指令列命令模式』「:/ ?」

例子:
  1. 请在/tmp 这个目录下建立一个名为vitest 的目录;
  2. 将/etc/man.config复制到本目录底下;
  3. 移动到第58 行,向右移动40 个字符,请问你看到的双引号内是什么目录?
  4. 移动到第一行,并且向下搜寻一下『 bzip2 』这个字符串,请问他在第几行?
  5. 将50 到100 行之间的『小写man 字符串』改为『大写MAN 字符串』,并且一个一个挑选是否需要修改?
  6. 修改完之后,突然反悔了,要全部复原,有哪些方法?
  7. 我要复制65 到73 这九行的内容(含有MANPATH_MAP),并且贴到最后一行之后;
  8. 21 到42 行之间的开头为# 符号的批注数据我不要了,要如何删除?
  9. 将这个档案另存成一个man.test.config 的档名;
  10. 去到第27 行,并且删除15 个字符,结果出现的第一个单字是什么?
  11. 在第一行新增一行,该行内容输入『I am a student…』;
  12. 储存后离开吧!
操作:
  1.『mkdir /tmp/vitest』 『cd /tmp/vitest』
  2.『cp /etc/man.conf .』『vi man.config』『:set nu』
  3.『58G』『40→』
  4.『1G』/『gg』『/bzip2』
  5.『:50,100s/man/MAN/gc 』无gc则直接替换
  6. (1)简单的方法可以一直按『 u 』回复到原始状态,
  (2)使用不储存离开『 :q! 』之后,再重新读取一次该档案;
  7.『65G』 『 9yy 』『 G 』『 p 』
  8.『 21G 』→『 22dd 』
  9.『 :w man.test.config 』
  10.『27G』『 15x 』
  11.先『 1G 』『 O 』『I am a student…』[Esc]
  12.『:wq』

vim
复制:y, 粘贴:p, 删除:d, v:反白选择,V:行选择
[Ctrl]+v 区块选择,用长方形的方式选择资料
文档IP.txt:
192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
192.168.1.5 host5.class.net
192.168.1.6 host6.class.net
192.168.1.7 host7.class.net
192.168.1.8 host8.class.net
例子:
  1. 文档如上,将hostx 全部复制到最后一列
  2. 多档案编辑:前3行复制到另一个文件IP2.txt
  3. 多窗口功能:对照文档前后
操作:
  1. 将光标停在第一行的h,『[Ctrl]+v』光标放在8的位置,『y』,『p』
  2. 『vim IP.txt IP2.txt』 先显示前面的,查看当前的文件用『:file』
    『3yy』『:n』『G』『p』『:q』
  3. 『:sp』后面加文件名则再打开一个,窗口切换『[ctrl]+w』放开后按↓
退出『:q』只能一个个退出

最后

以上就是感动大象为你收集整理的Linux文本编辑器VIw filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代替序号,例如30,50,w nice ——Windows下的另存为的全部内容,希望文章能够帮你解决Linux文本编辑器VIw filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代替序号,例如30,50,w nice ——Windows下的另存为所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部