linux vi中^是linux怎么打开vi出来的?

vi命令_Linux vi 命令用法详解:功能强大的纯文本编辑器
当前位置: &
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用&esc&键,从命令模式切换到编辑模式使用&A&、&a&、&O&、&o&、&I&、&i&键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号&:&开头输入。常用内置命令如下:
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,&s/&表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
::在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
: number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;
vi(选项)(参数)
+&行号&:从指定行号的行开始先是文本内容;
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-c&指令&:在完成对第一个文件编辑任务后,执行给出的指令;
-d:以模式打开文件,当多个文件编辑时,显示文件差异部分;
-l:使用lisp模式,打开&lisp&和&showmatch&;
-m:取消写文件功能,重设&&选项;
-M:关闭修改功能;
-n:不实用缓存功能;
-o&文件数目&:指定同时打开指定数目的文件;
-R:以只读方式打开文件;
-s:安静模式,不现实指令的任何错误信息。
文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。
vi编辑器有三种工作方式:命令方式、输入方式和转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。
在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出&报警声&,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。
通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。
由输入方式回到命令方式的办法是按下Esc键。如果已在命令方式下,那么按下Esc键就会发出&嘟嘟&声。为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。
ex转义方式
vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的&转义&命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。例如:
:1,$s/I/i/g 按Enter键
则从文件第一行至文件末尾($)将大写I全部替换成小写i。vi编辑器的三种工作方式之间的转换如图所示。
在Linux命令大全(man.linuxde.net)可以查询您所需要的Linux命令教程和相关实例。如果您觉得本站内容对您有所帮助,请推荐给更多需要帮助的人。首页 & 杂七杂八vi查看空格、制表符等特殊符号 一、背景 在对CTI服务器上的phone_roa_seg.ini文件的号段信息进行更新时。之前都是直接在VI里进行编缉添加的,不过后来发现里面有一些重复的和错误的数据。所以决定从数据库提了下最新的号段的信息对该文件进行更改。于是先用pl/sql 查出结果后,导出为excel里,再由excel中复制到UE中,最后粘到linux文件里。不过更新完后两天,就收到客户大量的投诉信息。提示业务在使用中对固化(不加区号)进行拨打时会转到杭州的号段上。也就是说系统自动给固化呼叫加上了0571的区号。于是就想到了修改的文件上。后来通过使用文件比对发现两个文件不一样。乍一看和改之前的文件并没有什么区别。 后来在十六进制下比对发现:空格符为十六进制下的20,而excle中的制表空格符为19。找到了问题,重新更改,业务进程重新加载后,问题解决。 phone_roa_seg.ini文件格式如下:9
1 二、解决方法 PL/sql导出结果为TSV文件,然后UE编缉,点选“将制表符更换为空格”,OK,完成收工。 后来又想了下,在linux vi下应该也能实现修改。vi删除多余空格:行末:$
行末空格:\s+$
行首空格:^+\s 有些人认为行末的空格是无用,浪费而难看的。要删除这些每行后面多余的空格,可以执行如下命令::%s/\s+$//g 命令前面指明范围是 "%",所以这会作用于整个文件。"substitute" 命令的匹配模式是"\s+$"。这表示行末($)前的一个或者多个(+)空格(s)。后面我们会介绍怎样写这样的模式。替换命令的 "to" 部分是空的:"//"。这样就会删除那些匹配的空白字符。另一种没有用的空格是 Tab 前面的字符。通常这可以删除而不影响格式。但并不是总这样!所以,你最好手工删除它。执行如下命令: /& 你什么都看不见,其实这是一个空格加一个 TAB 键。相当于 "/&Space&&Tab&"。现在,你可以用 "x" 删除多余的空格,并保证格式没有改变。接着你可以用 "n" 找到下一个位置并重复这个操作。命令小结: :set fileformat 设置文件格式 :set endofline 设置文件结束符 :set noendofline 取消文件结束符 :set list 进入List Mode :set nolist 退出List Mode :%s/n//g 删除换行符 :set textwidth 设置行宽 :set textwidth 设置行边距 :join 合并多行 J 合并两行 此外,关于ASCII字符,Linux下面有个简要的介绍:man ascii& ^M 是ascii中的'r'回车符,是16进制的0x0D,8进制的015,十进制的13; 对于换行这个动作,unix下一般只有一个0x0A表示换行 windows下一般都是0x0D和0x0A两个字符。 ^L 是ascii 0x0C 'f', 换页控制符 。 三、如何消除vi中的^M 我刚开始去用sed命令:&sed 's/^M//g' file_old & file_new
执行后查看不成功,输出的文件,用vi打开,还是带^M。 后来到网上搜到了可以用的办法,用tr命令:tr -d "15" & myfile.txt & myfile_new.txt 可以把符号^M(即"15")去掉,并另存为新文件myfile_new.txt 。 四、vim显示空格、tab字符及多行注释& 1、显示 TAB 键& 文件中有 TAB 键的时候,你是看不见的。要把它显示出来: :set list TAB
显示为 ^I,$显示在每行的结尾,表示换行,Vim 可以用高亮显示空格和TAB。& 2、vim 的搜索及替换& 如果没有指定范围,则只在当前行进行搜索替换。 在所有行进行搜索替换。范围符号%表示在所有行进行搜索替换。:%s/from/to/ 就是在全文查找from并替换为to。 在指定的行上进行搜索替换。:1,50s/from/to/ 表示在第1行和第50行之间(包括1和50行)进行搜索和替换。:45s/from/to/ 表示仅仅在第45行进行搜索和替换。而"1,$"行号范围和“%“是等价的。 3、Vim多行缩进技巧& 关键字: vim indent 按v进入visual状态,选择多行,用&或&缩进或缩出 通常根据语言特征使用自动缩进排版: 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。 使用gg=G可对整篇代码进行排版。& vim 多行注释:20,30 s/^/#/g 第20到30行用 # 注释掉。
:20,30 s/^#//g 取消注释
:4,10 s/^[^I ]+// 去掉行首的空白字符 用 . 表示当前行。
:.,30 s/^/#/g 可以看到 vim 命令针对当前行,在前面加个范围就可以针对多行。
:co 12 把当前行 copy 到行 12 的地方。 总结:以后在使用UE编缉此类文件时,自动点选上“显示空格和制表符”及“显示行结尾”。
本站的发展离不开您的资助,金额随意,欢迎来赏!
分类: 杂七杂八 vi
回复 | 引用您可能也喜欢vi用法大汇总 (1)取消vi/vim下的黄色空格 vi命令学习图 (1)捐助本站 如您感觉本博客有用,可扫码捐赠本站!近期文章 vsftpd连接变慢处理 sed进行十六进制替换 bearychat+hubot搭建chatops机器人 分享已经暴露了你的信息 BMC Bladelogic自动化平台安装文章归档 文章归档 选择月份 2018年三月 &(3) 2018年二月 &(2) 2018年一月 &(5) 2017年十二月 &(3) 2017年十一月 &(2) 2017年十月 &(1) 2017年九月 &(5) 2017年八月 &(3) 2017年七月 &(4) 2017年六月 &(2) 2017年五月 &(3) 2017年三月 &(4) 2017年二月 &(6) 2017年一月 &(5) 2016年十二月 &(4) 2016年十一月 &(6) 2016年十月 &(5) 2016年九月 &(5) 2016年八月 &(9) 2016年七月 &(5) 2016年六月 &(10) 2016年五月 &(18) 2016年四月 &(5) 2016年三月 &(4) 2016年二月 &(7) 2016年一月 &(8) 2015年十二月 &(8) 2015年十一月 &(10) 2015年十月 &(17) 2015年九月 &(10) 2015年八月 &(25) 2015年七月 &(11) 2015年六月 &(15) 2015年五月 &(23) 2015年四月 &(14) 2015年三月 &(22) 2015年二月 &(15) 2015年一月 &(24) 2014年十二月 &(14) 2014年十一月 &(16) 2014年十月 &(19) 2014年九月 &(19) 2014年八月 &(18) 2014年七月 &(20) 2014年六月 &(21) 2014年五月 &(24) 2014年四月 &(18) 2014年三月 &(29) 2014年二月 &(22) 2014年一月 &(22) 2013年十二月 &(24) 2013年十一月 &(20) 2013年十月 &(18) 2013年九月 &(16) 2013年八月 &(16) 2013年七月 &(20) 2013年六月 &(21) 2013年五月 &(19) 2013年四月 &(18) 2013年三月 &(24) 2013年二月 &(21) 2013年一月 &(18) 2012年十二月 &(24) 2012年十一月 &(18) 2012年十月 &(17) 2012年九月 &(17) 2012年八月 &(18) 2012年七月 &(26) 2012年六月 &(36) 2012年五月 &(36) 2012年四月 &(28) 2012年三月 &(46) 2012年二月 &(23) 2012年一月 &(16) 2011年十二月 &(27) 2011年十一月 &(59) 2011年十月 &(19) 2011年九月 &(16) 2011年八月 &(46)linux 命令 vi里面set nu 怎么用?_百度知道
linux 命令 vi里面set nu 怎么用?
我有更好的答案
在命令模式下输入:set nu或者:set number都可以为vi设置行号,如果要取消的话,则输入:set nonu行号的设置是vi的环境设置,不会影响文本的内容。
采纳率:43%
请参考,希望能帮到你,就
# vi ~/在VI的命令模式下输入“,后来用得多了也就习惯了.vimrc
在这个文件中,添加
就行了以前我还不适应:set nu”
或者修改vi配置文件“vi ~/.vimrc”,在其中添加“set nu”
在VI的命令模式下输入“:set nu”,就有行号了。
但是想将这个设置写进VI的配置文件。。
在命令行点:键 然后输入set nu 回车 左边就会显示行号
“shift”键+“:”键2.
然后输入 “set nu”3.OK!4.给分我!
在VI的命令模式下输入“:set nu”
或者修改vi配置文件“vi ~/.vimrc”,在其中添加“set nu”
在VI的命令模式下输入“:set nu”,就有行号了。
但是想将这个设置写进VI的配置文件,就
# vi ~/.vimrc
在这个文件中,添加
就行了以前我还不适应,后来用得多了也就习惯了。。。
esc怕esc不好用就多按几次在出现:的时候输入 set nu 回车然后文件上就会显示行号
其他3条回答
为您推荐:
其他类似问题
您可能关注的内容
linux的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客访问: 81255
博文数量: 54
博客积分: 2530
博客等级: 少校
技术积分: 570
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX 03:34:24
 vi/vim&中可以使用&:s&命令来替换字符
  :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/
  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程序。
  。&使用命令: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"&dest
  。&tr&-d&"\015"&dest
  。&strings&A>B
  6.&其它
  利用&:s&命令可以实现字符串的替换。具体的用法包括:
  :s/str1/str2/&用字符串&str2&替换行中首次出现的字符串&str1
  :s/str1/str2/g&用字符串&str2&替换行中所有出现的字符串&str1
  :。,$&s/str1/str2/g&用字符串&str2&替换正文当前行到末尾所有出现的字符串&str1
  :1,$&s/str1/str2/g&用字符串&str2&替换正文中所有出现的字符串&str1
  :g/str1/s//str2/g&功能同上
  从上述替换命令可以看到:g&放在命令末尾,表示对搜索字符串的每次出现进行替换;不加&g,表示只对搜索
  字符串的首次出现进行替换;g&放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
阅读(5386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
请登录后评论。“Linux”系统中“vi ^C ”命令是什么意思?_百度知道
“Linux”系统中“vi ^C ”命令是什么意思?
...、跳动到第一个非空位置 ^,跳动到行尾部$19、跳动到第一个位置 020、分割页面shift+; -&(sp 文件名 或 vs 文件名)10、切换面板ctrl+w(表示进入切换状态)+[h,j,k,l](某一个就行)11、保存 w12、退出 q13、保存退出 wq14、全部退出 qa15、按单词移动 w,e,b16、单行按字符查找 f+字符(;继续 ,上一个)或者t代替f也可以17、撤销 u18.你可以看一下。-------------------------------------------------------------Linux vim 操作快捷键----------------------1、上k下j左h右l2、编辑i、a、s3: K11、查看ascii码值:ga12、设置高亮搜索
set hls8、忽略大小写搜索 set ic9、一次搜索多个 \|
(如:&#47跳动到第一个非空位置 ^下面是我用vim的时候做的笔记.、反向翻页
ctrl+b3、跳到指定行 :1201、视图v 4、正向翻页
ctrl+f2、执行命令 ,重做ctrl+r6;main|&#92、删除区间 10;|swap)10、查看man 、剪切 x,
删除 d5、撤销 u、返回普通模式 esc、ctrl+c, &14:切换到可视化 &、ctrl+[5,p
或者 +y,+p8、切换页面 gt、gT (go tab)9、添加新页 tabnew 页面名7、拷贝 y、半屏翻页
ctrl +d 、 ctrl + u4:6,切换到可视化模式%=13、左右缩进;max&#92、自动排版 光标移动到{位置,16d(删除10~16行内容,%d删除全部内容)7、按括号匹配查找
[[ , ]]21、跳动到代码位置shift + L (尾部), H(gg头部) , M(中部)22..
采纳率:81%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 linux vi打开文件 的文章

 

随机推荐