linux下使用vi操作

linux下使用vi后,怎样跳转到文件结尾

pagedown键连续按
虽然我也这么用,但还是太笨了。问了高手,方法是按shift+g,另外,到文件开头是gg。

linux vi查找命令

div id="article_content" class="article_content">

使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。

这时,使用查找功能尤为重要。

方法如下:  www.2cto.com

1、命令模式下输入“/字符串”,例如“/Section 3”。

2、如果查找下一个,按“n”即可。

要自当前光标位置向上搜索,请使用以下命令:

/pattern Enter

其中,pattern表示要搜索的特定字符序列。

要自当前光标位置向下搜索,请使用以下命令:

?pattern Enter

按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的第一个字符处。
例如,要向上搜索 place一词,请键入:

www.2cto.com

vi 查找替换大全

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令
有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/  www.2cto.com

 

1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

5. 删除文本中的^M

问题描述:对于换行,window下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。  www.2cto.com

· 使用命令:cat filename1 | tr -d “^V^M” > newfile;

· 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。

· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。

· :%s/^M$//g

如果上述方法无用,则正确的解决办法是:

· tr -d "\r" < src >dest

· tr -d "\015" dest

· strings A>B

6. 其它

 

利用 :s 命令可以实现字符串的替换。具体的用法包括:

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

www.2cto.com

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

VI 的保存退出
 
Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。 2.Vi不是排版程序,只是一个纯粹的文本编辑程序。 3.Vi是全屏幕文本编辑器,它没有菜单,只有命令。
4.Vi不是基于窗口的,所以,这个多用途编辑程序可以用于在任何类型的终端上编辑各式各样的文件。
5.Vi的功能十分强大,但是命令繁多,熟练掌握起来有一定难度。 6.Vi的发明者:bill joy 
Vi的启动
 $ Vi  filename  或者$ Vi
如果filename已经存在,Vi会打开现存文件 如果是一个新文件,Vi会创建它 
Vi的退出
在命令行模式下输入:q,:q!,:wq或者:x,可以退出Vi
 :w                  保存
 :w filename         另存为filename
:wq!                保存并退出
:wq! filename       以filename为文件名保存后退出 :q!                 不保存退出
 :x                  保存并退出,功能和:wq!相同 
Vi的工作模式
 Vi有三种工作模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不同的操作,它们之间可以进行切换。 1.命令模式:进入Vi后,首先进入的就是命令模式,等待用户输入编辑命令,此时输入的字母将作为编辑命令来解释。
2.插入模式:在命令模式下输入插入命令i、附加命令a、打开命令o等命令可以进入插入模式,在插入模式下,用户输入可以对文本进行编辑,输入的任何字符都被当作文件内容保存起来。【Esc】键可以返回命令模式。
3.末行模式:在命令模式下,按【:】键可以进入末行模式,Vi光标会显示在窗口的最后一行,以“:”作为末行模式的提示符,等待用户输入命令。末行命令执行后,Vi自动回到命令模式。 
Vi命令大全  1、移动光标
 h或者向左方向键:光标向左移动一个字符  l或者向右方向键:光标向右移动一个字符
 k或者向上方向键:光标向上移动一个字符  j或者向下方向键:光标向下移动一个字符
【Ctrl】+f:屏幕“向下”移动一页,相当于【PageDown】
【Ctrl】+b:屏幕“向上”移动一页,相当于【PageUp】  0:数字0,移动到这一行的最前面一个字符处  $:移动到这一行的最后一个字符处  G:移动到这个文件的最后一行 gg:移动到这个文件的第一行
 n【Enter】:         n是一个数字,光标向下移动n行 
2、搜索与替换
 /str:从光标开始,向下寻找一个名为str的字符串。  ?str:从光标开始,向上寻找一个名为str的字符串。
:n1,n2s/str1/str2/g:n1与n2为数字,在第n1行与n2行之间寻找str1         这个字符串,并将该字符串替换成str2
 
:1,$s/str1/str2/g:从第一行到最后一行寻找str1字符串,并将该字符串替换为str2 
:1,$s/str1/str2/gc:从第一行到最后一行寻找str1字符串,并将该字符串替换为str2,且在替换前提示符给用户确认是否需要替换 
3、删除、复制与粘贴
 x,X:x为向后删除一个字符,X为向前删除一个字符 nx:n为数字,为连续向后删除n个字符
dd:删除光标所在的那一整行
ndd:n为数字,从光标位置开始,删除向下n列,如20dd则是删除20列。 yy:复制光标所在的那一行
nyy:n为数字,复制光标所在的向下n行,如20yy则是复制20行  p,P:p为将复制的数据粘贴到光标的下一行,P则为粘在光标的上一行。  u:复原前一个操作
【Ctrl】+r:重做上一个操作
 .:小数点,重复前一个动作,常用在重复删除、重复粘贴。 
4、插入模式
 i,I:插入:在当前光标所在处插入输入文字,已存在的文字会向后退,其中i为从当前光标所在位置前开始插入,I将光标移到当前行的行首,然后开始插入。 
a,A:a为从当前光标所在的下一个字符开始插入,A为从光标所在行的最后一个字符处开始插入 
o,O:这是英文字母o的大小写,o为在当前光标所在的下一行插入新的一行,O为在当前光标所在处的上一行插入新的一行。
 r,R:替换:r为替换光标所在的那一个字符;R会一直替换光标所在的文字,直到安下【Esc】键为止。 
5、文件操作相关
 :w:保存文件
 :w filename:另存为filename
 :n1,n2 w filename!:将n1行到n2行的内容保存到filename中  :n w filename:将第n行保存到filename中
 :l,. w filename:将从第一行起到光标当前位置的内容保存到        filename中 :.,$ w filename:将从光标当前位置到文件结束的内容保存到                 filename中
 :r filename:打开另外一个文件filename
 :e filename:编辑新文件filename代替原有内容  :f filename:把当前文件改名为filename

时间: 2024-08-25 05:19:04

linux下使用vi操作的相关文章

linux下的安全操作

Linux下的安全操作,使用前要备份 Cd /etc/yum.repos.d/ Ls 改名 cp Centos-Base.repo Centos-Base.repo.ori Ori代表的原始文件 Wget(获取网址下载) :http://...../Centos-Base-163.repo Ls 替换原来的Base Cp CentOS-Base-163.repo CentOS-Base.repo 替换原来的Base Yum grouplist 查看包组,装了那些包 SELINUX是美国安全局对于

Linux下使用vi新建文件保存文件时遇到错误:E212: Can&#39;t open file for writing

出现E212: Can't open file for writing的问题是由于权限问题导致的,解决方法有以下思路: 1.使用root进行登录,然后再操作. 2.在使用命令时,前面加sudo. 3.如果是多级文件夹的文件时,由于这个文件夹没有创建,所以要先创建这个文件夹,再来操作这个文件. Linux下使用vi新建文件保存文件时遇到错误:E212: Can't open file for writing

linux下监控用户操作记录的工具

linux下监控用户操作记录的工具: apt-get install bsdutils mkdir /opt/operation_log chmod 777 -R /opt/operation_log vi /etc/profile exec script -t 2> /opt/operation_log/$USER-$UID-date +%F-%T.data -a -q -f /opt/operation_log/$USER-$UID-date +%F-%T.log :wq source /e

linux下硬盘的操作

linux的磁盘管理:他的目录和磁盘分区相互独立,用挂载相互关联,卸载取消关联. 1.fdisk fdisk -l     用来列出来我们硬盘的分区情况 fdisk /dev/sda 用来管理sda硬盘,比如说增.删等等操作,具体的可以用fdisk -m 来查看命令 2.mkfs 用来格式化分区,或者说是给分区格式化他的文件系统.用命令 ls /sbin/mkfs* 可以查看我们有那些可以使用的文件系统. 比如用命令  mkfs -t ext4 /dev/ext4   就可以给相应的分区make

windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的). 可以使用下面几种方法处理: 1.使用vi的替换功能.启动vi,进入命令模式,输入以下命令: :%s/^M$//g

Linux下使用Python操作MySQL数据库

安装mysql-python 1.下载mysql-python 打开终端: cd /usr/local sudo wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz 官网地址:http://sourceforge.net/projects/mysql-python/ 2.解压 sudo tar -zxvf MySQL-python-1.2.2.tar.gz cd MySQL-

linux 下 osw随操作系统启动而自动启动的标准脚本

linux 下 osw随操作系统启动而启动的标准脚本.osw是指--os watcher,这是一个监控os各项指标的shell脚本.osw的监控数据一般用于oracle技术人员评估os各项资源的使用情况,该使用情况会作为oracle 技术人员评估一些oracle 数据库行为(比如节点驱逐等)的参考依据. [[email protected] ~]$ cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all t

linux下的一些操作(持续更新)

文件操作 创建文件夹: mkdir 文件夹名称 查看当前目录的文件夹及文件:ls 参看当前文件夹下的所有文件及信息: ls -l 删除空文件夹:rmdir 文件夹名称 删除非空文件夹:rm rf 文件夹名称 删除文件:rm 文件名 删除文件夹下所有文件: rm * 修改文件夹及文件名称 mv 文件名 修改后的文件名 新建(打开)一个txt文件:vi  文件名 打开文件夹或目录: cd 目录 系统基本操作 查看日历:cal 查看时间:date 查看运行中的进程:ps aux 查看系统中的每个线程:

LINUX下使用VI

学习鸟哥的LINUX私房菜vi使用 在LINUX上都预装了VI编译器,可以很方便的用来查看和编辑文档.学习vi学习VIM 的基础,vi有很多的命令,需要反复练习记忆使用. 下面是学到的命令以及基本的操作,vi对大小写敏感,操作时应注意. >>mkdir tmp/man.config >>vi tmp/man.config  //此处命令是使用vi打开man.config这个文档,并进入vi的一般模式. 注意的是:vi有三个模式,分别是一般模式,编辑模式,命令模式.其中,打开vi时便